$ _COOKIE ['cookiefoo'], попробуйте получить печенье - PullRequest
6 голосов
/ 25 мая 2010

Я новичок в веб-приложениях и 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 Ответ

7 голосов
/ 25 мая 2010

Используйте 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'];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...