HTTP Cookies:$_COOKIE
注: 在 PHP 4.1.0 及以后版本使用。之前的版本,使用 $HTTP_COOKIE_VARS。 通过 HTTP cookies 传递的变量组成的数组。是自动全局变量。 这是一个“superglobal”,或者可以描述为自动全局变量。这只不过意味这它在所有的脚本中都有效。在函数或方法中您不需要使用 global $_COOKIE; 来访问它,就如同使用 $HTTP_COOKIE_VARS 一样。 $HTTP_COOKIE_VARS 包含着同样的信息,但是不是一个自动全局变量。(注意: HTTP_COOKIE_VARS 和 $_COOKIE 是不同的变量,PHP 处理它们的方式不同。) 如果设置了 register_globals 指令,这些变量也在所有脚本中可用;也就是,分离了 $_COOKIE 和 $HTTP_COOKIE_VARS 数组。相关信息,请参阅安全的相关章节 使用 Register Globals。这些单独的全局变量不是自动全局变量。
注: 在 PHP 4.1.0 及以后版本使用。之前的版本,使用 $HTTP_COOKIE_VARS。 通过 HTTP cookies 传递的变量组成的数组。是自动全局变量。 这是一个“superglobal”,或者可以描述为自动全局变量。这只不过意味这它在所有的脚本中都有效。在函数或方法中您不需要使用 global $_COOKIE; 来访问它,就如同使用 $HTTP_COOKIE_VARS 一样。 $HTTP_COOKIE_VARS 包含着同样的信息,但是不是一个自动全局变量。(注意: HTTP_COOKIE_VARS 和 $_COOKIE 是不同的变量,PHP 处理它们的方式不同。) 如果设置了 register_globals 指令,这些变量也在所有脚本中可用;也就是,分离了 $_COOKIE 和 $HTTP_COOKIE_VARS 数组。相关信息,请参阅安全的相关章节 使用 Register Globals。这些单独的全局变量不是自动全局变量。
echo 上面两者不行。
这样一个登陆程序,后来在另外一个程序里面$wandererboardid=$HTTP_COOKIE_VARS['wandererboardidbym'];就没有内容,如果客户端电脑重新启动后,好像并没有赋值。
工具,internet选项,高级选项卡,安全下的cookie前是否选中?
setcookie("test", "hello world");
echo $_COOKIE['test'];
//偶这里,刷新一下,就输出hello world?>
第二,你怎么没有设置存活时间?
//test.php
setcookie("test", "hello world");
?>
<?php
echo $_COOKIE['test'];
?>偶这里输出正常
http://bbs.soulsky.net
我echo登陆程序注册的变量结果没显示。但是却在登陆状态了已经
php版本?输出代码
服务器上有的论坛可以,所以估计不是服务器的问题了。
这是登陆代码:
if($cookie_time!=""){
setcookie("wandererboardidbym",$wandererboardid,$cookie_time);
setcookie("wandererboardpwdbym",$wandererboardpwd,$cookie_time);
setcookie("privacybym",$privacy,$cookie_time);
}
session_register("wandererboardpwd");
session_register("wandererboardid");
session_register("privacy"); 这是日后另一个定义文件中判断是否已经登陆的相关内容:
if (!empty($HTTP_COOKIE_VARS['wandererboardidbym']) && !empty($HTTP_COOKIE_VARS['wandererboardpwdbym']) && checkpass($HTTP_COOKIE_VARS['wandererboardidbym'],$HTTP_COOKIE_VARS['wandererboardpwdbym']))
{
$wandererboardid=$HTTP_COOKIE_VARS['wandererboardidbym'];
$wandererboardpwd=$HTTP_COOKIE_VARS['wandererboardpwdbym'];
if (!empty($HTTP_COOKIE_VARS['privacybym'])) $privacy=$HTTP_COOKIE_VARS['privacybym'];
else $privacy=0;
session_register("wandererboardpwd");
session_register("wandererboardid");
session_register("privacy");
$login_status=1;
getUserRec();
add_online();
setcookie('lastvisit',$timestamp,$cookietime);
}elseif(!empty($HTTP_SESSION_VARS['wandererboardid']) && !empty
($HTTP_SESSION_VARS['wandererboardpwd']) && checkpass($HTTP_SESSION_VARS
['wandererboardid'],$HTTP_SESSION_VARS['wandererboardpwd'])){
$login_status=1;
getUserRec();//备用3作为个性化的skin,webdi 2002.08.21
add_online();
setcookie('lastvisit',$timestamp,$cookietime);
}else {
$login_status=0;
add_guest();
}明显登陆的时候有选过cookietime的,所以应该上面的setcookie没有问题吧?但是好像并不存在
如果两个变量都在的话,上式可以实现注册cookie么?
这样居然不行。应该是服务器没有开启该函数吧?