Probleme mit $_session["xyz"]
Friedrich
- php
Hallo.
Ich möchte ein Bestellformular realisieren. Auf der Seite Bestellung(bestellung.html) kann der User die Anzahl angeben und seine Anschrift eintragen. Anschließend klickt er auf den (Submit-)Button "Weiter".
Er landet auf der nächsten Seite (checkorder.php), wo ihm angezeigt wird, was er eingegeben hat. (echo $_session["xyz"])
Hat der User seine Angaben überprüft, klicht er auf den (Submit-)Button "Bestellen".
Nun wird die File mailorder.php aufgerufen, die die Bestellung versendet und auf eine neue html-Seite (bestellungende.html) weiterverbindet (303 See other).
Nun habe ich bei folgendem Probleme:
1.
Auf der zweiten Seite (checkorder.php) wird die $_session["xyz"] zwar angezeigt, allerdings völlig unformatiert als "lange Satzwurst". Ich nehme an, das bei erneutem Aufruf der $_session die Formatierung nicht transportiert wird. (Versende ich die $_session["xyz"] gleich über die Funktion @mail ist die ankommende eMail nach Wunsch formatiert.)
Wie kann ich die Daten aus der Session in der ursprünglichen Formatierung aufrufen? Geht dies überhaupt?
2.
Die von der File mailorder.php versendete eMail kommt leer an. Woran könnte dies liegen? Wieso (bzw. Wo) könnten die Daten der $_session eurer Meinung nach verloren gehen? (auf der Seite checkorder.php scheinen sie noch da zu sein, da sie ja ausgegeben werden.)
Könnte der Fehler in der Anfangszeile
if (isset($_POST["senden"])) {
liegen?
3.
Wie würdet ihr den besagten Verlauf (Formular, Kontrolle, Versand) realisieren? Ist mein Ansatz falsch bzw. schlecht?
Anmerkung: Ich verwende keine session_id. Lediglich session_start(); und am Ende von mailorder.php session_unset(); und session_destroy();.
Herzlichen Dank.
Einen schönen Abend noch.
Moin,
Nun habe ich bei folgendem Probleme:
Auf der zweiten Seite [..]
Wie kann ich die Daten aus der Session in der ursprünglichen Formatierung aufrufen? Geht dies überhaupt?
Versuch's mal mit
echo nl2br($_session["xyz"]);
Die von der File mailorder.php versendete eMail kommt leer an. Woran könnte dies liegen? Wieso (bzw. Wo) könnten die Daten der $_session eurer Meinung nach verloren gehen? (auf der Seite checkorder.php scheinen sie noch da zu sein, da sie ja ausgegeben werden.)
Vielleicht wurde die Session nicht richtig übergeben
Könnte der Fehler in der Anfangszeile
if (isset($_POST["senden"])) {
liegen?
Woher soll ich das wissen? Ich kenn' den Quellcode nicht.
Wie würdet ihr den besagten Verlauf (Formular, Kontrolle, Versand) realisieren? Ist mein Ansatz falsch bzw. schlecht?
Nee.. find' ich besser als Kontrolle, Versand, Formular ;-)
Herzlichen Dank.
Einen schönen Abend noch.
Mit freundlichen Gruessen,
Pot
Moin,
Versuch's mal mit
echo nl2br($_session["xyz"]);
Ok, ich werde sehen.
Vielleicht wurde die Session nicht richtig übergeben
Das ist zu vermuten. Mich wundert nur, dass sie auf Seite zwei noch ausgegeben wird, bei Aubruf durch Seite drei dann aber verloren geht / bereits verschwunden ist.?
Könnte der Fehler in der Anfangszeile
if (isset($_POST["senden"])) {
liegen?
Woher soll ich das wissen? Ich kenn' den Quellcode nicht.
<?php
if (isset($_POST["senden"])) {
session_start();
$webmaster="example@example.org";
@mail($webmaster, "Betreff", $_session["mailinhalt"], "From: example@example.org");
header("HTTP/1.0 303 See other");
header("Location: http://www.example.org/ende.html");
}else{
header("HTTP/1.0 303 See other");
header("Location: http://www.example.de/error.html");
}
session_unset();
session_destroy();
?>
Danke dir.