2011-08-05 13 views
0

これは私が奇妙なことを見つけたときに遭遇した問題です。 ifステートメントでWebページの先頭に宣言された値を取得しようとしています。しかし、私は代わりに空の値を取得します。値がPHPのif文に渡されない

私は、if文の前とif文の後に値を表示するためにechoを使うと、その値が出力されます。しかし、私はそれをIF文でエコーすると、それは空です。以下は

は私が価値と私はIDに基づいてテーブルを更新するためにそれを必要とそれ

<?php 
    $id=$_POST['eventID']; 
    ?> 
    <html> 
    <body> 
    //some codes here.. 
    <?php 
     if($edit_counter==6) 
     {update_event($sdate,$edate,$stime,$etime,$event,$venue,$id);} 
    ?> 

使用したい場所を宣言した方法です。しかし、私は$ idを渡すように見えないいくつかの奇妙な理由のために。 $ idにはIF文の前後に値が入ります。 IF文の中ではない。

これはどうして起こりますか?

+0

コードのどこかに '$ id'の値を設定していないことを確認してください。 – js1568

+0

何が間違っているのがすぐに分かりません。 'update_event'関数を貼り付けてください。 – cdhowie

+1

は、$ idが必須/含まれる他のファイルにプリントアウトされない部分ですか? – blejzz

答えて

0

$ idには、IF文の前後に値が入ります。 IF文の中ではない。

ifステートメントがtrueを返し、内部コードが実行されていますか?また

$idnull

0

変数を使用してアクセスであることを確認している場合は、エコーが、結果は表示されませんよう、$idをデバッグするvar_dumpの代わりechoを使用してください - > $ GLOBALS

試してみますこの

<?php 
    if($edit_counter==6){ 
     $GLOBALS $id; 
     update_event($sdate,$edate,$stime,$etime,$event,$venue,$id); 
    } 
?> 
+0

グローバルを使用することは、セキュリティ上の理由ではお勧めできません。 – Mob

+0

すべてのurの返信ありがとう、 へのjernej $ idは同じファイルの中には表示されません。上記の引用符はすべて同じファイルにあります。私はupdate_eventにアクセスすることができます。値$ idは合格ではありません。私が宣言を示す場所は宣言されている唯一の場所です。しかし、私はコードのどこか他の$ idを使用しました。しかし、私はそれでも、値がまだ印刷されることをテストしました。 to brian_d私はvar_dumpを使用しました。 IF文の中にヌル値が入っています。 IF文の外側では、値はnullではありません – kurapica

0

私は何が間違っているかを知りました。
問題は、私がの値にアクセスしようとしていたことです。が実際に値を返します。NULLです。

<input type='hidden'>を使用して再度値を渡しました。

関連する問題