Hi Leute,
ich arbeite gerade an einem Webshop. Mein Problem habe ich nun bei der Registrierung des Benutzers. Das Formular teilt sich auf 3 Dateien auf: "register_step1.php" (Name, Adressangabe und Zahlungsart), "register_step2.php (Lieferadresse)" & "register_step3.php (Zahlungseingaben und Kennwort)".
In "register_step2.php" werden die Eingaben aus der ersten Stufe per POST geladen und dann in der Session registriert. Und genauso dann in der dritten Stufe aus der zweiten Stufe.
Auf der ersten Seite habe ich allerdings eine Checkbox, um die Lieferadresse zu überspringen, wenn Adresse und Lieferadresse gleich sind.
Nun zu meinem Prob: Wenn ich Eingaben im ersten File mache und dann die Checkbox "Lieferadresse gleich Adresse" NICHT aktiviere und somit zur Stufe 2 komme und dann zur Stufe 3 linke, kann ich die Daten aus der Session abrufen. Checke ich hingegen die Checkbox und komme gleich zur 3. Stufe, kann ich nicht mehr auf die Session-Daten zugreifen. Welches Problem könnte das sein? Ich poste mal den Code:
register_step1.php (Nur mal Session-Unregister, damit die Session sauber ist)
register_step2.php (Registrierung der Eingaben aus Stufe 1)
register_step3.php (Registrierung der Daten aus Stufe 2)
Die Daten aus der Session rufe ich dann so ab:
Muss ich auf jeder Seite eine neue Session starten oder genügt das einmal?
Danke für eure Hilfe!
Greetz Lukas
ich arbeite gerade an einem Webshop. Mein Problem habe ich nun bei der Registrierung des Benutzers. Das Formular teilt sich auf 3 Dateien auf: "register_step1.php" (Name, Adressangabe und Zahlungsart), "register_step2.php (Lieferadresse)" & "register_step3.php (Zahlungseingaben und Kennwort)".
In "register_step2.php" werden die Eingaben aus der ersten Stufe per POST geladen und dann in der Session registriert. Und genauso dann in der dritten Stufe aus der zweiten Stufe.
Auf der ersten Seite habe ich allerdings eine Checkbox, um die Lieferadresse zu überspringen, wenn Adresse und Lieferadresse gleich sind.
Nun zu meinem Prob: Wenn ich Eingaben im ersten File mache und dann die Checkbox "Lieferadresse gleich Adresse" NICHT aktiviere und somit zur Stufe 2 komme und dann zur Stufe 3 linke, kann ich die Daten aus der Session abrufen. Checke ich hingegen die Checkbox und komme gleich zur 3. Stufe, kann ich nicht mehr auf die Session-Daten zugreifen. Welches Problem könnte das sein? Ich poste mal den Code:
register_step1.php (Nur mal Session-Unregister, damit die Session sauber ist)
PHP-Code:
session_start();
// Unregister
session_unregister("salutation");
session_unregister("firstname");
session_unregister("lastname");
session_unregister("firmname");
session_unregister("street");
session_unregister("housenumber");
session_unregister("method_of_payment");
session_unregister("zipcode");
session_unregister("country");
session_unregister("phone");
session_unregister("fax");
session_unregister("email");
session_unregister("deliveryadress_session");
session_unregister("salutation_delivery");
session_unregister("firstname_delivery");
session_unregister("lastname_delivery");
session_unregister("firmname_delivery");
session_unregister("street_delivery");
session_unregister("housenumber_delivery");
session_unregister("method_of_payment_delivery");
session_unregister("zipcode_delivery");
session_unregister("country_delivery");
session_unregister("phone_delivery");
session_unregister("fax_delivery");
session_unregister("email_delivery");
session_destroy();
PHP-Code:
$salutation = $_POST["fsalutation"];
$firstname = $_POST["ffirstname"];
$lastname = $_POST["flastname"];
$firmname = $_POST["ffirmname"];
$street = $_POST["fstreet"];
$housenumber = $_POST["fhousenumber"];
$method_of_payment = $_POST["fmethodofpayment"];
$zipcode = $_POST["fzipcode"];
$city = $_POST["fcity"];
$country = $_POST["fcountry"];
$phone = $_POST["fphone"];
$fax = $_POST["ffax"];
$email = $_POST["femail"];
$deliveryadress_checkbox = $_POST["deliveryadress_checkbox"];
session_start();
session_register("salutation");
session_register("firstname");
session_register("lastname");
session_register("firmname");
session_register("street");
session_register("housenumber");
session_register("method_of_payment");
session_register("zipcode");
session_register("country");
session_register("phone");
session_register("fax");
session_register("email");
session_register("deliveryadress_checkbox");
PHP-Code:
$salutation_delivery = $_POST["fsalutation_delivery"];
$firstname_delivery = $_POST["ffirstname_delivery"];
$lastname_delivery = $_POST["flastname_delivery"];
$firmname_delivery = $_POST["ffirmname_delivery"];
$street_delivery = $_POST["fstreet_delivery"];
$housenumber_delivery = $_POST["fhousenumber_delivery"];
$zipcode_delivery = $_POST["fzipcode_delivery"];
$city_delivery = $_POST["fcity_delivery"];
$country_delivery = $_POST["fcountry_delivery"];
$phone_delivery = $_POST["fphone_delivery"];
$fax_delivery = $_POST["ffax_delivery"];
$email_delivery = $_POST["femail_delivery"];
// Register
session_register("salutation_delivery");
session_register("firstname_delivery");
session_register("lastname_delivery");
session_register("firmname_delivery");
session_register("street_delivery");
session_register("housenumber_delivery");
session_register("zipcode_delivery");
session_register("city_delivery");
session_register("country_delivery");
session_register("phone_delivery");
session_register("fax_delivery");
session_register("email_delivery");
PHP-Code:
$method_of_payment = $_SESSION["method_of_payment"];
echo "Zahlungsart: $method_of_payment";
Danke für eure Hilfe!
Greetz Lukas
Kommentar