Μεταφορά δεδομένων μέσω μορφών HTML στο PHP. PHP _ ίδιος στο χαρακτηριστικό φόρμας δράσης

Σε αυτό το μάθημα PHP, οι βασικές έννοιες της γλώσσας θεωρούνται: Έντυπα επεξεργασίας με αίτημα αποστολής μιας ιστοσελίδας, οι κύριες δομές ελέγχου PHP κατά την επεξεργασία των εντύπων, καταγράφουν δεδομένα από τη μορφή PHP σε ένα αρχείο, τη λειτουργία ημερομηνίας στο PHP Ημερομηνία ().

1. Υπενθυμίστε ότι όλα τα αρχεία php. Δοκιμάστε μόνο όταν τρέχετε Ντένβερ Και μόνο από τη γραμμή διεύθυνσης του προγράμματος περιήγησης. Δεν μπορείτε να εκτελέσετε αρχεία PHP με διπλό κλικ!

2. Εκτελέστε το Ντένβερ.

Άσκηση 1. Επεξεργασία απλής φόρμας

Σε αυτή την κατηγορία PHP, εξετάστε την επεξεργασία φόρμας στη σελίδα HTML, τη δημιουργία μεταβλητών PHP για πεδία φόρμας.

1. Δημιουργήστε μια φόρμα όπως στο ΣΧ. 3.1. Είναι κατανοητό ότι όταν κάνετε κλικ στο κουμπί αποστολής, τα δεδομένα από τη φόρμα θα μεταφερθούν στον διαχειριστή και ο πελάτης θα δει την απάντηση στην οθόνη Επεξεργασία παραγγελιών. Εάν είστε δύσκολοι να γράψετε μια φόρμα και, στη συνέχεια, εφαρμόστε τον παρακάτω κώδικα και αποθηκεύστε το στο φάκελο php_2. με το όνομα forma_bob.html Σας υπενθυμίζουμε ότι η μορφή του χειριστή φόρμας είναι γραμμένη στο χαρακτηριστικό Δράση. Ετικέτα μορφή.

Εικόνα 3.1.

2. Για να λάβει ο χρήστης μια απάντηση μετά την αποστολή δεδομένων, πρέπει να δημιουργήσετε ένα χειριστή φόρμας στο PHP. Δημιουργήστε τον παρακάτω κώδικα και αποθηκεύστε το στο φάκελο. php_2. με το όνομα zakaz.php.

3. Ελέγξτε την απόδοση του χειριστή. Για να το κάνετε αυτό, εκτελέστε το αρχείο forma_bob.html Μέσω του προγράμματος περιήγησης πληκτρολογώντας Γραμμή διεύθυνσης Διεύθυνση του προγράμματος περιήγησης http: //localhost/php_2/forma_bob.html

4. Στο πεδίο φόρμας, πληκτρολογήστε αριθμούς και κάντε κλικ στην επιλογή στείλτε μια παραγγελία. Το αποτέλεσμα βρίσκεται στο ΣΧ. 3.2.

Εικόνα 3.2.

Μεταβλητά έντυπα

Το όλο θέμα της χρήσης της φόρμας παραγγελίας είναι η λήψη πληροφοριών σχετικά με τη σειρά του πελάτη, την οποία εισήλθε από το πληκτρολόγιο. Μέσα στο σενάριο PHP σε κάθε ένα από τα πεδία φόρμας, μπορείτε να αποκτήσετε πρόσβαση σε μια μεταβλητή που έχει το ίδιο όνομα με το πεδίο φόρμας. Στη γλώσσα Μεταβλητές PHP εύκολο να αναγνωρίσει επειδή ξεκινούν από το σημάδι του δολαρίου $ .

Μπορείτε να έχετε πρόσβαση στα περιεχόμενα του πεδίου. κουρδιστής Με τους ακόλουθους τρόπους:

$ tireqty // σύντομο στυλ

$ _Post ['tireqty'] // μεσαίο στυλ

$ Http_post_vars ['tireqty'] // Long Style

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

Αντιγραφή των περιεχομένων μιας μεταβλητής στην άλλη, εφαρμόζουμε τη λειτουργία ανάθεσης, για τον χαρακτηρισμό της οποίας στη γλώσσα PHP χρησιμοποιεί ένα σημάδι ισότητας ( = ). Η συμβολοσειρά κώδικα που αναφέρεται παρακάτω δημιουργεί μια νέα μεταβλητή ονομασία $ tireqty και μεταφέρει τα περιεχόμενα $ _Post ['tireqty'] Σε αυτή τη νέα μεταβλητή:

$ tireqty \u003d $ _ post ['tireqty']

Δεδομένου ότι αυτό το σενάριο δεν δημιουργεί καμία έξοδο, δεν υπάρχει διαφορά, θα τοποθετηθεί πάνω ή κάτω από τον περιγραφέα . Συνήθως αυτό το μπλοκ τοποθετείται στην αρχή του σεναρίου.

5. Στο αρχείο zakaz.php. Αλλάξτε τον κωδικό ως εξής και ελέγξτε την απόδοση της φόρμας. Το αποτέλεσμα βρίσκεται στο ΣΧ. 3.3. Οι αριθμοί ενδέχεται να διαφέρουν ανάλογα με τα δεδομένα που έχετε εισάγει.

Εικόνα 3.3.

Άσκηση 2. Δημιουργία αριθμομηχανής για τη φόρμα "εξαρτήματα αυτοκινήτων από τον Bob"

Σε αυτό το μάθημα PHP, εξετάστε τις κύριες αριθμητικές λειτουργίες PHP για τους υπολογισμούς.

1. Αρχείο forma_bob.html Αποθήκευση κάτω από το όνομα forma_bob_2.html

2. Αρχείο zakaz.php. Αποθήκευση κάτω από το όνομα zakaz_2.php.

3. Στο αρχείο forma_bob_2.html Η μορφή των "εξαρτημάτων αυτοκινήτων από τον Bob" αλλάζει έτσι ώστε να πάρει την άποψη, όπως στο ΣΧ. 3.4. Μην ξεχάσετε να αλλάξετε το όνομα του χειριστή zakaz_2.php.. Εάν δυσκολευτείτε, μπορείτε να εφαρμόσετε τον παρακάτω κώδικα.

Εικόνα 3.4.

4. Δημιουργήστε μια νέα επεξεργασία φόρμας στο αρχείο zakaz_2.php.Χρησιμοποιώντας τις γνώσεις που αποκτήθηκαν από τα προηγούμενα μαθήματα. Η επεξεργασία πρέπει να περιέχει την ακόλουθη έξοδο και προϋποθέσεις:

1. Το κόστος κάθε προϊόντος καθορίζεται από τη σταθερά. Η σταθερά PHP ρυθμίζεται από τη λειτουργία ορίζοντα. Παράδειγμα Ορίστε ("Pokrprice", 10). Η πρώτη παράμετρος λειτουργίας είναι το όνομα της σταθεράς, το οποίο γράφεται με κεφαλαία γράμματα, η δεύτερη παράμετρος είναι η τιμή της σταθεράς.

2. Λογική λειτουργία Ή δηλώνει ||

3. Λογική λειτουργία ΚΑΙ δηλώνει && .

4. Συγκρίνετε τις λειτουργίες: Περισσότερα > , πιο λιγο < , περισσότερο ή ίσο\u003e \u003d, λιγότερο ή ίσα <=

5. Λειτουργία που διαβάζει χρόνο από έναν υπολογιστή Ημερομηνία ("H: I, J F")

6. Λειτουργία που μορφοποιεί τον αριθμό των ερωτηματολογίων number_format.. Παράδειγμα number_format ($ Sumnalog, 2). Η πρώτη παράμετρος είναι μια μεταβλητή που σημάδια μορφής, η δεύτερη παράμετρος είναι ο αριθμός των ερωτηματολογίων.

7. Εάν δυσκολεύεστε να δημιουργήσετε μια επεξεργασία φόρμας, μπορείτε να χρησιμοποιήσετε τον παρακάτω κώδικα (Εικ. 3.8):

Εικόνα 3.8.

Άσκηση 3. Καταγραφή δεδομένων από τη φόρμα σε ένα αρχείο κειμένου

Στο μάθημα PHP μας, εξετάζουμε επίσης τα δεδομένα καταγραφής από τη φόρμα σε ένα αρχείο κειμένου και την ημερομηνία () λειτουργία ημερομηνίας κατά την επεξεργασία του σχήματος.

1. Στο αρχείο χειριστή "εξαρτήματα αυτοκινήτων σχετικά με το BOB" μετά το τελευταίο στήριγμα κλεισίματος, προσθέστε τον κώδικα.

Εικόνα 3.9.

2. Ελέγξτε το πρόγραμμα. Αρχείο κειμένου Παραγγελίες.txt Δημιουργήθηκε αυτόματα, δείτε τα περιεχόμενά του.

Ελέγξτε την εργασία

Μετά τη μελέτη αυτού του μαθήματος, η PHP καλείται να εκτελέσει μια εργασία αναφοράς για να εξασφαλίσει τη γνώση που αποκτήθηκε.

Εικόνα 3.10

1. Δημιουργήστε ένα σχήμα, όπως στο ΣΧ. 3.10.

2. Δημιουργήστε μια επεξεργασία φόρμας που θα εμφανίσει τα αποτελέσματα της παραγγελίας, όπως στο ΣΧ. 3.11 (Τα αποτελέσματα θα διαφέρουν ανάλογα με τα δεδομένα που έχουν εισαχθεί στη φόρμα.

3. Τα αποτελέσματα της παραγγελίας πρέπει να καταγράφονται σε ένα ξεχωριστό αρχείο κειμένου.

Ο κατάλογος παραγγελιών πρέπει να αντικατοπτρίζει τα εξής:

  • Είδος αγαθών.
  • Κόστος 1 PC. εμπορεύματα.
  • Τον αριθμό των παραγγελθέντων αγαθών.
  • Το συνολικό κόστος της παραγγελίας χωρίς παράδοση, φόρος πωλήσεων και εκπτώσεων.
  • Κόστος παράδοσης.
  • Την αξία του φόρου πώλησης.
  • Έκπτωση σε ποσοστό και ρούβλια.
  • Αξία παραγγελίας, λαμβάνοντας υπόψη την παράδοση, τον φόρο πωλήσεων και τις εκπτώσεις.
  • Διεύθυνση παράδοσης.

Όροι του προβλήματος:

  1. Κόστος αγαθών:
    • Χειρολαβές - 10 ρούβλια.
    • Βιβλία - 100 ρούβλια.
    • Σουβενίρ - 1000 τρίψιμο.
    • Υπολογιστής - 10.000 ρούβλια.
  2. Φόρος πωλήσεων - 18%. Ο φόρος προστίθεται στη συνολική αξία όλων των αγαθών λαμβάνοντας υπόψη την έκπτωση.
  3. Κόστος αποστολής - 500 ρούβλια. Το κόστος αποστολής προστίθεται στη συνολική αξία όλων των αγαθών που λαμβάνουν υπόψη τις εκπτώσεις και τον φόρο επί των πωλήσεων.
  4. Εκπτώσεις:
    • Κατά την παραγγελία λαβών ή βιβλίων λιγότερο από 5 τεμ. Έκπτωση - 5%, από 5 έως 10 τεμ. - 10%, πάνω από 10 τεμ. - είκοσι%;
    • Κατά την παραγγελία αναμνηστικών ή υπολογιστών από 10 έως 20 τεμ. Έκπτωση - 10%, από 20 έως 30 τεμ. - 20%, πάνω από 30 τεμ. - 40%.

"Η φόρμα PHP λειτουργεί με τη μορφή στο PHP" - το όγδοο μάθημα του Tutorial PHP. Σε αυτό το μάθημα, θα μιλήσουμε για τις μορφές επεξεργασίας PHP.

Εργασία με έντυπα

Το PHP σάς επιτρέπει να επεξεργαστείτε τα δεδομένα που ο χρήστης εισήλθε στα πεδία φόρμας. Μετά την ενεργοποίηση του κουμπιού υποβολής, τα δεδομένα αποστέλλονται στη σελίδα - ο χειριστής που καθορίζεται στο πεδίο πεδίου στοιχείου

. Στη σελίδα χειριστή, το σενάριο PHP βρίσκεται, το οποίο εκτελεί ορισμένες λειτουργίες στα δεδομένα που λαμβάνονται, για παράδειγμα, δημιουργούν και στέλνουν ένα γράμμα στα καθορισμένα χρήστη χρήστη.

Μεταφέρετε δεδομένα στον χειριστή.

Τα δεδομένα από τη φόρμα μεταδίδονται στον διακομιστή ως αλληλουχία ονόματος / τιμής ζευγών. Αυτό σημαίνει ότι το όνομα κάθε στοιχείου μορφής (που εμφανίζεται στο χαρακτηριστικό ονόματος της ετικέτας) σχετίζεται με την τιμή αυτού του στοιχείου (που έχει εισαχθεί ή στον επιλεγμένο χρήστη). Το όνομα / τιμή μορφής που χρησιμοποιείται για τη μετάδοση, έχει μια άποψη του ονόματος \u003d τιμή.

Όλα τα δεδομένα που μεταδίδονται από τη φόρμα στο πρόγραμμα χειριστή βρίσκονται στις ακόλουθες suryglobal συστοιχίες: $ _ get, $ _post, και $ _request.

$ _Get - περιέχει όλες τις τιμές που μεταδίδονται από τη μέθοδο GET.

$ _Post-Holds όλες τις τιμές που μεταδίδονται από τη μέθοδο Post.

$ _Request -Δεν όλες τις τιμές που μεταδίδονται ταχυδρομικώς και λαμβάνουν μεθόδους.

Επώνυμο:

Πόλη:

Μήνυμα:

Αφού πιέσετε το κουμπίυποβάλλουν Όλα τα δεδομένα μεταδίδονται στον χειριστήprocess.php. . Καθώς αυτή η φόρμα χρησιμοποιεί τη μέθοδοΘΕΣΗ. Όλες οι μεταβλητές θα βρίσκονται μέσα στη συστοιχία $ _Post.

Τώρα ας δημιουργήσουμε έναν χειριστή:

ECHO "Όνομα: " $ _Post [fname]. "
»;
ECHO "Επώνυμο: " $ _Post ["lname"]. "
»;
Echo "Πόλη: " $ _Post ["πόλη"]. "
»;
Ηχώ "
»;
Echo "Το μήνυμά σας:". $ _Post ["μήνυμα"];
?>

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

Array $ _request

Χρήση του Superglobal Array$ _Request. Είναι πολύ βολικό, ειδικά όταν δεν είναι γνωστό πώς μεταφέρθηκαν τα δεδομένα.

Χάρη στον κύκλο foreach, μπορείτε να ταξινομήσετε την αξία της συστοιχίας $ _request.

ΣΕ Αυτό το παράδειγμα Εμφανίζονται στην οθόνη όλες τις τιμές της συστοιχίας $ _request. Αυτό μπορεί να γίνει για να ελέγξετε την ορθότητα της καταχώρησης δεδομένων από τον χρήστη. Δηλαδή, ο χρήστης εισάγει τα δεδομένα στη φόρμα, κλικ με την αποστολή, αλλά αντί να επεξεργαστεί τα δεδομένα που εμφανίζεται στην οθόνη το μήνυμα με τα δεδομένα που έχουν εισαχθεί και η επιγραφή επιβεβαιώνουν ή απορρίπτονται. Αυτή η ιδέα εφαρμόζεται σε πολλούς ιστότοπους και γενικά σε πολλά προγράμματα.

Σε αυτό το μάθημα, μάθαμε να χρησιμοποιούμε PHP σε μορφές επεξεργασίας. Όπως μπορείτε να δείτε php είναι Ισχυρό εργαλείο Μορφές επεξεργασίας, επιτρέποντάς σας να παράγετε μια μεγάλη ποικιλία χειρισμών σε δεδομένα χρήστη, όπως η αποθήκευση δεδομένων χρηστών σε μια βάση δεδομένων για μεταγενέστερη εξουσιοδότηση, στέλνοντας ένα μήνυμα στο User Mail και πολλά άλλα.

Στο επόμενο μάθημα, θα μάθουμε να ελέγξουμε τα δεδομένα που εισάγονται από τον χρήστη πριν από την άμεση επεξεργασία.

Έχετε ένα javascript μπλοκαρισμένο στο πρόγραμμα περιήγησής σας. Επιτρέψτε στο Javascript να εργαστείτε τον ιστότοπο!

Εργασία με έντυπα

Τα έντυπα HTML χρησιμοποιούνται για τη μεταφορά δεδομένων από την ιστοσελίδα της ιστοσελίδας. Για την εργασία με τα έντυπα στο PHP παρέχει ορισμένα ειδικά κεφάλαια.

Προκαθορισμένες μεταβλητές

Στο PHP, υπάρχουν ορισμένες προκαθορισμένες μεταβλητές που δεν αλλάζουν όταν εκτελούν όλες τις εφαρμογές σε ένα συγκεκριμένο περιβάλλον. Ονομάζονται επίσης μεταβλητές περιβάλλοντος ή μεταβλητές. Αντικατοπτρίζουν τις ρυθμίσεις του Web-Server του Apache, καθώς και πληροφορίες σχετικά με το αίτημα για αυτό το πρόγραμμα περιήγησης. Είναι δυνατή η λήψη τιμών URL, συμβολοσειρές ερωτημάτων και άλλα στοιχεία αίτησης HTTP.

Όλες οι προκαθορισμένες μεταβλητές περιέχονται στον παγκόσμιο συστατικό πίνακα $. Εκτός από τις μεταβλητές περιβάλλοντος, ο πίνακας αυτός περιέχει επίσης παγκόσμιες μεταβλητές που ορίζονται στο πρόγραμμα.

Παράδειγμα 1.

Δείτε τη διάταξη $ globals $ Αξία) echo "\\ $ globals [\\" $ key \\ "] \u003d\u003d $ αξία
"; ?>

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

ΜεταβλητόςΠεριγραφήΚτίριο
$ _Server ["http_user_agent"]Όνομα και έκδοση πελάτηMozilla / 5.0 (συμβατό, googlebot / 2.1; + http: //www.google.com/bot.html)
$ _Server ["Remote_addr"]διεύθυνση IP144.76.94.14
getenv ("http_x_forwarded_for")Εσωτερική διεύθυνση IP πελάτη
$ _Server ["request_method"]Μέθοδος αιτήματος (λήψη ή θέση)Παίρνω.
$ _Server ["query_string"]Όταν ζητάτε να αποκτήσετε κωδικοποιημένα δεδομένα που μεταδίδονται με τη διεύθυνση URL
$ _Server ["request_url"]Πλήρης διεύθυνση του πελάτη, συμπεριλαμβανομένης μιας συμβολοσειράς ερωτήματος
$ _Server ["http_referer"]Τη διεύθυνση της σελίδας με την οποία έγινε η αίτηση
$ _Server ["php_self"]Πορεία προς το πρόγραμμα που εκτελείται/Index.php.
$ _Server ["server_name"]Τομέαδικτυακός τόπος
$ _Server ["request_uri"]Τρόπος/Php/php_form.php.

Επεξεργασία εισόδου χρηστών

Το πρόγραμμα επεξεργασίας εισόδου PHP μπορεί να διαχωριστεί από το κείμενο HTML που περιέχει καλούπια εισόδου και μπορείτε να κανονίσετε σε μία σελίδα.

Παράδειγμα 2.

Ένα παράδειγμα επεξεργασίας εισροών

"Μέθοδος \u003d" post "\u003e

Αριθμός κάρτας:



Δεν υπάρχει κουμπί μεταφοράς δεδομένων, επειδή Μια φόρμα που αποτελείται από ένα πεδίο μεταδίδεται αυτόματα όταν πατάτε το πλήκτρο .

Κατά την επεξεργασία ενός στοιχείου με μια πολλαπλή επιλογή για να αποκτήσετε πρόσβαση σε όλες τις επιλεγμένες τιμές, πρέπει να προσθέσετε μερικές τετραγωνικές αγκύλες στο όνομα στοιχείου. Για να επιλέξετε πολλαπλές εκδηλώσεις, κρατήστε το πλήκτρο CTRL.

Παράδειγμα 3.1.

Λίστα



Το αποτέλεσμα του Παραδείγματος 3.1:

Τσάι καφέ ζαμπόν τυρί

Παράδειγμα 3.2.

Λίστα επεξεργασίας από το αρχείο ex1.htm

    "Foreach ($ στοιχείο ως $ αξία) Echo"
  • $ Αξία "; echo"
"; ?>

Παράδειγμα 4. Λήψη τιμών από σημαίες ελέγχου

$ V) (αν ($ v) Echo "Γνωρίζετε τη γλώσσα προγραμματισμού $ K!
"Αλλιώς η Echo" δεν γνωρίζετε τη γλώσσα προγραμματισμού $ k.
"; } } ?>
"Μέθοδος \u003d" POST "\u003e Ποιες γλώσσες προγραμματισμού γνωρίζετε;
Php.
Πίδακας

Το αποτέλεσμα του Παραδείγματος 4:

Ποιες γλώσσες προγραμματισμού γνωρίζετε; Php. Πίδακας

Παράδειγμα 5.

"; ?>
"Μέθοδος \u003d" post "\u003e

Μπορείτε να χειριστείτε μορφές, χωρίς να ανησυχείτε για τα πραγματικά ονόματα πεδίων.

Για να το κάνετε αυτό, μπορείτε να χρησιμοποιήσετε (ανάλογα με τη μέθοδο μετάδοσης) μια συσχετιστική σειρά $ http_get_vars ή $ http_post_vars. Αυτές οι συστοιχίες περιέχουν ένα όνομα / τιμή ζευγών για κάθε στοιχείο της μεταδιδόμενης μορφής. Εάν δεν σας ενδιαφέρει, μπορείτε να χρησιμοποιήσετε μια συσχετιστική συστοιχία $ _request.

ΠΑΡΑΔΕΙΓΜΑ 6.

Επεξεργασία αυθαίρετης εισόδου ανεξάρτητα από τη μέθοδο μεταφοράς $ Αξία) Echo "$ key \u003d\u003d $ αξία
"; ?>

Παράδειγμα 7. Πατώντας το κουμπί χρησιμοποιώντας τον χειριστή "@".

">

Χρησιμοποιώντας τη λειτουργία κεφαλίδας (), στέλνετε την κεφαλίδα του προγράμματος περιήγησης, μπορείτε να ανακατευθύνετε τον χρήστη σε μια νέα σελίδα.

Για παράδειγμα:

Μεταφορά αρχείου στο διακομιστή. Pour αρχείο. Μεταφόρτωση.

Το PHP σας επιτρέπει να μεταφέρετε αρχεία στο διακομιστή. Η φόρμα HTML που έχει σχεδιαστεί για να μεταδίδει το αρχείο πρέπει να περιέχει το όρισμα Ectype \u003d "Multipart / Form-Data".

Επιπλέον, ένα κρυφό πεδίο με το όνομα max_file_size θα πρέπει να βρίσκεται στη φόρμα μπροστά από το αρχείο για να αντιγράψει το αρχείο. Το μέγιστο μέγεθος του μεταδιδόμενου αρχείου πρέπει να καταγράφεται σε αυτό το κρυφό πεδίο (συνήθως όχι περισσότερο από 2 MB).

Το ίδιο το πεδίο είναι να μεταφέρει το αρχείο - το συνηθισμένο στοιχείο εισόδου με το όρισμα τύπου \u003d "αρχείο".

Για παράδειγμα:

"Μέθοδος \u003d" post "\u003e

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

Παράδειγμα 8.

Επεξεργασία του αρχείου που μεταφέρεται "Echo" Όνομα: "Αρχεία $ _ [" userfile "] [" Όνομα "]."
"Echo" Μέγεθος: "$ _ Αρχεία [" userfile "] [" μέγεθος "]."
"Echo" Τύπος: ". Αρχεία $ _ [" userfile "] [" Τύπος "]."
"; } ?>
"Μέθοδος \u003d" post "\u003e



Παραδείγματα λήψης αρχείων στο διακομιστή

Εάν υπάρχουν προβλήματα με το διακομιστή Transcoding του αποθηκευμένου αρχείου, το σύμβολο κώδικα 0x00 Αντικατασταθεί με ένα χώρο (σύμβολο κώδικα 0x20), προσθέστε στο αρχείο httpd.conf. Από τον κατάλογο Apache (/ USR / Local / Apache) τις ακόλουθες γραμμές.

CharsTRECODEMULTIPARTFORMS OFF

Ένα από τα πιο κοινά καθήκοντα στην πρακτική είναι η εφαρμογή της μορφής ανατροφοδότησης. Ο Tobash γράφει τον κώδικα HTML της, το σχεδιάζει στο CSS, δημιουργώντας ένα σενάριο PHP που θα χειριστεί τα δεδομένα που έλαβε από τον χρήστη και θα τα έστειλε στο ταχυδρομείο μας, γράφοντας ένα σενάριο JS που θα ελέγξει τη φόρμα για να εισέλθει επαρκώς τα δεδομένα εισόδου, την προστασία του Η παράκαμψη του spam μας να διασφαλίσει ότι το γραμματοκιβώτιό μας δεν πέφτει από επιθέσεις των bots.

Όλες οι παραπάνω στιγμές θα ληφθούν υπόψη στην αναθεώρησή μας και θα σχολιάσουν λεπτομερώς.

Έτσι, αρχίζουμε να δημιουργούμε μια φόρμα ανάδρασης:

Html

Πρώτα απ 'όλα, γράφουμε κώδικα HTML, έχει οριστεί σε πεδία που θα γεμίσουν τον χρήστη. Θα συνεχίσουν να εκδίδονται. Ο κωδικός κώδικα μοιάζει με αυτό:

< form method= "post" action= "mail.php" > < div class = "left" > < label for = "name" > Ονομα: < input maxlength= "30" type= "text" name= "name" /> < label for = "phone" > Τηλέφωνο: < input maxlength= "30" type= "text" name= "phone" /> < label for = "mail" > ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ: < input maxlength= "30" type= "text" name= "mail" /> < div class = "right" > < label for = "message" > Μήνυμα: < textarea rows= "7" cols= "50" name= "message" > < input type= "submit" value= "Στείλετε" />

Και οπτικά μοιάζει με αυτό:

Συμφωνώ, ενώ όλα είναι άσχημη και τίποτα δεν είναι σαφές, αλλά μόλις ξεκινήσαμε.

Εξετάστε τις παραπάνω λεπτομέρειες κώδικα:

  • < form method= "post" action= "mail.php" > …


    Για να δημιουργήσετε μια φόρμα, πρέπει να χρησιμοποιήσετε την ετικέτα φόρμας. Είναι αυτός που καθορίζει την αρχή και το τέλος της μορφής του διερμηνέα κώδικα. Αυτός, όπως κάθε ετικέτα, έχει ένα σύνολο χαρακτηριστικών, αλλά οι υποχρεωτικές μορφές σχηματίζουν μόνο δύο, αυτή είναι μια μέθοδος (μέθοδος αποστολής αίτησης στο διακομιστή, για φόρμες χρήσης) και δράση (υποδηλώνει τη διαδρομή προς τη φόρμα Το αρχείο, συγκεκριμένα σε αυτό το αρχείο θα περιέχει ένα σενάριο PHP, το οποίο θα στείλει στο ταχυδρομείο που εισάγεται από τον χρήστη, στην περίπτωσή μας, βλέπουμε ότι αυτό το αρχείο ονομάζεται mail.php και βρίσκεται στον ίδιο κατάλογο ιστότοπου με την εν λόγω σελίδα ).
  • < input maxlength= "30" type= "text" name= "name" />


    Στη συνέχεια, ακολουθούμε το αντ 'αυτού. Αυτά είναι τα ίδια τα ίδια τα πεδία του εντύπου στις οποίες οι χρήστες θα εισέλθουν στις πληροφορίες που χρειάζεστε (τύπος \u003d "κείμενο" λέει ότι θα είναι το κείμενο). Το χαρακτηριστικό maxlength δηλώνει πόσους χαρακτήρες μπορούν να εισέλθουν στον χρήστη σε αυτή τη φόρμα πεδίων. Το πιο σημαντικό χαρακτηριστικό είναι το όνομα - καθορίζει το όνομα ενός συγκεκριμένου πεδίου. Είναι σε αυτά τα ονόματα στο μελλοντικό σενάριο PHP θα επεξεργαστεί τις εισερχόμενες πληροφορίες σε αυτό. Εάν το επιθυμείτε, μπορείτε ακόμα να ορίσετε το χαρακτηριστικό κράτησης θέσης, το οποίο εμφανίζει το κείμενο μέσα στο πεδίο εξαφανίζεται κατά την εγκατάσταση του δρομέα μέσα σε αυτό. Ένα από τα προβλήματα του Playsholder είναι ότι δεν υποστηρίζεται από μερικά παλιά προγράμματα περιήγησης.
  • < label for = "name" > Ονομα:


    Χρησιμοποιείται αν αρνήσαμε τους κάτοχους φύσης. Η συνήθης υπογραφή πεδίου, το χαρακτηριστικό φόρμας αναφέρει τι συγκεκριμένα το πεδίο περιλαμβάνει αυτή την υπογραφή. Η αξία του πεδίου ενδιαφέροντος για μας υποδεικνύεται με το όνομα.
  • < textarea rows= "7" cols= "50" name= "message" >


    Επίσης, καθώς η είσοδος προορίζεται να χορηγηθεί από τις πληροφορίες χρήστη, μόνο αυτή τη φορά το πεδίο ακονίζεται για μεγάλα μηνύματα. Οι σειρές καθορίζουν το μέγεθος του πεδίου σε χορδές, Cols σε χαρακτήρες. Γενικά, ορίζουν το ύψος και το πλάτος του πεδίου μας.
  • < input type= "submit" value= "Στείλετε" />


    Το γεγονός ότι αυτό είναι ένα κουμπί για την αποστολή μιας φόρμας μας λέει Type \u003d "Υποβολή" και η τιμή ορίζει το κείμενο που θα είναι μέσα σε αυτό το κουμπί.
  • < div class = "right" >


    Χρησιμοποιείται μόνο για περαιτέρω μορφή οπτικού σχεδιασμού.

CSS.

Προκειμένου η φόρμα ανατροφοδότησης να δούμε, πρέπει να εκδοθεί. Για να αποκτήσετε το ακόλουθο αποτέλεσμα:

Χρησιμοποιήσαμε αυτόν τον κώδικα:

Μορφή (φόντο: # f4f5f7; padding: 20px;) μορφή. Αριστερά, μορφή. Δεξιά (οθόνη: Inline-Block, κατακόρυφος - Ευθυγράμμιση: Κορυφή, πλάτος: 458px;). Δεξιά (ένδειξη: 20px;) ετικέτα (οθόνη: μπλοκ; γραμματοσειρά- μέγεθος: 18px; text- ευθυγράμμιση: κέντρο; περιθώριο: 10px 0px 0px 0px;) είσοδος, textarea (σύνορα: 1px στερεό # 82858d; padding: 10px; Γραμματοσειρά - μέγεθος: 16px; πλάτος: 436px;) textarea (Ύψος: 98px; περιθωρίου-κάτω: 32px;) είσοδος [τύπος \u003d "υποβολή"] (πλάτος: 200px; float: δεξιά, σύνορα: κανένας; φόντο: # 595B5F; Χρώμα: #FFF, κείμενο- μετασχηματισμό: κεφαλαία;)

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

  1. Μην γράφετε εγγραφή για κάθε ετικέτα στη φόρμα. Προσπαθήστε να δημιουργήσετε τους επιλογείς σας έτσι ώστε ένα ζευγάρι γραμμών κώδικα να κάνει όλα τα στοιχεία που χρειάζεστε.
  2. Μην χρησιμοποιείτε γραμμές και δημιουργώντας περιπτώσεις, επιπλέον ετικέτες ανά τύπο < br>, < p> Και ούτω καθεξής, με αυτές τις εργασίες, το CSS αντιμετωπίζει τέλεια την ιδιότητα της οθόνης: μπλοκ και περιθώριο με padding. Περισσότερα για το γιατί να μην χρησιμοποιήσετε < br> Στη διάταξη μπορείτε να διαβάσετε στην ετικέτα του άρθρου BR και είναι απαραίτητο; .
  3. Μην χρησιμοποιείτε τη διάταξη πίνακα για φόρμες. Αυτό έρχεται σε αντίθεση με τη σημασιολογία αυτής της ετικέτας και οι μηχανές αναζήτησης αγαπούν τον σημασιολογικό κώδικα. Προκειμένου να σχηματιστεί μια δομή οπτικού εγγράφου, έχουμε αρκετές ετικέτες DIV και τις ιδιότητες οθόνης που ορίζονται από το CSS: Inline-Block (κατασκευάζει μπλοκ σε μια σειρά) και κάθετη-ευθυγράμμιση: κορυφή (δεν τους επιτρέπει να τρέχουν γύρω από το Οθόνη), τους ρωτάμε το απαραίτητο ύψος και voila, τίποτα περιττό και όλα βρίσκονται όπως χρειαζόμαστε.

Για όσους θέλουν να σώσουν το χρόνο τους στο σχεδιασμό του χώρου, μπορώ να συμβουλεύσω χρησιμοποιώντας τα πλαίσια CSS κατά τη δημιουργία ιστότοπων, ειδικά αυτο-γραμμένα. Η επιλογή μου σε αυτό το σχέδιο είναι το Twitter Bootstrap. Το μάθημα σχετικά με το σχεδιασμό των εντύπων με τη χρήση της μπορεί να προβληθεί.

Php.

Λοιπόν, ήρθε η ώρα να καταστεί δυνατή η μορφή μας.

Πηγαίνουμε στον ριζικό μας κατάλογο του ιστότοπου και δημιουργούμε ένα αρχείο mail.php εκεί, στο οποίο προηγουμένως υποδείξαμε το μονοπάτι με το χαρακτηριστικό φόρμας της ετικέτας φόρμας.

Τελικά, ο κώδικας του θα μοιάζει με αυτό:

Το μήνυμά σας έχει σταλεί με επιτυχία \\ "Javascript: mistory.back () \\"\u003e Επιστροφή

" ; Εάν (άδειο ($ _post ["όνομα"]) και! Empty ($ _post ["τηλέφωνο"]) και! Empty ($ _post ["mail"]) και! Empty ($ _post ["μήνυμα"])) ($ name \u003d trim (strip_tags ($ _post ["Όνομα"])); $ phone \u003d trim (strip_tags ($ _post ["phone"])); $ mail \u003d trim (strip_tags ($ _post ["mail"]) ); $ Μήνυμα \u003d trim (strip_tags ($ _post ["μήνυμα"])); mail (, "έγραψε:" $ όνομα. "
Αριθμός του: "$ τηλέφωνο."
Το ταχυδρομείο του: "$ mail. "
Το μήνυμά του: "
. $ Μήνυμα,); Ηχώ. "Το μήνυμά σας έχει σταλεί με επιτυχία!
Θα λάβετε την απάντηση σύντομα
$ πίσω "
; έξοδος; ) Αλλού (ECHO, έξοδος;);\u003e

Η συζήτηση των τμημάτων HTML και CSS αυτού του εγγράφου μπορεί να παραλειφθεί. Στην ουσία, αυτή είναι η συνήθης σελίδα του ιστότοπου που μπορείτε να κανονίσετε το αίτημά σας και την αναγκαιότητα. Εξετάστε το πιο σημαντικό μέρος του σεναρίου επεξεργασίας φόρμας PHP:

$ πίσω \u003d "

\\ "Javascript: mistory.back () \\"\u003e Επιστροφή

" ;

Δημιουργούμε έναν σύνδεσμο για αυτή τη συμβολοσειρά για να επιστρέψετε στην προηγούμενη σελίδα. Καθώς δεν γνωρίζουμε εκ των προτέρων ποια σελίδα ο χρήστης θα πέσει σε αυτό, γίνεται με μια μικρή λειτουργία JS. Στο μέλλον, απλά θα αναφερθούμε σε αυτή τη μεταβλητή για να την αποσύρσουμε στα μέρη που χρειαζόμαστε.

Εάν (άδειο ($ _post ["όνομα"]) και! Empty ($ _post ["τηλέφωνο"]) και! Empty ($ _post ["mail"]) και! Empty ($ _post ["μήνυμα"])) ( // στο τμήμα του χειριστή ) Αλλού (ηχώ "Για να στείλετε ένα μήνυμα συμπληρώστε όλα τα πεδία! $ Πίσω"; έξοδος; )

Εδώ βιδώνουμε τον έλεγχο του σχήματος στην πληρότητα των πεδίων. Όπως μαντέψατε, από την άποψη του $ _post ["Όνομα"] σε αποσπάσματα, γράφουμε την αξία του χαρακτηριστικού ονόματος της ακανθώδους μας.

Εάν γεμίζονται όλα τα πεδία, το σενάριο θα αρχίσει να επεξεργάζεται τα δεδομένα στο εσωτερικό του μέρος, αλλά εάν δεν συμπληρώθηκε τουλάχιστον ένα πεδίο, το μήνυμα θα εμφανιστεί με το αίτημα για να γεμίσει όλα τα πεδία φόρμας ECHO "για να στείλετε ένα μήνυμα πλήρωσης Όλα τα πεδία! $ Πίσω "και αναφορά για να επιστρέψετε στην προηγούμενη σελίδα, την οποία δημιουργήσαμε την πρώτη συμβολοσειρά.

Ο Dale εισάγετε μέσα στο εσωτερικό του χειριστή φόρμας:

$ name \u003d trim (strip_tags ($ _post ["όνομα"])); $ Phone \u003d trim (strip_tags ($ _post ["τηλέφωνο"])); $ Mail \u003d trim (strip_tags ($ _post ["mail"])); $ Μήνυμα \u003d Trim (strip_tags ($ _post ["μήνυμα"]));

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

Οι έλεγχοι μπορεί να είναι περίπλοκες, αλλά είναι ήδη κατόπιν αιτήματός σας. Η ελάχιστη προστασία στην πλευρά του διακομιστή που έχουμε ήδη ρυθμιστεί. Περαιτέρω θα κάνουμε στην πλευρά του πελάτη χρησιμοποιώντας το JS.

Δεν συνιστάται να αρνούνται πλήρως την πλήρη προστασία της φόρμας στην πλευρά του διακομιστή υπέρ του JS, διότι αν και είναι εξαιρετικά σπάνιες, αλλά οι μονάδες βρίσκονται στο JS που αποσυνδέονται στο πρόγραμμα περιήγησης.

Μετά τον καθαρισμό των ετικετών, προσθέστε την αποστολή μηνύματος:

mail ( "[email protected]", "Επιστολή με διεύθυνση_iesight""Σου έγραψα:". $ Όνομα. "
Αριθμός του: "$ τηλέφωνο."
Το ταχυδρομείο του: "$ mail. "
Το μήνυμά του: "
. $ Μήνυμα, "Τύπος περιεχομένου: Κείμενο / HTML; Charset \u003d Windows-1251") ;

Είναι αυτή η γραμμή και ασχολείται με το σχηματισμό και στέλνει ένα μήνυμα σε εμάς. Συμπληρώνεται ως εξής:

  1. "[email protected]" - εδώ μεταξύ των αποσπημάτων εισάγετε το ταχυδρομείο σας
  2. "Επιστολή με το διεύθυνση_name" είναι το θέμα του μηνύματος που θα έρθει στο ταχυδρομείο. Μπορείτε να γράψετε οτιδήποτε εδώ.
  3. "Έγραψες:" $ όνομα. " < br /> Αριθμός του: "$ τηλέφωνο." < br /> Το ταχυδρομείο του: "$ mail." < br /> Το μήνυμά του: "$ μήνυμα - σχηματίζουμε το κείμενο του μηνύματος. $ Όνομα - Τοποθετήστε τις πληροφορίες που συμπληρώνονται από το χρήστη μέσω της έκκλησης στα πεδία από το προηγούμενο βήμα, σε εισαγωγικά Περιγράψτε τι σημαίνει αυτό το πεδίο, ετικέτα < br /> Κάνουμε τη μεταφορά της γραμμής έτσι ώστε το μήνυμα να είναι γενικά αναγνώσιμο.
  4. Τύπος περιεχομένου: Κείμενο / HTML; Charset \u003d Windows-1251 - Στο τέλος υπάρχει μια σαφής ένδειξη του τύπου δεδομένων των δεδομένων που μεταδίδονται στο μήνυμα και την κωδικοποίηση του.

ΣΠΟΥΔΑΙΟΣ!

Κωδικοποίηση που καθορίζεται στην "κεφαλή" του εγγράφου ( < meta http- equiv= "Content-Type" content= "Κείμενο / HTML; Charset \u003d Windows-1251" /> ), που κωδικοποιεί από το μήνυμα τύπου περιεχομένου: text / html, charset \u003d Windows-1251 και γενικά, η κωδικοποίηση του αρχείου PHP πρέπει να ταιριάζει με διαφορετικό τρόπο "Krakoyarbra" αντί για ρωσικά ή αγγλικά γράμματα.

Πολλοί δεν υποδεικνύουν την κωδικοποίηση του μηνύματος που αποστέλλεται ρητά, αλλά σε ορισμένους πελάτες αλληλογραφίας, εξαιτίας αυτού, μπορεί να υπάρχουν προβλήματα στο μέλλον (μη αναγνώσιμες επιστολές στο ταχυδρομείο), γι 'αυτό το συνιστώ να το δείξει.

Επαλήθευση της φόρμας για επαρκή δεδομένα

Έτσι ώστε οι χρήστες να μην γελάσουν στα χωράφια για απροσεξία και να συμπληρώσουν τα πάντα που χρειάζονται σωστά για να επαληθεύσουν τα δεδομένα εισόδου.

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

Εισαγωγή κωδικού δέσμης ενεργειών στο ίδιο αρχείο, όπου έχουμε ένα τμήμα HTML της φόρμας. Για το περιστατικό μας, θα μοιάζει με αυτό:

< script> Λειτουργία Checkform (φόρμα) (όνομα VAR \u003d φόρμα. Όνομα. Τιμή; var n \u003d όνομα. Αντιστοιχία (/ ^ [a-za-zaza- yay] + $ /); αν (! n) (Ειδοποίηση ( "Το όνομα εισάγεται λανθασμένα, διορθώστε το σφάλμα") Επιστρέψτε το FALSE; ) Var Phone \u003d έντυπο. Τηλέφωνο. Αξία; Var p \u003d τηλέφωνο. Ταίριασμα (/ ^ [0 - 9 +] [0 - 9 -] * [0 - 9 -] + $ /); Αν (! P) (Ειδοποίηση ( "Το τηλέφωνο εισάγεται λανθασμένα") Επιστρέψτε το FALSE; ) VAR MAIL \u003d Μορφή. Ταχυδρομείο. Αξία; Var m \u003d mail. (/ ^ [A-ZA-Z0- 9] [A-ZA-Z0- 9 \\. _-] * [A-ZA-Z0- 9 _] @ ([A-ZA-Z0- 9] + ([A-ZA-Z0- 9 -] * [A-ZA-Z0- 9] +) * \\ [A-ZA-Z] + $ /); αν (! m) (ειδοποίηση ( "Το ηλεκτρονικό ταχυδρομείο εισάγει εσφαλμένα, διορθώστε το σφάλμα") Επιστρέψτε το FALSE; ) Επιστρέψτε το TRUE. )

Λοιπόν, τώρα η συνήθης ανάλυση:

Για, Για να κάνετε κλικ στο κουμπί Αποστολή, δοκιμάσαμε Κρύβουμε την έναρξη του σεναρίου μας στην ετικέτα φόρμας:

< form method= "post" action= "mail.php" onSubmit= "return checkForm(this)" >

Τώρα, σε σημεία, λαμβάνουμε τη σύνθεση της επαλήθευσης:


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

Ένα από τα σημαντικότερα πλεονεκτήματα του PHP είναι ο τρόπος με τον οποίο λειτουργεί με έντυπα HTML. Εδώ το κύριο πράγμα είναι ότι κάθε στοιχείο της φόρμας γίνεται αυτόματα στη διάθεση των προγραμμάτων PHP. Για λεπτομερείς πληροφορίες σχετικά με τη χρήση εντύπων στο PHP, διαβάστε την ενότητα. Εδώ είναι ένα παράδειγμα μιας φόρμας HTML:

Παράδειγμα # 1 Απλή φόρμα HTML

Το όνομα σου:

Η ηλικία σου:

Σε αυτή τη μορφή δεν υπάρχει τίποτα ιδιαίτερο. Αυτή είναι μια συνηθισμένη μορφή HTML χωρίς ειδικές ετικέτες. Όταν ο χρήστης γεμίσει τη φόρμα και πατήστε το κουμπί αποστολής, θα καλείται η σελίδα Action.php. Αυτό το αρχείο μπορεί να είναι κάτι σαν:

Παράδειγμα # 2 Εμφανίστε αυτές τις μορφές

Γεια, .
Εσείς χρόνια.

Ένα παράδειγμα της παραγωγής αυτού του προγράμματος:

Γεια σας, Σεργκέι. Είστε 30 ετών.

Αν δεν λάβετε υπόψη τα κομμάτια του κώδικα με htmlspecialchars () και (int)Η αρχή της λειτουργίας αυτού του κώδικα πρέπει να είναι απλή και κατανοητή. htmlspecialchars () Παρέχει τη σωστή κωδικοποίηση των "ειδικών" χαρακτήρων HTML έτσι ώστε να τοποθετηθεί η κακόβουλη HTML ή JavaScript στη σελίδα σας. Το πεδίο ηλικίας, για το οποίο γνωρίζουμε ότι πρέπει να είναι ένας αριθμός, μπορούμε απλά να μετατρέψουμε σε ακέραιος αριθμόςπου ανακουφίζει αυτόματα από τους ανεπιθύμητους χαρακτήρες. Το PHP μπορεί επίσης να το κάνει αυτόματα χρησιμοποιώντας την επέκταση του φίλτρου. Μεταβλητές $ _post ["Όνομα"] και $ _post ["ηλικία"] εγκαθίσταται αυτόματα για εργαλεία σας PHP. Νωρίτερα, χρησιμοποιήσαμε τη μεταβλητή $ _server Superglobal, εδώ χρησιμοποιούμε επίσης τη μεταβλητή $ _post superglobal, η οποία περιέχει όλα τα δεδομένα δεδομένων. σημειώσε ότι Αποστολή Μέθοδος (Μέθοδος) Η φόρμα μας είναι η θέση. Εάν χρησιμοποιήσαμε τη μέθοδο Παίρνω.Οι πληροφορίες της μορφής μας θα ήταν σε μια υπερσύνδεση μεταβλητή $ _get. Επιπλέον, μπορείτε να χρησιμοποιήσετε τη μεταβλητή $ _request εάν η πηγή δεδομένων δεν έχει σημασία. Αυτή η μεταβλητή περιέχει ένα μείγμα δεδομένων παίρνει, post, cookie.

15 ΧΡΟΝΙΑ ΠΡΙΝ.

Σύμφωνα με τις προδιαγραφές HTTP, θα πρέπει να χρησιμοποιήσετε τη μέθοδο Post όταν χρησιμοποιείτε τη φόρμα για να αλλάξετε την κατάσταση κάτι στο τέλος του διακομιστή. Για το Exlow, εάν μια σελίδα έχει μια φόρμα για να επιτρέψει να προσθέσετε τα σχόλιά τους, όπως Αυτή η φόρμα πρέπει να χρησιμοποιήσει τη θέση. Εάν κάνετε κλικ στην επιλογή "reload" ή "ανανέωση" σε μια θέση, είναι σχεδόν πάντα ένα σφάλμα - δεν πρέπει να δημοσιεύετε το ίδιο σχόλιο δύο φορές - γι 'αυτό και αυτές οι σελίδες arena " t Bookmarked ή Cached.

Θα πρέπει να χρησιμοποιήσετε τη μέθοδο λήψης όταν η φόρμα σας είναι, καλά, να πάρει κάτι από το διακομιστή και να μην αλλάζετε τίποτα. Για παράδειγμα, η φόρμα για μια μηχανή αναζήτησης θα πρέπει να χρησιμοποιεί να αλλάζει οτιδήποτε ο πελάτης μπορεί να φροντίσει οτιδήποτε, και το bookmarking ή την προσθήκη των αποτελεσμάτων ενός ερωτήματος μηχανών αναζήτησης είναι εξίσου χρήσιμο με το bookmarking ή την προσθήκη μιας στατικής σελίδας HTML.

Πριν 1 χρόνο.

Αξίζει να διευκρινίσετε:

Η ανάρτηση δεν είναι πιο ασφαλής από το να πάρει.

Οι λόγοι για την επιλογή της PATE VS περιλαμβάνουν διάφορους παράγοντες όπως πρόθεση της αίτησης (είναι όρια για το πόσο καιρό μπορεί να είναι μια διεύθυνση URL και να πάρει παράμετροι ένα στέλνει στη διεύθυνση URL) και πόσο εύκολα θέλετε να είναι κοινή δράση - παράδειγμα, Το Google Search ERE λαμβάνει επειδή το καθιστά εύκολο να αντιγράψετε και να μοιραστείτε το ερώτημα αναζήτησης με κάποιον άλλο απλά μοιράζοντας τη διεύθυνση URL.

Η ασφάλεια είναι μόνο μια σκέψη εδώ λόγω του γεγονότος ότι ένα get είναι ευκολότερο να μοιραστεί από μια θέση. Παράδειγμα: Δεν θέλετε να σταλεί ένας κωδικός πρόσβασης με λήψη, επειδή ο χρήστης μπορεί να μοιράζεται την προκύπτουσα διεύθυνση URL και να εκθέσει ακούσια τον κωδικό πρόσβασής του.

Ωστόσο, μια λήψη και μια θέση που είναι εξίσου εύκολο να παρακολουθήσει από ένα καλά τοποθετημένο κακόβουλο άτομο, αν μην αναπτύξετε το TLS / SSL για να προστατεύσετε την ίδια τη σύνδεση δικτύου.

Όλες οι μορφές που αποστέλλονται μέσω http (usallally Port 80) είναι ανασφαλείς και σήμερα (2017), υπάρχει πολλοί καλοί λόγοι για έναν δημόσιο ιστότοπο που δεν χρησιμοποιεί το HTTPS (το οποίο είναι βασικό http + Security Security Security).

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

Συνεχίζοντας το θέμα:
Λινάρι

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

Νέα άρθρα
/
Δημοφιλής