Mailinglisten-Archive |
Hi Sorin, Zitat von Sorin Marti: > Oliver Kunz wrote: > > Noch ein kleiner Tipp dazu: > > > > urlencode(serialize($array)) > > > > und auf der anderen Seite natürlich wieder zurück. Sonst kommt nicht > > das an, was du dir erhoffst. > > also: unserialize(urldecode($string)), oder? > > Aber das geht nicht. > > $search_string = $_GET["search"]; > $search = unserialize(urldecode($search_string)); > > aber: > > $search = unserialize("a:2:{i:0;s:2:\"sn\";i:1;s:2:\"cn\";}"); > > geht. Wie kommt das? Lass Dir mal auf der uebergebenden Seite folgendes genau ausgeben: echo('<p>'.serialize($array)); // 1 echo('<p>'.urlencode(serialize($array))); // 2 Und auf der uebernehmenden Seite folgendes: echo('<p>'.$search_string); // 3 echo('<p>'.urldecode($search_string)); // 4 echo('<p>'.unserialize(urldecode($search_string))); // 5 Anschliessend vergleichst Du einmal, was bei 1 und bei 4 herauskommt. Ich meine mich naemlich zu erinnern, dass je nach Servereinstellung beim Versenden des Formulars automatisch Slashes hinzugefuegt werden. D.h. vor dem unserialize() muesstest Du dann an der passenden Stelle folgende Funktion ausfuehren: http://de.php.net/manual/de/function.stripslashes.php Schreib mal, ob es daran lag. :-) Viele Gruesse Lutz
php::bar PHP Wiki - Listenarchive