gpt4 book ai didi

php - 在 PHP 中检查 COOKIE 时 undefined index

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:54:58 26 4
gpt4 key购买 nike

我在访问者的 PC 上设置了一个 cookie,每 24 小时显示一次通知。最近我开始在我的错误日志中收到以下错误:

PHP: undefined index notice in **

我使用以下代码来检查 cookie 是否存在并具有值,如果不存在则显示通知:

if($_COOKIE['notice'] != 'yes')  
echo 'notice';
}

我可以使用以下方法来避免 PHP 通知:

if((isset($_COOKIE['notice']) || !isset($_COOKIE['notice'])) && $_COOKIE['notice'] != 'yes')

有没有办法像我一样或以类似的方式一步完成此检查?

谢谢

最佳答案

源代码中的索引“notice”与错误消息中报告的索引“test”不匹配。为避免引起注意,您在读取变量或索引之前对其进行验证。

这里有两个用于验证的函数。

isset()

是对变量/索引已设置而不是 NULL 的肯定检查

if (isset($_COOKIE['notice']) && $_COOKIE['notice'] === 'yes') {
// success
echo 'Cookie equals "yes".';
}

您可以对第二个条件使用 &&(和),它也必须为 TRUE。

空()

是对索引/变量不存在或具有被视为空的值(NULL、0、''、array())的否定检查。

if (empty($_COOKIE['notice']) || $_COOKIE['notice'] !== 'yes') {
// error
echo 'Cookie does not exists, is empty or does not equal "yes".';
}

你可以使用|| (或)将其与也需要为 FALSE 的其他条件相结合。

或者使用运算符:

??

如果变量/索引未设置或为 NULL,则运算符分配默认值:

$noticeCookie = (string)($_COOKIE['notice'] ?? 'no');
if ($noticeCookie === 'yes') {
// success
echo 'Cookie equals "yes".';

}

关于php - 在 PHP 中检查 COOKIE 时 undefined index ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20205852/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com