Discussion:
unserialize me retourne un boolean ???
(trop ancien pour répondre)
Une Bévue
2012-12-03 15:26:55 UTC
Permalink
le code :
$trux=unserialize($_COOKIE['org_ytho_recettes_cookie']);

la valeur de $_COOKIE['org_ytho_recettes_cookie'] :
a:5:{s:11:\"ingredients\";s:17:\"saumon sauce
crem\";s:15:\"category_search\";s:6:\"Toutes\";s:6:\"source\";s:6:\"Toutes\";s:10:\"date_start\";s:10:\"2012-11-28\";s:9:\"date_stop\";s:10:\"2013-01-06\";}

le gettype de $trux est boolean...

mon set ccokie :
$cookie_set=setCookie("org_ytho_recettes_cookie",
serialize($recettes_cookie), (time() + 3600*24*365), '/Recettes/');

je ne vois pas d'où vient le pb vu que "ça marche" sous Ubuntu (PHP
Version 5.4.6-1ubuntu1.1) mais pas dans ce cas sous Mac OS X Mountain
Lion (PHP Version 5.3.15).
a***@a.a
2012-12-03 16:50:45 UTC
Permalink
Post by Une Bévue
$trux=unserialize($_COOKIE['org_ytho_recettes_cookie']);
a:5:{s:11:\"ingredients\";s:17:\"saumon sauce
crem\";s:15:\"category_search\";s:6:\"Toutes\";s:6:\"source\";s:6:\"Toutes\";s:10:\"date_start\";s:10:\"2012-11-28\";s:9:\"date_stop\";s:10:\"2013-01-06\";}
le gettype de $trux est boolean...
Un False ?
le manuel dit cela: "Si la chaîne passée ne peut être délinéarisée, cette fonction retourne FALSE et une erreur E_NOTICE est émise."
Peut-être que les \ avant les " sont en trop
En tout cas, ça me choque ;-)
Une Bévue
2012-12-03 17:05:05 UTC
Permalink
Post by a***@a.a
Un False ?
le manuel dit cela: "Si la chaîne passée ne peut être délinéarisée, cette fonction retourne FALSE et une erreur E_NOTICE est émise."
Peut-être que les \ avant les " sont en trop
En tout cas, ça me choque;-)
ne sois pas choqué ;-)
c'est bizarre ça vient tout bêtement d'un serialize...

mais bon, je viens d'essayer avec json-encode | json_decode, même toutim...

un pb navigateur ? (Google Chrome Version 24.0.1312.25 beta) une "beta"
hum...

bon, c'est pas le butineur, Safari me donne le même pb...
a***@a.a
2012-12-03 17:21:14 UTC
Permalink
Post by Une Bévue
Post by a***@a.a
Un False ?
le manuel dit cela: "Si la chaîne passée ne peut être délinéarisée, cette fonction retourne FALSE et une erreur E_NOTICE est émise."
Peut-être que les \ avant les " sont en trop
En tout cas, ça me choque;-)
ne sois pas choqué ;-)
c'est bizarre ça vient tout bêtement d'un serialize...
mais bon, je viens d'essayer avec json-encode | json_decode, même toutim...
un pb navigateur ? (Google Chrome Version 24.0.1312.25 beta) une "beta"
hum...
bon, c'est pas le butineur, Safari me donne le même pb...
Essaye ça, pour voir si c'est mieux:

$trux=unserialize(stripslashes($_COOKIE['org_ytho_recettes_cookie']));
Une Bévue
2012-12-03 18:09:23 UTC
Permalink
merci, j'ai "laissé tombé" [un]serialize, j'enregistre directement mon
tableau ainsi :
foreach($recettes_cookie as $key => $value){
$recettes_cookie[$key]=$_GET[$key];
setCookie("org_ytho_recettes_cookie[$key]", $recettes_cookie[$key],
(time() + 3600*24*365), '/Recettes/');
}

ça roule sous Ubuntu comme Mac OS X ML...

Loading...