最近发现了一个非常奇怪的现象:绝大多数用户都可以正常登陆系统,只有某一个客户的电脑(他们公司只有两台电脑,这两台都不能正常登陆)不能正常登陆!通过session 测试,发现他们那边的电脑根本无法保存,值一直都是空的!我可以肯定他们的 cookies 已经启用了,设置等都是正常的!后来通过如下代码发现:
===========================================================================echo "_PHPSESSID------".$_COOKIE['_PHPSESSID']."<BR>";
echo ",_PHPSESSID------".$_COOKIE[',_PHPSESSID']."<BR>";
echo "PHPSESSID-------".$_COOKIE['PHPSESSID']."<BR>";
==========================================================================我发现在这个客户那边只有  echo ",_PHPSESSID------".$_COOKIE[',_PHPSESSID']."<BR>";
的键值可以正常输出,但是我刷新页面后,输出的值却不断地在变化,但我在任何其它地方刷新都是不变的!
我想这也许是是问题的真正原因所在!请高手帮忙看看,非常感谢!

解决方案 »

  1.   

    只有 echo ",_PHPSESSID------".$_COOKIE[',_PHPSESSID']."<BR>"; 有值
    那么就要看你的代码了
    谁知到名为 “,_PHPSESSID”的 cookie 变量是从哪里来的
      

  2.   


    我也是感觉好奇怪,正常电脑上面的都是PHPSESSID,但他这个不知道是怎么变了。要命的是,每次刷新,值都在变化,所以导致 session没法保存!
    继续求救,求大神指导。。
      

  3.   

    echo "_PHPSESSID------".$_COOKIE['_PHPSESSID']."<BR>";
    echo ",_PHPSESSID------".$_COOKIE[',_PHPSESSID']."<BR>";
    echo "PHPSESSID-------".$_COOKIE['PHPSESSID']."<BR>";代码就这三行啊,一般情况下都是第三条正常输出!而且刷新的时候值一般是不变的!
      

  4.   

    好吧,我改成这样,也许就更清楚了:echo "_PHPSESSID的值为".$_COOKIE['_PHPSESSID']."<BR>";//一般为空,cookies没有值输出echo ",_PHPSESSID的值为".".$_COOKIE[',_PHPSESSID']."<BR>";//一般为空,cookies没有值输出echo "PHPSESSID的值为".".$_COOKIE['PHPSESSID']."<BR>";//大多数下cookies的键值能正常输出
      

  5.   

    session_start();
    echo "<script>alert(document.cookie)</script>";
    如果弹窗中有 PHPSESSID=... 字样,就表示 cookie 下行正确刷新页面
    print_r($_COOKIE);
    如果含有 PHPSESSID 键,则表示 cookie 上行正确由于不知道你都做了些什么,所以可新建程序文件进行测试
    <?php
    session_start();
    echo "<script>alert(document.cookie)</script>";
    print_r($_COOKIE);
    如果测试正确,则表示你的项目中处理错误
    否则表示用户浏览器有问题,换一款试试
      

  6.   

    有些软件(防火墙或proxy类)其中的有功能可以过滤、限制cookies进出,我机器上就有一款这样的,可以针对个别网站做cookies处理
      

  7.   


    您好,首先感谢您这么详细的解答!
    我测试了,弹窗中有 PHPSESSID=... 字样,
    print_r($_COOKIE)中含有 PHPSESSID 键。我在客户的电脑上刷新,弹窗和print_r中的值是不断地变换的,
    但在其他任何电脑上刷新,弹窗和print_r中的值都是固定的。
    补充下:另外,我在客户的电脑进行了跨页面测试,session值无法跨页面保存,但在我们的电脑上却可以!
    看得出来您是行家,希望您再帮帮我,不胜感激!
      

  8.   

    对了,我还发现:在客户的电脑上
    echo "<script>alert(document.cookie)</script>"弹窗的值与print_r($_COOKIE)输出的值不同!在其他电脑上两个值是相同的!
      

  9.   


    我已经做好了测试,这是测试地址:
    http://wd.bzon.com.cn/888.php