我没有对影响COOKIE的代码进行任何更改,现在我得到以下内容:
使用未定义的常量COOKIE_LOGIN - 假设'COOKIE_LOGIN'
//Destroy Cookie
if (isset($_COOKIE[COOKIE_LOGIN]) && !empty($_COOKIE[COOKIE_LOGIN]))
setcookie(COOKIE_LOGIN,$objUserSerialized,time() - 86400 );
Run Code Online (Sandbox Code Playgroud)
我不知道我需要做些什么来实际改变这个,因为我不知道什么是开始的,因此无法跟踪问题.
谢谢.
您需要用引号括住数组键:
if (isset($_COOKIE['COOKIE_LOGIN']) && !empty($_COOKIE['COOKIE_LOGIN']))
setcookie('COOKIE_LOGIN',$objUserSerialized,time() - 86400 );
Run Code Online (Sandbox Code Playgroud)
PHP将未知文字转换为字符串并抛出警告.您的php.ini可能有错误报告级别不显示警告但有人可能已更新它或其他东西.在任何一种情况下,在这种情况下利用PHP的行为是不好的做法.
有关更多信息,请查看php文档:
始终在字符串文字数组索引周围使用引号.例如,$ foo ['bar']是正确的,而$ foo [bar]则不是.
这是错误的,但它确实有效.原因是这段代码有一个未定义的常量(bar)而不是一个字符串('bar' - 注意引号).PHP可能在将来定义常量,不幸的是,这些代码具有相同的名称.它的工作原理是因为PHP自动将一个裸字符串(一个与任何已知符号不对应的不带引号的字符串)转换为包含裸字符串的字符串.例如,如果没有定义的名为bar的常量,那么PHP将替换字符串'bar'并使用它.
| 归档时间: |
|
| 查看次数: |
3763 次 |
| 最近记录: |