⊗ppPmFmOFH 299 of 447 menu

Formularverarbeitung in einer einzigen PHP-Datei

In der vorherigen Lektion war unser Formular auf einer Seite platziert und wurde an eine andere gesendet. Eigentlich ist das nicht notwendig. Wenn man das Attribut action leer lässt oder es komplett entfernt, wird das Formular an dieselbe Seite gesendet.

So wird es funktionieren: Beim ersten Aufruf der Seite füllen wir das Formular mit Daten aus und klicken auf den Button. Danach wird die Seite aktualisiert und ihr Code erneut ausgeführt, aber diesmal mit den Formulardaten.

Sehen wir uns ein Beispiel an. Nehmen wir an, wir haben in einer Datei ein Formular und dessen Verarbeitung:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php var_dump($_GET); ?>

Beim ersten Aufruf der Seite gibt die Funktion var_dump ein leeres Array aus. Nach dem Absenden des Formulars gibt es bereits die Formulardaten aus. Das heißt, das erste Mal ist $_GET leer, und das zweite Mal - enthält es die Formulardaten.

Das kann zu Problemen führen. Nehmen wir an, zum Beispiel, wir geben Zahlen in das Formular ein und möchten die Summe dieser Zahlen auf dem Bildschirm ausgeben:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php echo $_GET['test1'] + $_GET['test2']; ?>

In diesem Fall werden wir beim ersten Aufruf der Seite PHP-Fehler sehen, die dadurch verursacht werden, dass das Array $_GET leer ist, wir aber auf seine Elemente zugreifen.

Hier sollte man sagen, dass bei Ihnen Fehler möglicherweise nicht im Browser erscheinen. In diesem Fall prüfen Sie, ob die Fehleranzeige für PHP aktiviert ist, und vergewissern Sie sich, dass es Ihr erster Aufruf der Seite ist und in der Adressleiste keine Formulardaten vorhanden sind.

Lassen Sie uns das Problem beheben. Dazu fügen wir eine Bedingung hinzu, in der wir prüfen, ob das Formular abgeschickt wurde.

Man kann zum Beispiel $_GET auf Nicht-Leerheit prüfen. Wenn $_GET nicht leer ist - dann wurde das Formular abgeschickt und die Summierung kann durchgeführt werden. Andernfalls ist es noch der erste Aufruf der Seite und die Summierung wird nicht durchgeführt. Hier also der korrigierte Code:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php if (!empty($_GET)) { echo $_GET['test1'] + $_GET['test2']; } ?>

Fragen Sie den Benutzer nach Nachname, Vorname und Vatersname. Geben Sie nach dem Absenden des Formulars die eingegebenen Daten auf dem Bildschirm aus.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen