0

阵列内部的细节中的任何细节都不会危及安全性,并且将使用该网站的人将使用最新的网络浏览器,以防你正在考虑就这个问题与我讨论安全性。

我尝试了多种方法来收集使用标准序列化函数序列化的数组,这就是我使用的:

        $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 的情况下将数组从页面传递到页面,我会全力以赴,但如果你认为你有解决方案, 请回复!

4

1 回答 1

1

对于初学者来说,它会在放入之前自动解码 cookie $_COOKIE,所以理论上unserialize($_COOKIE['mooringdata'])应该可以工作。但是您可能应该使用$_SESSION来存储这些数据,这样浏览器就不必无缘无故地不断地来回发送数据。

于 2012-07-24T20:40:18.323 回答