Neueste Web-Entwicklung Tutorials
 

PHP 5 Formularhandhabungs


Die PHP-Superglobals $ _GET und $ _POST werden verwendet, form Daten zu sammeln.


PHP - ein einfaches HTML-Formular

Das folgende Beispiel zeigt ein einfaches HTML-Formular mit zwei Eingabefeldern und einer Submit-Button:

Beispiel

<html>
<body>

<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>
Führen Sie zB »

Wenn der Benutzer über das Formular ausfüllt und klickt auf die Absenden - Button wird die Formulardaten zur Verarbeitung an eine PHP - Datei mit dem Namen gesendet "welcome.php" . Die Formulardaten werden mit der HTTP-POST-Methode gesendet.

die eingereichten Daten anzuzeigen, die Sie einfach alle Variablen echo könnte. Die "welcome.php" sieht wie folgt aus :

<html>
<body>

Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>

</body>
</html>

Die Ausgabe könnte so etwas wie diese:

Welcome John
Your email address is [email protected]

Das gleiche Ergebnis könnte auch die HTTP-GET-Methode erreicht werden:

Beispiel

<html>
<body>

<form action="welcome_get.php" method="get">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>
Führen Sie zB »

und "welcome_get.php" sieht wie folgt aus :

<html>
<body>

Welcome <?php echo $_GET["name"]; ?><br>
Your email address is: <?php echo $_GET["email"]; ?>

</body>
</html>

Der obige Code ist ganz einfach. Doch das Wichtigste fehlt. Sie müssen Formulardaten validieren Ihr Skript vor bösartigem Code zu schützen.

Denken Sie Sicherheit , wenn PHP Formularverarbeitung!

Diese Seite keine Formularvalidierung enthalten, es zeigt nur, wie Sie Formulardaten senden und abrufen können.

Allerdings werden die folgenden Seiten zeigen, wie PHP-Formulare mit Sicherheit im Auge zu verarbeiten! Die richtige Validierung von Formulardaten ist wichtig, um Ihre Form vor Hackern und Spammern zu schützen!


GET vs. POST

Sowohl GET und POST ein Array (zB erstellen array( key => value, key2 => value2, key3 => value3, ...) ). Dieses Array enthält Schlüssel / Wert-Paare, wobei Schlüssel die Namen der Formularsteuer sind und Werte sind die Eingangsdaten von dem Benutzer.

Sowohl GET und POST wird behandelt, als $ _GET und $ _POST. Dies sind superglobals, was bedeutet, dass sie immer zugänglich sind, unabhängig von Umfang - und Sie können sie von jeder Funktion, Klasse oder eine Datei zugreifen, ohne etwas Besonderes zu tun.

$ _GET ist ein Array von Variablen für das aktuelle Skript über die URL-Parameter übergeben.

$ _POST ist ein Array von Variablen für das aktuelle Skript über die HTTP-POST-Methode übergeben.


Wann verwendet GET?

Informationen aus einem Formular mit der GET - Methode ist für jeden sichtbar gesendet (alle Variablennamen und Werte in der URL angezeigt werden). GET auch Grenzen für die Menge an Informationen zu senden hat. Die Begrenzung ist etwa 2000 Zeichen. Da jedoch die Variablen in der URL angezeigt werden, ist es möglich, Lesezeichen der Seite. Dies kann in einigen Fällen nützlich sein.

GET kann für das Senden von nicht-sensible Daten verwendet werden.

Note: GET sollte NIE für das Senden Kennwörter oder andere vertrauliche Informationen verwendet werden!


Wenn zu POST verwenden?

Informationen aus einem Formular mit der Methode POST gesendet unsichtbar für andere (all names/values are embedded within the body of the HTTP request) - (all names/values are embedded within the body of the HTTP request) und haben keine Grenzen für die Menge an Informationen zu senden.

Darüber hinaus unterstützt POST erweiterte Funktionen wie Unterstützung für binäre Eingangsmehrteiligen, während Dateien auf den Server hochladen.

Da jedoch die Variablen in der URL nicht angezeigt werden, ist es nicht möglich, Lesezeichen der Seite.

Entwickler bevorzugen POST für Formulardaten zu senden.

Als nächstes werden wir sehen, wie wir PHP bildet die sichere Art und Weise verarbeiten kann!