自定义 Cookie/会话功能不起作用


Custom Cookie/Session Function Not Working

我正在尝试编写一个简单的函数,该函数根据您告诉要检查的函数的内容来检查是否设置了cookie或会话。出于某种原因,如果我告诉函数我要检查会话,它仍然会给我"cookie"块中条件的输出。希望我解释得足够好。无论如何,如果有人可以提供一些帮助,为什么这没有按照我想要的方式工作,那就太棒了。

function check($checkType, $name) {
  if ($checkType = 'cookie') {
    if(isset($_COOKIE[$name])) {
      echo "Cookie '" . $name . "' is set!<br>";
      echo "Value is: " . $_COOKIE[$name];
      die();
    } else {
      echo "Cookie named '" . $name . "' is not set!";
      die();
    }
  } else if ($checkType = 'session') {
      if(isset($_SESSION[$name])) {
        echo "Session '" . $name . "' is set!<br>";
        echo "Value is: " . $_SESSION[$name];
        die();
      } else {
        echo "Session named '" . $name . "' is not set!";
        die();
      }
  }
}
//initiate function with parameters
check('session', 'loginStatus');

在 if 语句中,您使用的是赋值运算符 (=)。要检查一个值是否等于另一个值,您应该使用相等的比较运算符 (==)。

if ($checkType == 'cookie') {
    // It's a cookie
} else if ($checkType == 'session') {
    // It's a session
}

您可以在此处阅读有关 PHP 运算符的更多信息。