使用cookie时提示Notice: Undefined index
PHP codeecho $_COOKIE["username"];
运行后提示:Notice: Undefined index: username in D:PHPnowhtdocsindex.PHP on line 41
下面这个修改提示级别的方法不是很可取,个人觉得有点掩耳盗铃的感觉
修改PHP.INI的错误信息提示级别,
将error_reporting = E_ALL 改成 error_reporting = E_ALL & ~E_NOTICE |
也倒不一定非有问题.
未注册变量在严格模式下都会有提示.notice级不是错误也不是警告
上面的代码,比如第一次访问页面,还没有生成COOKIE前就显示COOKIE值,就会报提示
这个cookie应该还不存在,所以才会抛错。用isset($_COOKIE["username"]) 先检测。
if(isset($_COOKIE["username"]))
{
echo $_COOKIE["username"];
}
这样就不会有问题了.标准的写法.呵呵.
除此之外,你可以用error_reporting(E_ALL & ~E_NOTICE);屏蔽e_notice级别的错误.
应该是引用了未定义的变量导致系统报错,修改PHP.ini的err_report即可。
或者你那个变量有被赋值,但因为各种原因丢失了,比如cookie不被浏览器所记住等。