$_POST weitergeben... (ohne DB)

Sebigf

Erfahrenes Mitglied
Hallo zusammen!

Ich möchte gerne nach dem Ausfüllen eines Formulars alle Daten (per POST abgesendet) weitergeben können, wenn ich header() einsetze. Da umbrüche mit drin sind, geht das leider nicht mit $_GET.

Kann mir einer sagen, wie ich die Daten so weitergeben kann? Ich habe bereits an ein neues Form gedacht, aber ist das sinnvoll? Und wie kann ich es aktivieren, dass es direkt los-"postet" ?

Danke!
 
Erstmal danke für die schnelle Antwort!

Ja, ich habe es jetzt einmal mit der SESSION probiert. Aber da das System eh mit session arbeitet, war es nicht wirklich ein problem. :)

Habe nurnoch ein Problem...

Wenn ich umbrüche, also absätze reinschreibe ins textarea, dann wedern diese ignoriert. Ich habe es bereits mit add- & stripslashes probiert, aber es wird trotzdem alles "einzeilig" dargestellt.

Kannst mir da auch helfen?

Danke!
 
Schau mal in den Quelltext der ausgelieferten HTML-Datei, ob die Zeilenumbrüche wirklich verloren gegangen sind oder nur nicht dargestellt werden, weil sie von den Browsern gemäß HTML-Standard ignoriert werden.

Ist letzteres der Fall, hilft Dir die Funktion [phpf]nl2br[/phpf].

Gruß hpvw
 
Du könntest einfach den serialisierten String per GET übergeben, wäre um einiges besser finde ich :)

also z.b. weitergabe:

header("location: index2.php?post=".urlencode(serialize($_POST)));


und auf der index2 dann einfach:

$postarray = unserialize(urldecode($_GET["post"]));

ich finde das toll :)
 
Ein serialisierter String hat aber den Nachteil, dass die URL unter Umständen extrem lang werden könnte.

Im HTTP-Standard ist deren Länge soweit ich weiß zwar nicht begrenzt, dennoch können ältere Browser nur max. 255 Zeichen als URL verwenden. Außerdem gibt es Serveranwendungen (z.B. Proxies), welche die URL auf eine bestimmte Länge beschränken.
Sessions sind daher funktionssicherer!
 
Mmmh, danke für die Denkanstätze

Ich versuche es mal mit SESSIONS, was ich auch sehr gut finde...
Nur wie kann ich das am besten anstellen, dass alle $_POST vars zu $_SESSION / $_REQUEST werden?

Frage: Gibt es irgendwelche Nachteile, wenn ich $_REQUEST nutze? Ich meine einmal gehört zu haben, dass das nicht "die beste?" Art sein soll die vars abzufragen...

Danke
 
$_REQUEST ist was für Programmierfaule Menschen. Es funktioniert in etwa wie wenn du register_globals auf on setzt!
Wenn du zum Beispiel nicht weist ob du eine Variable per $_GET oder per $_POST erhältst, dann schreibst du einfach $_REQUEST und das Problem ist gegessen.

Das Problem ist allerdings, wenn du eine Variable mit dem Namen 'Var' sowohl mit $_GET als auch mit $_POST und im Extremfall sogar mit $_SESSION (also $_GET['Var'], $_POST['Var'], $_SESSION['Var']), und du jedes einzeln verwenden willst, du aber $_REQUEST dafür verwendest, führt das natürlich zu Problemen.

Also ich würds nur dann einsetzen, wenn du nicht weißt wie ein und der selbe "Datensatz" übergeben wird.

Zu deinem Problem wie man alle POST zu SESSION Variablen macht, versuch das:

//Wenn nichts in der Session steht
PHP:
$_SESSION=$_POST;

oder

//Wenn bereits etwas in der Session steht:
PHP:
$_SESSION=array_merge($_SESSION,$_POST);

Eigentlich müsste der Spaß so funktionieren, habs aber nicht versucht! ;)

cya and greetz

nero_85
 
Zurück