使用cookie时提示Notice: Undefined index

本文探讨了在PHP中遇到的未定义Cookie问题,并提供了如何避免Notice错误的实用建议,包括使用isset()函数检查变量是否存在及调整PHP.ini配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用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不被浏览器所记住等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值