2011-08-05 107 views
0

這是我遇到的問題,我發現它很奇怪。 我想獲取在if語句中網頁開始處聲明的值。但是,我得到一個空值。值不會傳入if語句if

當我使用echo打印出if語句之前和if語句之後的值時,打印出該值。但是當我在IF語句中回顯它時,它是空的。

下面是我如何申報的價格,並在這裏我想用它

<?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。 $ id包含IF語句前後的值。但不在IF聲明中。

任何想法爲什麼發生這種情況?

+0

確保你沒有在代碼的其他地方設置'$ id'的值。 – js1568

+0

這不是很明顯什麼是錯的。請粘貼'update_event'函數。 – cdhowie

+1

是$ id在需要/包含的其他文件中沒有打印出來的部分嗎? – blejzz

回答

0

$ id包含IF語句前後的值。但不在IF聲明中。

您確定if語句返回true並且內部代碼正在執行嗎?

此外,請務必使用var_dump而不是echo調試$id,回聲不會顯示的結果,如果$idnull

0

確保變量訪問使用 - > $ GLOBALS

試這

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

安全方面,不建議使用Globals。 – Mob

+0

感謝您的所有回覆, 到jernej $ id不會打印在同一個文件中。我上面給出的引用都在同一個文件中。我能夠訪問update_event。但值$ id不是通過。我展示宣言的地方是唯一宣佈的地方。不過,我確實在代碼中的其他地方使用了$ id。但我已經測試過,即使在那之後,價值仍然被打印出來。 到brian_d我確實使用了var_dump。它在IF語句中包含空值。但在IF語句之外,該值不爲空 – kurapica

0

我發現什麼是錯的。
問題是我試圖訪問的價值再次提交,這實際上會使價值NULL。我使用<input type='hidden'>再次傳遞值。