Notice: Undefined index:出现这个信息的意思你使用了未定义的变量。这个不是错误,是一个提示,并不会影响代码的执行。
解决方法:
方法1:修改php.ini配置文件,error_reporting = E_ALL & ~E_NOTICE
方法2:先定义这个变量。
我的代码里有这个问题,是因为表单提交时提交到当前页面,我在当前页面里判断是否是提交表单,使用代码是
if($_POST['submit'])
{
//
}
本意是如果点击了submit这个按钮,就执行里面的语言,但是这句代码的实际意思是判断$_POST['submit']值是否存在。初始运行页面时,$_POST['submit']这个值是不存在的,就提示了 Notice: Undefined index:。
正确的方法是:
if(isset($_POST['submit']))
{
//
}
isset函数检测$_POST['submit']变量是否存在,存在则表示是表单提交了。
另外,需要注意,使用方法一修改了php.ini配置文件,虽然这个提示没有出现了,代码能执行,但是还是有可能出现问题的,比如
<input type="submit" name="submit" value="0" />
如果提交按钮的value是空或者0,提交后,虽然修改了配置文件,点击提交后,post过去的值是0,判断后,还是会当做false处理,一样不会执行里面的语句。
这个虽然是个很简单的问题,自己写代码太粗心,但是出现这样的warning,最好的办法还是检查代码,而不是修改配置信息,修改配置信息,还可能导致代码本身存在的问题没有被检测出来。