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。这些单独的全局变量不是自动全局变量。 

解决方案 »

  1.   

    我用$_COOKIE['wandererboardid']怎么也不行?$HTTP_COOKIE_VARS['wandererboardid']也没内容。
      

  2.   

    而且cookie注册的变量应该没问题啊,为何总是无法记录从而免输入再登陆?
    echo 上面两者不行。
      

  3.   

    setcookie("wandererboardidbym",$wandererboardid,$cookie_time);
    这样一个登陆程序,后来在另外一个程序里面$wandererboardid=$HTTP_COOKIE_VARS['wandererboardidbym'];就没有内容,如果客户端电脑重新启动后,好像并没有赋值。
      

  4.   

    ie版本,是否启用cookie? 
    工具,internet选项,高级选项卡,安全下的cookie前是否选中?
      

  5.   

    <?php
    setcookie("test", "hello world");
    echo $_COOKIE['test'];
    //偶这里,刷新一下,就输出hello world?>
      

  6.   

    第一、HTTP_COOKIE_VARS是局部变量吧?
    第二,你怎么没有设置存活时间?
      

  7.   

    setcookie 中只有name是必须值bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])
      

  8.   

    我设置了一个cookie变量,然后再用另外一个网页echo,怎么没用?
      

  9.   

    <?php
    //test.php
    setcookie("test", "hello world");
    ?>
    <?php
    echo $_COOKIE['test'];
    ?>偶这里输出正常
      

  10.   

    另外,能从你的客户端得知登陆我的论坛的时候被注册的cookie变量的内容么?
    http://bbs.soulsky.net
    我echo登陆程序注册的变量结果没显示。但是却在登陆状态了已经
      

  11.   

    偶可以登录,
    php版本?输出代码
      

  12.   

    登陆是可以,但是却不能保存。
    服务器上有的论坛可以,所以估计不是服务器的问题了。
    这是登陆代码:
                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没有问题吧?但是好像并不存在
      

  13.   

    setcookie("wandererboardidbym",$wandererboardid,$cookie_time);
    如果两个变量都在的话,上式可以实现注册cookie么?
      

  14.   

    setcookie("test", "hello world");echo $_COOKIE['test'];
    这样居然不行。应该是服务器没有开启该函数吧?