我有一个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代码,但仍然无效。
答案 0 :(得分:4)
我认为您的问题在于$HTTP_COOKIE_VARS
,请将其替换为$_COOKIE
并且它应该可以正常工作(即如果您调用$HTTP_COOKIE_VARS
的脚本部分在函数内)
$ HTTP_COOKIE_VARS包含相同的初始信息,但不是超全局信息。 (注意$ HTTP_COOKIE_VARS和$ _COOKIE是不同的变量,PHP会这样处理它们)
答案 1 :(得分:2)
将$HTTP_COOKIE_VARS
替换为$_COOKIE
。不推荐使用$HTTP_COOKIE_VARS
而不是超全局,这可能是您无法访问cookie的原因。