阵列内部细节内的任何细节都不会影响安全性,使用本网站的人将使用最新的网络浏览器,以防您在考虑辩论安全问题。
我尝试了多种方法来收集使用标准序列函数序列化的数组,这就是我使用的:
$mooring = serialize($mooring);
setcookie("mooringdata", $mooring, time()+3600);
我已经检查了我的cookie管理器,它似乎成功地存储了我需要的细节,但看起来它已被url编码。我已经尝试了多种从存储的cookie中获取原始数组的方法,但它从不可以正常工作,即使我的代码说它应该也可以!
我已经尝试了以下代码块,用换行符分隔以表示另一次尝试:
$data = unserialize(urldecode($_COOKIE['mooringdata'])));
print_r($data);
返回空白。
$data = array(unserialize(urldecode($_COOKIE['mooringdata']))));
print_r($data);
返回“Array([0] =>)” 如果有替代方法可以在不使用GET或POST的情况下将数组从一个页面传递到另一个页面,我会全力以赴,但如果您认为有解决方案,请回复!
答案 0 :(得分:1)
对于初学者来说,它会在将cookie放入$_COOKIE
之前对其进行自动解码,因此理论上只需要unserialize($_COOKIE['mooringdata'])
即可。但是你可能应该使用$_SESSION
来存储这些数据,这样浏览器就不必经常来回发送数据。