求助PHP无法传递cookie的值

来源:百度知道 编辑:UC知道 时间:2024/06/17 03:22:50
我的php程序在本地可以获取cookie的值,上传到虚拟主机上却在页面间无法传递值了。请问是什么原因?
虚拟主机是标准虚拟主机
A页面
<?php
SetCookie("allowVisit", "OK", 0);
?>

B页面
<?php
echo "Cookie:";
echo $HTTP_COOKIE_VARS["allowVisit"];
?>

获取的值为空,本地运行能正常获取值
不能用<?php SetCookie("allowVisit", "OK", 3600); ?> 这个,这个在本地都无法运行,传到服务器上也不行

$HTTP_COOKIE_VARS 是4.1.0以前PHP版本应用的!你本机应该是4.1.0以前的版本!

虚拟主机的PHP版本应该比你本机的高一点
PHP 5.* 以后 就改成 $_COOKIE['value']了!

所以想通用的话在用之前先判断一下 如:
<?php
if(PHP_VERSION < '4.1.0') {
$_GET = &$HTTP_GET_VARS;
$_POST = &$HTTP_POST_VARS;
$_COOKIE = &$HTTP_COOKIE_VARS;
$_SERVER = &$HTTP_SERVER_VARS;
$_ENV = &$HTTP_ENV_VARS;
$_FILES = &$HTTP_POST_FILES;
}

?>
然后用$_COOKIE['value'] 取直

<?php
SetCookie("allowVisit", "OK", 3600);
?>
测试下呢
空间都应该支持的!

B页面
echo $_COOKIE["allowVisit"];
不要用$HTTP_COOKIE_VARS取值。