phpbar.de logo

Mailinglisten-Archive

[php] Arrays uebergeben

[php] Arrays uebergeben

Lutz Zetzsche php-liste at vonnies.de
Don Jan 22 09:48:05 CET 2004


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