Php - 检查cookie值是否等于

时间:2016-02-24 20:50:46

标签: php

任何人都知道如何获得以下代码?

谢谢!

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

2 个答案:

答案 0 :(得分:8)

您应该收到以下错误消息,其中包含您为代码发布的内容:(如果您的系统已设置为捕获错误)。见我的脚注。

  

解析错误:语法错误,意外'=='(T_IS_EQUAL),期待','或')'...

另外,你正在使用2x YES !,所以其中一个必须是“NO!”,作为后者。

您需要检查Cookie是否设置为AND等于。

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

原始代码的括号格式错误,是导致解析错误的原因:

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

是否将支架放在正确的位置,例如:

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

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

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

它会回显“YES”(用于设置),因为cookie确实已设置,但是它应该是误报来检查它是否等于“不可见”。

  • 因此,您必须使用两个单独的条件。

脚注:

error reporting添加到文件的顶部,这有助于查找错误。

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

// Then the rest of your code

旁注:只应在暂存时进行显示错误,而不是生产。

答案 1 :(得分:0)

是的,我知道。只需像这样改变它

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