PHP检查现有的cookie并不适用于Wordpress

时间:2013-02-18 19:52:43

标签: php wordpress cookies

我有一个PHP脚本,当我将它直接插入header.php或我的Wordpress网站主题的任何其他文件时,它不起作用。

我成功写了一个cookie。然后我用Java Script和PHP代码检查这个cookie。但只有Java Script会让我“找到”。

<script language="javascript">
    <!--
    if (document.cookie.indexOf("users_res") >= 0) {
  alert("found");
}
else {
  alert("not found");
}
    //-->
    </script>
<?php
if (isset($HTTP_COOKIE_VARS["users_res"]))  {
    echo "found";
} else {
    echo "not found";
}
?>

当我将此PHP代码放入 test.php 并将其手动上传到我的网站时 - PHP脚本显示“已找到”。但是当我尝试将代码插入到我的WP主题的header.php或任何其他PHP文件中时 - 它显示“未找到”。

我用其他2个具有不同主题和WP版本的网站测试了这个PHP代码,但仍然无效。

2 个答案:

答案 0 :(得分:4)

我认为您的问题在于$HTTP_COOKIE_VARS,请将其替换为$_COOKIE并且它应该可以正常工作(即如果您调用$HTTP_COOKIE_VARS的脚本部分在函数内)

  

$ HTTP_COOKIE_VARS包含相同的初始信息,但不是超全局信息。 (注意$ HTTP_COOKIE_VARS和$ _COOKIE是不同的变量,PHP会这样处理它们)

http://php.net/manual/en/reserved.variables.cookies.php

答案 1 :(得分:2)

$HTTP_COOKIE_VARS替换为$_COOKIE。不推荐使用$HTTP_COOKIE_VARS而不是超全局,这可能是您无法访问cookie的原因。