http://phpmyadmin.leon_vm.com/1.php写的Cookie,
在http://phpmyadmin.leon_vm.com/2.php还是读取不到。
但是http://localhost/1.php写的Cookie,
http://localhost/2.php却能读取到,这是怎么回事?
1.php
----------
<?php                                                           
setcookie("cookieName","leon",time()+3600);                   
?>                                                              
                                                                
---------
2.php
-----------
<?php                                                  
print_r $_Cookie;                                    
?>                                                     

解决方案 »

  1.   

    不会吧,难道要大写!!!print_r $_COOKIE;   你的浏览器安全级别禁止cookie?看看ie设置
      

  2.   

    莫非这个问题真的很困难?ASP.NET肯定不会有这个问题的,刚有项目要用PHP,一接触就这样,有点郁闷呢
      

  3.   

    回复:hejunbin 
    --------------------------------------
    不会吧,难道要大写!!! print_r $_COOKIE;    你的浏览器安全级别禁止cookie? 看看ie设置
    ------------------------------------
    用同一个浏览器,访问同一个程序,只是主机名不同而已,然后得到不通的结果。
      

  4.   

    不应该,看看服务器里设置有没有开启cookie
      

  5.   

    第二要注意用大写很简单,可用火狐的插件可以直接看有没有cookie
      

  6.   

    2.php
    <?php                                                
    print_r($_COOKIE) ;                                
    ?>                                                   
    不是大小写的问题。
    同一浏览器,同一个程序,只是用的访问方式不一样,不同主机名访问。
      

  7.   

    然后就会得到不同的结果。
    http://phpmyadmin.leon_vm.com/2.php得到的结果如下:
    -------------
    Array
    (
    )
    -------------
    http://localhost/2.php得到的结果为:
    ----------
    Array
    (
        [PHPSESSID] => 8c31d9731c66c4d92a5887df7a652bf1
        [cookieName] => leon
    )
    ---------
      

  8.   

    在 setCookie 之前不能有任何输出
      

  9.   

    用同一个浏览器,访问同一个程序,只是主机名不同而已,然后得到不通的结果。只是主机名不同而已......./////////////////不是这样的http://localhost/   是本地的http://phpmyadmin.leon_vm.com 是网络的自然安全级别不一样!!!!
    楼主不介意的话,还是看看安全设置。。$_COOKIE //还是改大写的好你可以看看PHP手册
      

  10.   

    是同一个机器
    大家执行下面的指令:
    notepad c:\WINDOWS\system32\drivers\etc\hosts你看到的是
    127.0.0.1       localhost
    192.168.1.135 phpmyadmin.leon_vm.com这是我的虚拟机,局域网的IP为192.168.1.135
      

  11.   

    setcookie 函数第5个参数可以控制cookie所在域
      

  12.   

    ----------------------------------
    你的服务器和本地上的文件是否权限一致的?
    -----------------------------------是同一个机器 
    大家执行下面的指令: 
    notepad c:\WINDOWS\system32\drivers\etc\hosts 你看到的是 
    127.0.0.1       localhost 
    192.168.1.135 phpmyadmin.leon_vm.com 这是我的虚拟机,局域网的IP为192.168.1.135
      

  13.   


    你在host里加的域名,系统是不分析它规范性的,如你定义127.0.0.1 ___
    打http://___/test1.php 也可以访问但是php的cookie机制是要检测其合法性的   
      

  14.   

    echo $_COOKIE['cookieName'];注意:你cookieName中有空格。
      

  15.   

    //设置时区
    ini_set('date.timezone', 'Asia/Shanghai');
      

  16.   

    <?php
    setcookie("cookie[three]", "cookiethree");
    setcookie("cookie[two]", "cookietwo");
    setcookie("cookie[one]", "cookieone");// after the page reloads, print them out
    if (isset($_COOKIE['cookie'])) {
        foreach ($_COOKIE['cookie'] as $name => $value) {
            echo "$name : $value <br />\n";
        }
    }?>
      

  17.   

    试一试比较全的 cookie 设置函数:setcookie(__COOKIE_NAME, __COOKIE_VALUE, , time() + __COOKIE_EXPIRE, __COOKIE_PATH, __COOKIE_DOMAIN);注意 __COOKIE_PATH 一般设 / __COOKIE_DOMAIN 是你的 leon_vm.com
      

  18.   

    cookie的设置和读取与域名有很大关系。
    所以,我怀疑问题,还是出在域名上,你可以看一下你的cookie,
    看看是通过那个域名中下的。
      

  19.   

    cookie有的情况下是读不到的,在二级域名下,带下划线的cookie是无法读到的。
      

  20.   

    1.php 
    ---------- 
    <?php                                                                                                                       
    setcookie("cookieName","leon",time()+3600);                                       
    ?>                                                                                                                             
                                                                                                                                    
    --------- 
    2.php 
    ----------- 
    <?php                                                                                                     
    echo $_COOKIE['cookieName'];                                                                         
    ?>