Επεξεργασία φόρμου PHP

Οι υπερπάνω μεταβλητές PHP $_GET και $_POST χρησιμοποιούνται για τη συλλογή δεδομένων φόρμου (form-data).

PHP - Ένας απλός HTML φόρμος

Η παρακάτω παράδειγμα δείχνει έναν απλό HTML φόρμο, ο οποίος περιέχει δύο πεδία εισαγωγής και ένα κουμπί υποβολής:

Παράδειγμα

<html>
<body>
<form action="welcome.php" method="post">
Όνομα: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>

Εκτέλεση παραδείγματος

Όταν ο χρήστης συμπληρώνει αυτή τη φόρμα και πατά το κουμπί υποβολής, τα δεδομένα της φόρμας αποστέλλονται στον φάκελο PHP με το όνομα "welcome.php" για επεξεργασία. Τα δεδομένα της φόρμας αποστέλλονται μέσω της μέθοδου HTTP POST.

Για να εμφανίσετε τα δεδομένα που υποβλήθηκαν, μπορείτε να απλά εκτυπώσετε (echo) όλες τις μεταβλητές. Ο φάκελος "welcome.php" είναι τέτοιας μορφής:

<html>
<body>
Καλωσορίσατε <?php echo $_POST["name"]; ?><br>
Η διεύθυνση ηλεκτρονικού ταχυδρομείου σας είναι: <?php echo $_POST["email"]; ?>
</body>
</html>

Έξοδος:

Καλωσορίσατε Bill
Η διεύθυνση ηλεκτρονικού ταχυδρομείου σας είναι Bill.Gates@example.com

Μπορείτε να��ήσετε τον ίδιο αποτέλεσμα χρησιμοποιώντας τον τρόπο HTTP GET:

Παράδειγμα

<html>
<body>
<form action="welcome_get.php" method="get">
Όνομα: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>

Εκτέλεση παραδείγματος

"welcome_get.php" είναι τέτοιας μορφής:

<html>
<body>
Καλωσορίσατε <?php echo $_GET["name"]; ?><br>
Η διεύθυνση ηλεκτρονικού ταχυδρομείου σας είναι: <?php echo $_GET["email"]; ?>
</body>
</html>

Το κώδικας παραπάνω είναι απλός. Ωστόσο, το πιο σημαντικό περιεχόμενο έχει παραβλεφθεί. Πρέπει να επαληθεύσετε τα δεδομένα της φόρμας για να αποφύγετε τρύπες στο σενάριο.

Λήψη υπόψη:Επιλέξτε την ασφάλεια όταν χειρίζεστε φόρμες PHP!

Αυτή η σελίδα δεν περιέχει καμία πρόγραμμα επαλήθευσης φόρμας, αλλά μας δείχνει πώς να στείλουμε και να λάβουμε δεδομένα φόρμας.

Ωστόσο, η επόμενη ενότητα θα σας εξηγήσει πώς να βελτιώσετε την ασφάλεια των φόρμας PHP! Η κατάλληλη ασφάλεια έλεγχος των φόρμας είναι πολύ σημαντική για την αντιμετώπιση επιθέσεων黑客 και σπαμ.

GET κατά opposed POST

GET και POST δημιουργούν δέκτες (π.χ., array( key => value, key2 => value2, key3 => value3, ...)). Ο δέκτης αυτός περιέχει ζευγάρια κλειδιού/τιμής, όπου το κλειδί είναι το όνομα του στοιχείου φόρμας και η τιμή είναι τα δεδομένα εισόδου από τον χρήστη.

GET and POST are considered as $_GET and $_POST. They are superglobal variables, which means that access to them does not require consideration of scope - no special code is needed, you can access them from any function, class, or file.

$_GET is an array of variables passed to the current script via URL parameters.

$_POST is an array of variables passed to the current script via HTTP POST.

When to use GET?

Information sent from the form via GET methodVisible to everyone(All variable names and values are displayed in the URL). GET has a limit on the amount of information sent, about 2000 characters. However, since the variables are displayed in the URL, it is also more convenient to add the page to bookmarks.

GET can be used to send non-sensitive data.

Note:Never use GET to send passwords or other sensitive information!

When to use POST?

Information sent from the form via POST methodInvisible to others(All names/values will be embedded in the body of the HTTP request), and there is also a limit on the amount of information sentUnlimited.

Additionally, POST supports advanced features, such as multi-part binary input when uploading files to the server.

However, since the variables are not displayed in the URL, the page cannot be added to bookmarks.

Tip:Developers prefer POST to send form data.

Let's see how to handle PHP forms safely!