$ _COOKIE ['cookiefoo'],尝试获取一个cookie

时间:2010-05-25 14:16:43

标签: php cookies web-applications

我是webapps和PHP的新手。

我正在尝试获取尚未创建的cookie,我的意思是,当我尝试加载寻找不存在的cookie的页面时出现错误,我试图通过尝试来摆脱它/赶上但不成功。这就是我正在尝试的代码:

try{

    $cookie =  $_COOKIE['cookiefoo'];

    if($cookie){

          //many stuffs here
    }
    else
        throw new Exception("there is not a cookie"); 
}
catch(Exception $e){

}

我如何实现这一点,任何想法,我们将不胜感激。

1 个答案:

答案 0 :(得分:7)

如果密钥不存在,请使用isset来防止发生任何警告或通知:

if(isset($_COOKIE['cookiefoo']) && !empty($_COOKIE['cookiefoo'])) {
    // exists, has a value
    $cookie =  $_COOKIE['cookiefoo'];
}

使用array_key_exists可以做同样的事情,但我认为isset更简洁:

if(array_key_exists('cookiefoo', $_COOKIE) && !empty($_COOKIE['cookiefoo'])) {
    // exists, has a value
    $cookie =  $_COOKIE['cookiefoo'];
}