On Wed, 6 Aug 2003 18:09:10 +0200, "Stefan McKinnon Edwards"
<sme@iysik.com> wrote:
>Jeg har et problem med mit php. Jeg ønsker at gemme en array i en cookie, og
>til det formål har jeg så læst, at man kan bruge "serialize" og
>"unserialize" til at konventerere f.eks. en array til en streng, som så kan
>gemmes i en cookie.
>Hvis jeg selv kører koden:
>
>$a = array(1 => "one", 2 => "two", 3 => "three");
>$s = serialize($a);
>echo $s;
>$b = unserialize($s);
>print_r($b);
>
>Får jeg outputtet som forventet:
>a:3:{i:1;s:3:"one";i:2;s:3:"two";i:3;s:5:"three";}
>Array
>(
>[1] => one
>[2] => two
>[3] => three
>)
>
>Men prøver jeg derimod først at gemme $s i en cookie, så sker der åbenbart
>sjove sager med strengen, for når jeg henter den ud af cookien igen, kan jeg
>ikke unserialize den. Den returnerer ganske enkelt "False".
>Jeg har prøvet med base64_encode & base64_decode, men det ser hellerikke ud
>til at virke. Nogen forslag?
>
>
>Mvh. Stefan McKinnon Edwards
>
>PS. Kunne/skulle jeg måske gemme det i sessions? Ville det give nogen
>forskel??
>
Prøv at se dette fra en kommentar i manualen:
http://dk2.php.net/manual/en/function.serialize.php :03-Jan-2003 11:27
SETTING THE COOKIE OBJECT
setcookie("cookie_name", urlencode(serialize($theobject)),
$cookielife);
READING THE COOKIE OBJECT
$theobject = unserialize(urldecode($_COOKIE["cookie_name"]));
(Om det osse kan gøre sig gældende i dit tilfælde med et array er da
værd at afprøve.)
MVH Martin S