2011-09-23 5 views
0

私は私のプログラムで問題と思われるものに関連する前に質問をしましたが、私の前提では間違っていました。そうではありませんが、これは同じ質問の繰り返しではありません。値が送信されていないためにinclude()を使用していると思っていましたが、デバッグを行うとifステートメントの直後に変数の値が失われていました(問題の変数は$ unです):プログラム終了時のPHPの可変損失

if(trim($un) != '' && trim($pw) != '' && $password == $pw) 
{ 

    include "problem.html"; 

} 

if文はPHPファイルの最後にありますが、別のファイルにこのファイルの変数が必要です。私はこれについてどうやって行くのですか?この上

+0

"if文の直後に変数の値が失われていました":if文の直前と直後に 'echo $ un'を入れてみましたか? – Anson

+0

後で要求からアクセスできるように変数を保存する必要はありますか?変数がグローバルであれば、それは別のファイルで利用できますが、最初にそのファイルで定義する必要があります。多分あなたは[セッション](http://php.net/sessions) – drew010

+0

が必要です。私はそれをエコーし​​ました。後でない。 – Sam

答えて

0

こんにちはを使用してサム、

少なくとも2つの方法があります。セッションまたはparams。私はあなたに相手方にあなたのvarを取得する2つの方法をあなたに説明します。 :0

if(trim($un) != '' && trim($pw) != '' && $password == $pw) 
{ 

    # Start a new session 
    session_start(); 
    $_SESSION['UN'] = $un; 

    # include the other page 
    include "problem.html"; // change your page to php extension 

} 
は変更

あなたproblem.html

P problem.phにし、その結果

echo $_SESSION['UN']; 
を今、あなたのセッションを呼び出すファイル

session_start(); 

の初めにこの行を追加してご覧ください

終了時にこれを使用セッション var、ちょうどunset()関数を使用してそれを解除します。

私はこれがあなたを助けてくれることを願っています。

関連する問題