第一个页面有
$userArray = array('name' => $name, 'password' => $password);
setcookie("user", serialize($userArray));
第二个页面有
$user = unserialize($_COOKIE['user']);在windows下 $user 可以得到
在红旗linux下 $user 为空,得不到值。
是否是unserialize()的问题???????

解决方案 »

  1.   

    要判断 是否是unserialize()的问题
    你只需
    $userArray = array('name' => $name, 'password' => $password);
    $x = serialize($userArray));
    print_r(unserialize($x));
      

  2.   

    用print_r(unserialize(serialize("aaaaa")));
    测试了一下,unserialize函数是可以用的。print_r($_COOKIE['user']);打印在浏览器上的东西:一个是:
    a:2:{s:4:"name";s:5:"liubo";s:8:"password";s:5:"liubo";}
    另一个是
    a:2:{s:4:\"name\";s:5:\"liubo\";s:8:\"password\";s:5:\"liubo\";}谁知道有什么影响???????
      

  3.   

    magic quotes的问题
    外部数据被转义了,防止sql注入的你这样的话要先stripslashesps: 建议关闭magic quotes,自己转义,这个功能在后来的版本中就要被取消了