phpbar.de logo

Mailinglisten-Archive

[php] $_POST mit anderen Werte ersetzen

[php] $_POST mit anderen Werte ersetzen

"patrick müller (aka elias)" ghostwwinside at gmx.net
Die Mar 30 16:17:02 CEST 2004



Steffen Kother wrote:

> Hallo Leute,
> 
> zu Beginn wird in eiunem Skript der Kopfdatenteil eingelesen,
> aufbereitet und angezeigt. Umrahmt wird er von <form action=""
> method="post"> und </form>.
> 
> In diesem Teil macht der User seine Angaben und sofern alles passt
> übergibt er diese an das selbe PHP-File aber einen anderen HTML-Teil.
> Dabei werden die Kopfdaten mittels "serialize()" in einem Hiddenfeld
> "Kopf" abgelegt.
> 
> Folgerichtig kann nun beim Speichern mit "unserialize()" der Inahlt
> dieses Feldes wieder verfügbar gemacht werden. Und genau das will ich
> aber auch rückwärts machen wollen. Sprich der User klickt auf "Zurück"
> und "$_POST" soll die Werte aus "$_POST['Kopf']" erhalten.
> 
> In etwa sieht es so aus:
> 
> <pseudo-code>
> if (empty($_POST['grund']) {
>     if (!empty($_POST['Kopf'])) {
>         var_dump($_POST['Kopf']);
>         $Kopf  = striplashes($_POST['Kopf']);
>         $_POST = unserialize($Kopf);
>     }
>     //usw. usf.
> }
> 
> if (!empty($_POST['grund']) && ($_POST['grund'] == 'Weiter')) {
>     $Kopf    = serialize($_POST);
>     $Ausgabe = str_replace('##KOPF##', $Kopf, $Template);
> }
> </pseudo-code>
> 
> Allerdings gibt mir ein "var_dump($_POST['Kopf'])" nur einen String wie
> folgt:
> 
> string(11) "a:21:{s:11:"
> 
> An welcher Stelle ist mein Fehler? Ich find's einfach nicht. Vielen
> Dank für Tipps und Hints. Danke

Naja, du musst immer erst unserialize() benutzen um die
Daten wieder verwendbar zu machen.
Wenn du die Daten wieder zurück schicken willst musst du
halt wieder einen serialisierten String in einem 
Hidden-Field ablegen.

php::bar PHP Wiki   -   Listenarchive