未定义的Cookie变量

时间:2014-04-25 03:04:13

标签: php function variables cookies

我有一个使用cookie保存信息的功能。问题是,当第一次加载网页时我得到错误未定义变量“pagination_pos”...我将如何将此cookie的临时值设置为空白,以便我可以防止此错误。这是函数:

    function getPaginationPos(){
if (isset($_REQUEST['page']) && !empty($_REQUEST['page'])){
setcookie('pagination_pos',$_REQUEST['page'],time() + 86400);
return $_REQUEST['page'];
} else {
return ($_COOKIE['pagination_pos']!='' ? $_COOKIE['pagination_pos'] : 1);
}

}

我在第6行得到了未定义的变量

2 个答案:

答案 0 :(得分:0)

如果未设置Cookie - 您不应该“返回”它 - 您应该使用此

     } else {
     return NULL;
     }

答案 1 :(得分:0)

此错误显示是因为您正在尝试测试并返回尚未初始化的变量。

推荐的解决方案是使用isset(),而不是将其与空字符串进行比较:

return (isset($_COOKIE["pagination_pos"]) ? $_COOKIE["pagination_pos"] : 1);

您还应注意,仅出现此错误,因为您使用PHP设置来显示E_NOTICE错误。如果您愿意,可以禁用该功能,但在开发过程中建议使用该功能。"


This question被称为"一般参考问题"对于这种类型的错误。你可以找到一些非常详细的解释there