Rolf B: Frage zur nutzung von php echo htmlspecialchars

Beitrag lesen

Hallo bjbenderTV,

Das ist so der Plan. Ich hoffe du kannst damit etwas anfangen.

Naja. orderv.php, test.php und test3.php sollten die gleiche Seite sein.

Vorschläge:

  • du kannst beim Einstieg in orderv prüfen, ob schon Daten da sind, und diese Daten dann in die Eingabefelder einsteuern. Code wie der folgende ist absolut in Ordnung:
   <input type="text" value="<?= htmlspecialchars($bestellung['name']) ?>">
  • die Variable $bestellung kann aus der Datenbank oder aus den Sessiondaten kommen. Für ein Bestellsystem braucht Du ohnehin eine DB. Das Wiedererkennen des Users zwischen den einzelnen Seiten machst Du über die Session-ID, die kann PHP selbstständig vergeben und in einem temporären Keks im Browser notieren.

  • Das Form in orderv.php sollte wirklich ein Affenformular sein. Ein solches Formular kann z.B. zwei Sichten erzeugen: Bearbeitung und Übersicht. Im Bearbeitungsmodus kommt das Eingabe-Form, im Übersichtsmodus kommt ein Anzeige-Form mit den "Zurück" und "Kostenpflichtig bestellen" Buttons.

  • Ob Du aus dem Eingabeform oder aus dem Anzeigeform kommst, kannst Du über die Werte der Submit-Buttons unterscheiden. Dem "Weiter" Button im Eingabeform gibst Du name="submit" und value="weiter", und auf dem Anzeigeform verwendest Du Buttons mit value="zurück" und value="kaufen". Darüber kannst Du die Navigation steuern. Nimm das button-Element, nicht input type="button", dann können sich angezeigter Text und Button-Value unterscheiden.

  • Am Anfang des PHP Codes lädst Du die vorhandenen Eingabedaten. Wenn keine da sind, ok, dann ist eben alles leer. Dann unterscheidest Du - ist $_POST['submit'] vorhanden? Wenn nicht, war es ein GET-Request und Du startest definitiv auf der Bestellseite. Andernfalls guckst Du,

    • ist $_POST['submit'] == "weiter", wird die Anzeigeseite aufbereitet
    • ist $_POST['submit'] == "kaufen", wird die Bestellung ins System übernommen und ggf. zur Bezahlseite weitergeleitet (z.B. mit einem location-header)
    • andernfalls wird die Eingabeseite angezeigt.

Wenn Du mir jetzt gar nicht folgen konntest, würde ich Dir den Kauf eines PHP Buchs oder die Suche nach PHP Tutorials empfehlen (unser Wiki ist da eher schlechter bestückt) und Dir raten, erstmal ein paar Wochen Selbststudium einzulegen. Ich kann Dir nicht im Forendialog deine Seite schreiben.

Rolf

--
sumpsi - posui - clusi