0%

PHP 用Cookie保存对象

原则上cookie只能保存字符串,所以要把对象存进cookie,需要先把对象序列化,在读取的时候,再反序列化。 保存:

use mylibs\User;
require_once 'mylibs/User.php';
$user=new User();
$user->setUsername('用户名');
$user->setAddress('地址');
$obj_str = serialize($user);
setcookie('user',$obj_str);

读取:

use mylibs\User;
require_once 'mylibs/User.php';
$user=unserialize($_COOKIE['user']);
echo $user->getUsername();
echo $user->getAddress();

但是奇怪的是,session却可以直接保存对象。 2012年4月22日补充:今天发现上面的代码在IE下有问题,读取后,部分属性会丢失,找不到解决方法,目前只好分别存储每一个属性。