2016-02-24 7 views
-3

Кто-нибудь знает, как получить следующий код для работы?Php - Проверьте, равно ли значение cookie

Спасибо!

if(isset($_COOKIE['first_name'] == "invisible")) { 
    echo 'YES!'; 
    } 
    else { 
     echo 'YES!'; 
    } 

Tim

+0

У вас возникли какие-либо ошибки? (Возможно: * Неустранимая ошибка: Невозможно использовать isset() в результате выражения *) – Rizier123

+1

, если isset AND равно, а не if isset равно. –

ответ

5

Вы должны были получить следующее сообщение об ошибке с тем, что вы вывесили для кода: (если система уже установлена, чтобы поймать ошибки). См. Мою сноску.

Parse error: syntax error, unexpected '==' (T_IS_EQUAL), expecting ',' or ')' in...

Плюс, вы используете 2x YES !, поэтому один из них должен быть «НЕТ!», Являясь последним.

Вам нужно проверить, установлен ли файл cookie И равен.

if(isset($_COOKIE['first_name']) && $_COOKIE['first_name']== "invisible") { 
    echo 'YES!'; 
    } 
    else { 
     echo 'NO!'; 
    } 

Кронштейны исходного код были уродливы и были причиной ошибки синтаксического анализа:

if(isset($_COOKIE['first_name'] == "invisible")) 
          ^missing  ^misplaced 

Had вы разместили кронштейн в нужном месте, и, например:

$_COOKIE['first_name'] = "John"; 

if(isset($_COOKIE['first_name']) == "invisible"){ 

echo 'YES!'; 
} 
else { 
    echo 'NO!'; 
} 

У него было бы echo'd «YES» (для установки), так как cookie действительно установлен, однако это было бы ложным положительным, чтобы проверить, соответствует ли оно «inv isible».

  • Таким образом, вы должны использовать два отдельных условия.

Сноска:

Добавить error reporting в верхней части файла (ов), который поможет найти ошибки.

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', 1); 

// Then the rest of your code 

Sidenote: Отображение ошибок не должно быть сделано только в постановке, и никогда производства.

0

Да я это знаю. Просто измените это так

if (isset($_COOKIE['first_name'])) { 
    if ($_COOKIE['first_name'] == "invisible") { 
    echo 'YES!'; 
    } 
    else { 
    echo 'YES!'; 
    } 
    } 
+0

Вы должны всегда включать объяснение того, что вы изменили и почему. Вы также можете иметь несколько условий в одном 'if'. – chris85

Смежные вопросы