2015-01-21 142 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