我在访客的PC上设置了一个cookie,每24小时显示一次通知.最近我开始在错误日志中收到以下错误:
PHP: undefined index notice in **
Run Code Online (Sandbox Code Playgroud)
我使用以下代码检查cookie是否存在值,如果没有显示通知:
if($_COOKIE['notice'] != 'yes')
echo 'notice';
}
Run Code Online (Sandbox Code Playgroud)
我可以使用以下内容来避免PHP通知:
if((isset($_COOKIE['notice']) || !isset($_COOKIE['notice'])) && $_COOKIE['notice'] != 'yes')
Run Code Online (Sandbox Code Playgroud)
有没有办法像我一样或以类似的方式一步完成检查?
谢谢
ThW*_*ThW 15
源中的索引'notice'与错误消息中报告的索引'test'不匹配.为避免出现通知,请在读取变量或索引之前对其进行验证.以下是验证的两个功能.
是否正确检查变量/索引是否设置而不是NULL
if (isset($_COOKIE['notice']) && $_COOKIE['notice'] == 'yes') {
// success
echo 'Cookie equals "yes".';
}
Run Code Online (Sandbox Code Playgroud)
您可以使用&&(和)作为第二个条件,也必须为TRUE.
是否检查索引/变量不存在或具有被视为空的值(NULL,0,'',array()).
if (empty($_COOKIE['notice']) || $_COOKIE['notice'] != 'yes') {
// error
echo 'Cookie does not exists, is empty or does not equal "yes".';
}
Run Code Online (Sandbox Code Playgroud)
你可以使用|| (或)将其与需要为FALSE的其他条件相结合.