-1

我有一个 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 脚本显示“找到”。但是当我尝试将代码插入到 header.php 或我的 WP 主题的任何其他 PHP 文件中时 - 它显示“未找到”。

我用其他 2 个具有不同主题和 WP 版本的站点测试了这个 PHP 代码,但仍然无法正常工作。

4

2 回答 2

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

于 2013-02-18T19:57:53.437 回答
2

替换$HTTP_COOKIE_VARS$_COOKIE$HTTP_COOKIE_VARS已弃用且不是超全局的,这可能是您无法访问 cookie 的原因。

于 2013-02-18T19:58:16.827 回答