2015-01-21 270 views
-1

我得到錯誤未定義變量錯誤。我在這裏試過isset,但也許我的代碼是錯誤的。「未定義變量」錯誤

if(err ==1) 
{ 
     $record = $_POST; 
     foreach($record as $key=$val) $record[$key] = stripslashes($val); 
     $msg ="Please fill the empty field"; 
} 
+0

下次嘗試使用更具描述性的標題;) – Matheno 2015-01-21 11:57:47

+0

在你的'foreach'循環中,它應該是'$ key => $ val'而不是'$ key = $ val' – BadHorsie 2015-01-21 12:38:39

回答

0

確保您已將「err」定義爲常量,或使用$ err而不是err。

在PHP變量
0

有前綴$符號或犯錯必須是恆定的,但它是很好的做法,使用常量名稱作爲大寫字母

試試這個代碼

 if(isset($err) && $err == 1) 
    { 
      $record = $_POST; 
      foreach($record as $key=>$val) $record[$key] = stripslashes($val); 
      $msg ="Please fill the empty field"; 
    } 

編輯

嘗試檢查變量是否存在或不使用isset()

+0

我已經嘗試了你的建議並仍然得到相同的錯誤未定義的變量錯誤。我甚至複製並粘貼了你的代碼。 – 2015-01-21 11:46:18

+0

嘗試更新的代碼,它可能會發生,你還沒有分配$ err變量,並直接檢查,如果條件 – 2015-01-21 11:51:46

+0

解決方案工作..感謝 – 2015-01-21 12:46:52

0

代碼中有兩個mistrake

 1. Forget $ sign which is neccessary in PHP 

     2. Wrong syntax for foreach loop there will be => sign instead of = 

//所以正確的代碼是

if($err ==1) 
{ 
    $record = $_POST; 
    foreach($record as $key=>$val) 
     $record[$key] = stripslashes($val); 

    $msg ="Please fill the empty field"; 
} 
+0

仍然得到undefined變量err – 2015-01-21 11:51:23

+0

顯示從哪裏得到這個$ err。顯示你的完整代碼 – 2015-01-21 11:54:12

0

你得到未定義的原因是因爲你定義你的err變量你就忘記將其創建爲$err

您需要更改每一個地方在你的代碼,你必須err變量$err,不僅在地方,你在這個問題上表現出來了。這就是爲什麼在嘗試這裏的解決方案後,你仍然在undefined,因爲你只在一個地方更改爲$err

+0

我已經重新檢查了我的整個代碼,並且每個地方都是$ err,並且我的錯誤仍然保留在同一行 – 2015-01-21 12:18:59

+0

@MogamatToufa您是否嘗試將'if($ err == 1)'更改爲'if(isset($ ERR))'? – BadHorsie 2015-01-21 12:37:39