Η διαφορά μεταξύ των αιτημάτων λήψης ανάρτησης. GET ή POST: τι να επιλέξω; Διαβίβαση μεταβλητών με τη μέθοδο GET

Η πρώτη μέθοδος για να κάνετε ένα αίτημα PHP POST είναι να χρησιμοποιήσετε το file_get_contents. Η δεύτερη μέθοδος θα χρησιμοποιήσει το fread σε συνδυασμό με μερικές άλλες λειτουργίες. Και οι δύο επιλογές χρησιμοποιούν τη συνάρτηση stream_context_create για να συμπληρώσουν τα απαιτούμενα πεδία κεφαλίδας αιτήματος.

Εξήγηση κώδικα

Η μεταβλητή $sPD περιέχει τα δεδομένα που θα σταλούν. Πρέπει να είναι σε μορφή συμβολοσειράς αιτήματος HTTP, επομένως ορισμένοι ειδικοί χαρακτήρες πρέπει να κωδικοποιηθούν.

Τόσο στη συνάρτηση file_get_contents όσο και στη συνάρτηση fread, έχουμε δύο νέες παραμέτρους. Το πρώτο είναι use_include_path . Εφόσον κάνουμε ένα αίτημα HTTP, θα είναι ψευδές και στα δύο παραδείγματα. Όταν χρησιμοποιείτε το true για την ανάγνωση ενός τοπικού πόρου, η συνάρτηση θα αναζητήσει ένα αρχείο στο include_path .

Η δεύτερη παράμετρος, το περιβάλλον , συμπληρώνεται με την επιστρεφόμενη τιμή του stream_context_create , η οποία παίρνει την τιμή του πίνακα $aHTTP.

Χρήση file_get_contents για την υποβολή αιτημάτων POST

Στην PHP, για να στείλετε ένα αίτημα POST χρησιμοποιώντας file_get_contents , πρέπει να χρησιμοποιήσετε το stream_context_create για να συμπληρώσετε με μη αυτόματο τρόπο τα πεδία της κεφαλίδας και να καθορίσετε ποιο "wrapper" θα χρησιμοποιηθεί - σε αυτήν την περίπτωση HTTP :

$sURL = "http://brugbart.com/Examples/http-post.php"; // POST URL $sPD = "name=Jacob&bench=150"; // Δεδομένα POST $aHTTP = πίνακας("http" => // Περιτύλιγμα που θα χρησιμοποιηθεί array("method" => "POST", // Μέθοδος αιτήματος // Οι κεφαλίδες αιτημάτων ορίζονται κάτω από "header" => "Content- τύπος: application/x-www-form-urlencoded", "content" => $sPD)); $context = stream_context_create($aHTTP); $contents = file_get_contents($sURL, false, $context); echo $περιεχόμενα;

Χρήση του fread για την υποβολή αιτημάτων POST

Μπορείτε να χρησιμοποιήσετε τη συνάρτηση fread για να κάνετε αιτήματα POST. Το παρακάτω παράδειγμα χρησιμοποιεί το stream_context_create για τη σύνθεση των απαιτούμενων κεφαλίδων αιτημάτων HTTP:

$sURL = "http://brugbart.com/Examples/http-post.php"; // POST URL $sPD = "name=Jacob&bench=150"; // Δεδομένα POST $aHTTP = array("http" => // Περιτύλιγμα που θα χρησιμοποιηθεί array("method" => "POST", // Μέθοδος αιτήματος // Οι κεφαλίδες αιτημάτων ορίζονται κάτω από "header" => "Content- τύπος: application/x-www-form-urlencoded", "content" => $sPD)); $context = stream_context_create($aHTTP); $handle = fopen($sURL, "r", false, $context); $contents = ""; ενώ (!feof($handle)) ( $contents .= fread($handle, 8192); ) fclose($handle); echo $περιεχόμενα;

Πραγματοποίηση αιτημάτων GET με την PHP

Τώρα θα στρέψουμε την προσοχή μας στη χρήση των fread και file_get_contents για λήψη περιεχομένου από το διαδίκτυο μέσω HTTP και HTTPS. Για να χρησιμοποιήσετε τις μεθόδους που περιγράφονται σε αυτό το άρθρο, πρέπει να είναι ενεργοποιημένη η επιλογή fopen wrappers. Για να το κάνετε αυτό, στο αρχείο php.ini, πρέπει να ορίσετε την παράμετρο allow_url_fopen σε On .

Τα αιτήματα PHP POST και GET χρησιμοποιούνται για τη σύνδεση σε ιστότοπους, την ανάκτηση περιεχομένου ιστοσελίδας ή τον έλεγχο για νέες εκδόσεις εφαρμογών. Θα καλύψουμε πώς να κάνετε απλά αιτήματα HTTP.

Χρήση του fread για λήψη ή λήψη αρχείων μέσω Διαδικτύου

Να θυμάστε ότι η ανάγνωση μιας ιστοσελίδας περιορίζεται στο προσβάσιμο μέρος του πακέτου. Επομένως, πρέπει να χρησιμοποιήσετε τη συνάρτηση stream_get_contents ( παρόμοια file_get_contents) ή ενώ βρόχοςγια να διαβάσετε το περιεχόμενο σε μικρότερα κομμάτια μέχρι να φτάσετε στο τέλος του αρχείου:

Σε αυτήν την περίπτωση, κατά την επεξεργασία ενός αιτήματος PHP POST, το τελευταίο όρισμα στη συνάρτηση fread είναι ίσο με το μέγεθος του τμήματος. Γενικά δεν πρέπει να είναι μεγαλύτερο από 8192 ( 8*1024 ).

Λάβετε υπόψη ότι μπορεί να είναι μεγαλύτερο ή μικρότερο και μπορεί επίσης να περιορίζεται από τις ρυθμίσεις του συστήματος στο οποίο εκτελείται η PHP.

Χρήση file_get_contents για λήψη url ιστότοπου

Είναι ακόμη πιο εύκολο να χρησιμοποιήσετε αυτήν τη μέθοδο κατά την ανάγνωση ενός αρχείου μέσω HTTP, καθώς δεν χρειάζεται να ανησυχείτε για την ανάγνωση σε κομμάτια - τα πάντα αντιμετωπίζονται σε PHP.

Αυτή η δημοσίευση είναι μετάφραση του άρθρου "Making POST Requests With PHP", που εκπονήθηκε από τη φιλική ομάδα έργου

Επί του παρόντος, μόνο δύο μέθοδοι HTTP χρησιμοποιούνται πιο συχνά: GET και POST. Αλλά αποδείχθηκε ότι ακόμη και ανάμεσα σε αυτά τα δύο «πεύκα» οι προγραμματιστές ιστού καταφέρνουν να χαθούν. Υπάρχει μια εξήγηση για αυτό: και οι δύο μέθοδοι μπορούν να χρησιμοποιηθούν για να επιτευχθεί το ίδιο αποτέλεσμα. Ωστόσο, πρέπει να θυμόμαστε ότι η αλόγιστη χρήση οποιασδήποτε από τις μεθόδους μπορεί να οδηγήσει σε καταστροφικές συνέπειες, συμπεριλαμβανομένων μεγάλων φορτίων στο κανάλι και οπών ασφαλείας.

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

Εάν εμβαθύνετε στην έννοια των ονομάτων των μεθόδων, πολλά θα γίνουν ξεκάθαρα. GET (από τα αγγλικά σε λήψη), π.χ. πρέπει να χρησιμοποιηθεί για να ζητηθούν δεδομένα. POST (c English send by mail) - χρησιμοποιείται για την αποστολή δεδομένων στον διακομιστή. Όλα δείχνουν να είναι πολύ απλά και ξεκάθαρα. Αλλά όποιος θέλει να αναπτύξει ιστότοπους λίγο πιο περίπλοκους από έναν ιστότοπο επαγγελματικών καρτών με μία φόρμα σχολίων, είναι καλύτερο να γνωρίσει καλύτερα το ζήτημα.

Ασφαλή και μη ασφαλή αιτήματα HTTP

Η προδιαγραφή HTTP 1.1 εισάγει δύο έννοιες: ένα ασφαλές αίτημα και ένα μη ασφαλές αίτημα, ή πιο συγκεκριμένα, μια μέθοδο.

Ασφαλείς είναι οι μέθοδοι που μπορούν να ζητήσουν μόνο πληροφορίες. Δεν μπορούν να αλλάξουν τον πόρο που ζητήθηκε, ούτε μπορούν να παράγουν ανεπιθύμητα αποτελέσματα για τον χρήστη, τους άλλους ή τον διακομιστή. Παραδείγματα ασφαλών ζητούν τον κώδικα HTML μιας ιστοσελίδας ή μιας εικόνας. Οι ασφαλείς μέθοδοι είναι HEAD και GET.

Το σημείωμα

Στην πραγματικότητα, οι τεχνίτες, φυσικά, μπορούν να βλάψουν και αιτήματα GET. Για παράδειγμα, βρόχοι ερωτήματος.

Τα ανασφαλή αιτήματα, το μαντέψατε, μπορεί να οδηγήσουν σε κακές συνέπειες εάν χρησιμοποιούνται επανειλημμένα. Τέτοια αιτήματα μπορούν να αλλάξουν το περιεχόμενο του πόρου στον οποίο έχετε πρόσβαση. Παραδείγματα τέτοιων αιτημάτων: αποστολή μηνυμάτων, εγγραφή, ηλεκτρονικές πληρωμές. Οι μη ασφαλείς μέθοδοι περιλαμβάνουν ΑΝΑΡΤΗΣΗ, ΤΟΠΟΘΕΤΗΣΗ, ΔΙΑΓΡΑΦΗ.

Ανίκανες μέθοδοι

Η ανικανότητα είναι η ιδιότητα των μεθόδων που, όταν καλούνται επανειλημμένα, θα επιστρέψουν το ίδιο αποτέλεσμα, εκτός εάν οι πληροφορίες είναι ξεπερασμένες. Αυτό σημαίνει ότι κατά την πρόσβαση στην ίδια διεύθυνση URL, όλοι οι χρήστες θα βλέπουν την ίδια ιστοσελίδα, εικόνα, βίντεο κ.λπ. Οι μέθοδοι GET, PUT, DELETE έχουν αυτήν την ιδιότητα.

Και τώρα περισσότερα για τις ίδιες τις μεθόδους GET και POST: ας κάνουμε μια σύντομη «περίληψη» για την καθεμία.

ΠΑΙΡΝΩ

  • Σχεδιασμένο για λήψη δεδομένων από τον διακομιστή·
  • το σώμα του αιτήματος είναι κενό.
  • υποβάλλονται σε επεξεργασία από την πλευρά του διακομιστή γρηγορότερα και με λιγότερη κατανάλωση πόρων διακομιστή λόγω κενού σώματος αιτήματος.
  • οι μεταβλητές μεταφέρονται στη γραμμή διευθύνσεων (έτσι το βλέπει ο χρήστης, τεχνικά τα δεδομένα μεταδίδονται στη γραμμή ερωτήματος) και επομένως οι πληροφορίες σχετικά με τις μεταβλητές και τις τιμές τους είναι ορατές (τα δεδομένα δεν προστατεύονται).
  • μπορεί να μεταβιβάσει μια μικρή ποσότητα δεδομένων στον διακομιστή: υπάρχει περιορισμός στο μήκος της διεύθυνσης URL, ο οποίος εξαρτάται από το πρόγραμμα περιήγησης, για παράδειγμα, IE6 = 2Kb. Οι προγραμματιστές του Yahoo! συνιστούν να επικεντρωθείτε σε αυτόν τον αριθμό.
  • μπορεί να μεταδώσει μόνο χαρακτήρες ASCII.
  • ένα τέτοιο αίτημα μπορεί να αντιγραφεί, να αποθηκευτεί (για παράδειγμα, σε σελιδοδείκτες).
  • το αίτημα μπορεί να αποθηκευτεί προσωρινά (αυτό μπορεί να ελεγχθεί).
  • Διατίθενται υπό όρους και μερικές αιτήσεις για περαιτέρω μείωση του φόρτου στο κανάλι και στον διακομιστή.
  • δεν διακόπτει τη σύνδεση HTTP (όταν η λειτουργία keepAlive είναι ενεργοποιημένη στον διακομιστή).

ΘΕΣΗ

  • έχει σχεδιαστεί για να στέλνει δεδομένα στον διακομιστή.
  • Η μεταφορά δεδομένων πραγματοποιείται στο σώμα της αίτησης·
  • Η επεξεργασία από την πλευρά του διακομιστή είναι πιο αργή και "βαρύτερη" από το GET, επειδή εκτός από τις κεφαλίδες, πρέπει να αναλύσετε το σώμα του αιτήματος.
  • Ικανότητα μεταφοράς μεγάλων ποσοτήτων δεδομένων·
  • δυνατότητα μεταφοράς αρχείων.
  • Δεν είναι δυνατή η προσθήκη σελιδοδείκτη σε μια σελίδα που δημιουργείται με τη μέθοδο POST.
  • διακόπτει τη σύνδεση HTTP.
  • Για να μεταφέρουν ακόμη και έναν πολύ μικρό όγκο πληροφοριών, τα περισσότερα προγράμματα περιήγησης στέλνουν τουλάχιστον δύο πακέτα TCP: μια κεφαλίδα και μετά ένα σώμα αιτήματος.

Αποδεικνύεται ότι αυτές οι δύο μέθοδοι δεν είναι τόσο παρόμοιες. Η χρήση του ενός ή του άλλου θα πρέπει να καθορίζεται από την εκάστοτε εργασία και όχι από το γεγονός ότι το GET χρησιμοποιείται από προεπιλογή ή είναι ευκολότερο να εργαστείτε. Το GET, φυσικά, στις περισσότερες περιπτώσεις είναι καλύτερη επιλογή, ειδικά όταν κατασκευάζετε γρήγορο AJAX, αλλά μην ξεχνάτε τα μειονεκτήματά του. Για τον εαυτό μου, έκανα έναν απλό αλγόριθμο-σημείωση σχετικά με την επιλογή της μεθόδου.

Ίσως έχετε παρατηρήσει ότι στους περισσότερους ιστότοπους μπορείτε να δείτε τις ακόλουθες διευθύνσεις:

http://website/index.php?blog=2

Εδώ, ακόμα και χωρίς να γνωρίζουμε php, μπορείτε να μαντέψετε ότι έχουμε πρόσβαση στο αρχείο index.phpΑλλά τι έρχεται μετά το ερωτηματικό, λίγοι γνωρίζουν. Όλα είναι πολύ απλά: ?blog=2αυτή είναι η δήλωση της καθολικής μεταβλητής "$_GET["blog"]" με την τιμή "2". Έτσι, περνάω μια μεταβλητή στο σενάριο που είναι υπεύθυνο για την εμφάνιση πληροφοριών από τη βάση δεδομένων. Ας γράψουμε ένα μικρό σενάριο στο οποίο θα βλέπετε καθαρά τα πάντα:

if(isset($_GET["blog"])) (
echo $_GET["blog"];
}
?>

Χρησιμοποιούμε τον τελεστή συνθήκης if() ως συνθήκη, υπάρχει αυτή η γραμμή:

Isset($_GET["blog"])

Το isset() σάς επιτρέπει να μάθετε εάν υπάρχει μια μεταβλητή που υποδεικνύεται σε αγκύλες, δηλαδή, η συνθήκη που περιέγραψα στον κώδικα ακούγεται ως εξής: Εάν υπάρχει μια μεταβλητή $_GET["blog"], τότε εμφανίστε την περιεχόμενα αυτής της μεταβλητής στην οθόνη. Να τι συνέβη:

Νομίζω ότι είναι σαφές Δημιουργήθηκε μια καθολική μεταβλητή $_GETμε το αναγνωριστικό που δηλώσαμε στη γραμμή διευθύνσεων ( σε αυτήν την περίπτωση με το id "blog")

Τώρα θέλω να διευκρινίσω ένα σημείο. Ας υποθέσουμε ότι πρέπει να δηλώσουμε δύο μεταβλητές, πώς να το κάνουμε; Η πρώτη μεταβλητή δηλώνεται μετά το ερωτηματικό "?" Η δεύτερη μεταβλητή δηλώνεται μετά από ένα τέτοιο σύμβολο "&" ( Για να είμαι ειλικρινής, δεν ξέρω ποιο είναι αυτό το σημάδι.), εδώ είναι ένα παράδειγμα δήλωσης τριών μεταβλητών:

http://website/index.php?a=1&b=2&c=3

Εδώ είναι ο κωδικός εξόδου:

if(isset($_GET["a"]) AND isset($_GET["b"]) AND isset($_GET["c"])) (
echo $_GET["a"]."
";
echo $_GET["b"]."
";
echo $_GET["c"]."
";
}
?>

Η συνθήκη ακούγεται ως εξής:

Εάν υπάρχει μια καθολική μεταβλητή $_GET["a"] και μια καθολική μεταβλητή $_GET["b"] και μια καθολική μεταβλητή $_GET["c"], τότε εμφανίστε τις στην οθόνη, ιδού το αποτέλεσμα:

Έντυπα

Πριν προχωρήσουμε στο Θέσηερωτήματα, πρέπει να καταλάβετε ποιες είναι οι μορφές; Γιατί είναι απαραίτητο; Επειδή η καθολική μεταβλητή $_POST[""] δημιουργείται μέσω φορμών. Τι είναι μια φόρμα; Αυτά είναι πεδία για την εισαγωγή ενός νήματος πληροφοριών από τον χρήστη. Τα πεδία είναι σε μία γραμμή, μεγάλα πεδία, υπάρχουν επίσης κουμπιά επιλογής, πλαίσια ελέγχου. Ας τα πάρουμε όλα με τη σειρά...

Η φόρμα είναι μια ετικέτα:


στοιχεία μορφής

Η φόρμα έχει χαρακτηριστικά, θα απαριθμήσω τα πιο συνηθισμένα:

Ας δημιουργήσουμε μια φόρμα:


στοιχεία μορφής

Ως αρχείο χειριστή, έβαλα το αρχείο test.phpγιατί σε αυτό γράφω παραδείγματα για εσάς. Ρύθμισα τη μέθοδο αποστολής για ανάρτηση επειδή αυτές οι μέθοδοι χρησιμοποιούνται στο 99,9% των περιπτώσεων. Έδωσα και στη φόρμα μας όνομα - έντυπο

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

Είμαι σίγουρος ότι έχετε συναντήσει τέτοια πεδία περισσότερες από μία φορές, οπότε εδώ, όπως λένε: "χωρίς σχόλια"

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

Το Επώνυμό σας Όνομα Πατρώνυμο:

Ποιο είναι το φύλο σου:
Μ
ΚΑΙ

Από ποια χώρα είσαι



Αγαπημένο(α) χρώμα(α):

Μαύρος:
Το κόκκινο:
Ασπρο:
Αλλο:

Σχετικά με μένα:




Σημειώστε ότι σχεδόν κάθε ετικέτα έχει ένα χαρακτηριστικό αξίασε τι χρησιμεύει; Περιέχει τα δεδομένα που πρόκειται να μεταφέρετε σε άλλη σελίδα. Ελπίζω να είναι ξεκάθαρο

Τώρα αν τρέξουμε αυτόν τον κώδικα σε ένα πρόγραμμα περιήγησης, θα δούμε τα εξής:

Χρησιμοποίησα το χαρακτηριστικό στη φόρμα δράσημε νόημα test.phpΑυτό σημαίνει, όπως είπα, ότι τα δεδομένα από τη φόρμα θα μεταφερθούν στο αρχείο test.php.

Αίτημα POST

Τώρα ας γράψουμε έναν κώδικα php που θα μας επιτρέψει να δούμε τις πληροφορίες που πληκτρολογήσαμε. Πού αποθηκεύονται τα δεδομένα; Στην περίπτωση ενός αιτήματος λήψης, τα δεδομένα μας ήταν στην καθολική μεταβλητή $_GET[""]. Με ένα αίτημα ανάρτησης, τα δεδομένα θα αποθηκευτούν στην καθολική μεταβλητή $_POST[""]. ΣΕ αγκύλες, πρέπει να γράψετε, όπως στην περίπτωση της καθολικής μεταβλητής get, ένα αναγνωριστικό. Το ερώτημα είναι, πού μπορώ να βρω αυτό το αναγνωριστικό; Γι' αυτό χρειαζόμαστε το χαρακτηριστικό name στα στοιχεία της φόρμας! Είναι αυτά τα ονόματα που χρησιμεύουν ως το κλειδί μας στον πίνακα μετά τον καθολικό πίνακα. Λοιπόν, ας αρχίσουμε να περιγράφουμε το σενάριο:

if(isset($_POST["υποβολή"])) (
echo "Όνομα: ".$_POST["fio"]."
";
echo "Φύλο: ".$_POST["sex"]."
";
echo "Χώρα κατοικίας: ".$_POST["πόλη"]."
";

Echo "Αγαπημένο(α) χρώμα(α):
";
echo $_POST["color_1"]."
";
echo $_POST["color_2"]."
";
echo $_POST["color_3"]."
";
echo $_POST["color_4"]."
";
echo "Σχετικά με εμένα: ".$_POST["about"]."


";
}
?>

Η συνθήκη if που γράψαμε λέει: Εάν υπάρχει η καθολική μεταβλητή $_POST["submit"], τότε εμφανίζουμε τα δεδομένα στην οθόνη. Αυτή η καθολική μεταβλητή δημιουργείται αν κάνουμε κλικ στο κουμπί υποβολής, γι' αυτό και στο αυτό το παράδειγμααπαιτείται το χαρακτηριστικό name στο κουμπί. Ίσως αναρωτιέστε γιατί το χαρακτηριστικό name του κουμπιού είναι προαιρετικό; Όλα είναι αρκετά απλά. Συνήθως, ο προγραμματιστής δεν παρακολουθεί το πάτημα του κουμπιού, αλλά παρακολουθεί τα δεδομένα που αποστέλλονται. Για σωστή λειτουργία, για παράδειγμα, μια φόρμα επικοινωνίας, είναι απαραίτητο να παρακολουθείτε όχι ένα πάτημα κουμπιού, αλλά την ορθότητα της εισαγωγής πληροφοριών και να μάθετε εάν αυτές οι πληροφορίες εισήχθησαν καθόλου. Στο παράδειγμά μας, δεν ελέγξαμε τα απεσταλμένα δεδομένα, αλλά απλώς παρακολουθήσαμε το κλικ του κουμπιού, για να απλοποιήσουμε το παράδειγμα... Δείτε τι λάβαμε:

συμπέρασμα

Λοιπόν, για σήμερα έχουμε αναλύσει δύο μεθόδους μεταφοράς δεδομένων μεταξύ σεναρίων, και επίσης γνωρίσαμε φόρμες σε καλπασμό. Ελπίζω πραγματικά αυτή η πληροφορία να σας φανεί χρήσιμη. Εάν έχετε οποιεσδήποτε ερωτήσεις ή σκέψεις, γράψτε σχόλια. Καλή τύχη, αυτό είναι όλο για σήμερα!

P.S.: Θέλετε τα παιχνίδια στον υπολογιστή να γίνουν ακόμα πιο ρεαλιστικά; Το directx 11 για windows 7 μπορείτε να το κατεβάσετε δωρεάν στα windows in! Απολαύστε υπέροχα γραφικά!

Οι μέθοδοι GET και POST σε HTTP και HTTPS είναι οι δύο πιο δημοφιλείς μέθοδοι που χρησιμοποιούνται για τη μεταφορά δεδομένων από έναν πελάτη σε διακομιστή χρησιμοποιώντας το πρωτόκολλο HTTP (Hypertext Transfer Protocol). Τόσο το GET όσο και το POST μπορούν να χρησιμοποιηθούν για την αποστολή αιτήματος και τη λήψη απάντησης, αλλά υπάρχει σημαντική διαφορά μεταξύ των δύο.

Η διαφορά μεταξύ των αιτημάτων GET και POST σε HTTP ή HTTPS είναι μια δημοφιλής ερώτηση σε κάθε συνέντευξη προγραμματισμού Ιστού. Δεδομένου ότι η HTML δεν εξαρτάται από την τεχνολογία διακομιστών ιστού όπως Java, ASP ή PHP και το HTTP είναι το κύριο πρωτόκολλο στον χώρο του Διαδικτύου, η σημασία της κατανόησης των μεθόδων GET και POST δεν μπορεί να αγνοηθεί σαφώς. Σε αυτό το άρθρο, θα εξετάσουμε ποια είναι η μέθοδος HTTP GET, ποια είναι η μέθοδος HTTP POST, πότε να χρησιμοποιήσετε το ένα ή το άλλο αίτημα και ποια είναι η διαφορά μεταξύ τους. Ας αναλύσουμε κάθε έννοια ξεχωριστά.

Τι είναι η HTML;

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



<Голова>
<Название>TechTerms.com

<Тело>

Αυτό είναι ένα παράδειγμα παραγράφου σε HTML.

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

Ο Ιστός έχει υποστεί πολλές αλλαγές τις τελευταίες δεκαετίες, αλλά η HTML ήταν πάντα η κύρια γλώσσα που χρησιμοποιήθηκε για την ανάπτυξη ιστοσελίδων. Είναι ενδιαφέρον ότι ενώ οι ιστότοποι έχουν γίνει πιο προηγμένοι και διαδραστικοί, η HTML έχει γίνει πιο απλή. Εάν συγκρίνετε την πηγή μιας σελίδας HTML5 με μια παρόμοια σελίδα γραμμένη σε HTML 4.01 ή XHTML 1.0, η σελίδα HTML5 θα έχει λιγότερο κώδικα. Αυτό συμβαίνει επειδή η σύγχρονη HTML βασίζεται σε Cascading Style Sheets ή JavaScript για να μορφοποιήσει σχεδόν κάθε στοιχείο μέσα σε μια σελίδα.

Πολλοί δυναμικοί ιστότοποι δημιουργούν ιστοσελίδες εν κινήσει χρησιμοποιώντας μια γλώσσα δέσμης ενεργειών από την πλευρά του διακομιστή, όπως PHP ή ASP. Ωστόσο, ακόμη και οι δυναμικές σελίδες πρέπει να μορφοποιούνται χρησιμοποιώντας HTML. Επομένως, οι γλώσσες δέσμης ενεργειών συχνά δημιουργούν κώδικα HTML που αποστέλλεται σε ένα πρόγραμμα περιήγησης Ιστού.

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

Το πρόγραμμα περιήγησης ιστού μπορεί να είναι ο πελάτης και η εφαρμογή στον υπολογιστή που φιλοξενεί τον ιστότοπο μπορεί να είναι ο διακομιστής.

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

Δύο μέθοδοι αιτήματος GET και POST

Δύο κοινά χρησιμοποιούμενες μέθοδοι για αίτηση-απόκριση μεταξύ πελάτη και διακομιστή:

    GET - ζητά δεδομένα από τον καθορισμένο πόρο.

    POST - στέλνει δεδομένα προς επεξεργασία στον καθορισμένο πόρο.

Η μετάφραση των GET και POST σημαίνει κυριολεκτικά λήψη και μετα-επεξεργασία.

Μάθετε περισσότερα για το HTTP

Το HTTP είναι το πρωτόκολλο που χρησιμοποιείται για τη μεταφορά δεδομένων μέσω του Διαδικτύου. Αποτελεί μέρος του πακέτου Internet Protocol και καθορίζει τις εντολές και τις υπηρεσίες που χρησιμοποιούνται για τη μεταφορά δεδομένων ιστοσελίδας.

Το HTTP χρησιμοποιεί το μοντέλο διακομιστή-πελάτη. Ο πελάτης μπορεί να είναι οικιακός υπολογιστής, φορητός υπολογιστής ή κινητή συσκευή. Ο διακομιστής HTTP είναι συνήθως ένας οικοδεσπότης Ιστού με λογισμικόδιακομιστή ιστού όπως Apache ή IIS. Όταν ένας χρήστης αποκτά πρόσβαση σε έναν ιστότοπο, το πρόγραμμα περιήγησης στέλνει ένα αίτημα στον κατάλληλο διακομιστή ιστού και απαντά με έναν κωδικό κατάστασης HTTP. Εάν η διεύθυνση URL είναι έγκυρη και η σύνδεση έχει εκχωρηθεί, ο διακομιστής θα στείλει την ιστοσελίδα και τα σχετικά αρχεία στο πρόγραμμα περιήγησης.

Οι κοινοί κωδικοί κατάστασης HTTP περιλαμβάνουν:

    200 - επιτυχές αίτημα (υπάρχει ιστοσελίδα).

    301 - Μετακινείται μόνιμα (συχνά ανακατευθύνει σε νέα διεύθυνση URL)

    401 - μη εξουσιοδοτημένο αίτημα (απαιτείται εξουσιοδότηση).

    Το 500 είναι ένα εσωτερικό σφάλμα διακομιστή (συχνά προκαλείται από εσφαλμένη ρύθμιση παραμέτρων διακομιστή).

ΔΗΜΟΣΙΕΥΣΗ και Λήψη σε HTTP

Το HTTP ορίζει τις εντολές GET και POST που χρησιμοποιούνται για την επεξεργασία υποβολών φορμών σε ιστότοπους. Η εντολή CONNECT χρησιμοποιείται για να διευκολύνει μια ασφαλή σύνδεση που είναι κρυπτογραφημένη χρησιμοποιώντας SSL. Οι κρυπτογραφημένες συνδέσεις HTTP πραγματοποιούνται μέσω HTTPS, μιας επέκτασης του HTTP που έχει σχεδιαστεί για ασφαλείς μεταφορές δεδομένων.

Οι διευθύνσεις URL που ξεκινούν με "http://" είναι προσβάσιμες μέσω τυπικών πρωτοκόλλων μεταφοράς υπερκειμένου και χρησιμοποιούν τη θύρα 80 από προεπιλογή. Οι διευθύνσεις URL που ξεκινούν με "https://" είναι προσβάσιμες μέσω ασφαλούς σύνδεσης HTTPS και συχνά χρησιμοποιούν τη θύρα 443.

ΘΕΣΗ

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

Τα λειτουργικά συστήματα συσκευών Mac και Windows εκτελούν το POST κάθε φορά που εκκινείται ή επανεκκινείται ο υπολογιστής. Σάρωση ελέγχων Σκεύη, εξαρτήματακαι διασφαλίζει ότι ο επεξεργαστής, η μνήμη RAM και οι συσκευές αποθήκευσης λειτουργούν σωστά. Εάν παρουσιαστεί σφάλμα κατά τη διάρκεια του POST, η διαδικασία εκκίνησης μπορεί να σταματήσει ή να σταματήσει τελείως και ένα μήνυμα μπορεί να εμφανιστεί στην οθόνη.Σε έναν υπολογιστή, τα σφάλματα POST εμφανίζονται συχνά στην οθόνη πληροφοριών του BIOS. Μπορούν να εξαχθούν ως κωδικοί κρύπτης όπως "08" ή ως μήνυμα συστήματος, για παράδειγμα, "Σφάλμα μνήμης συστήματος κατά τη μετατόπιση." Σε Mac, τα σφάλματα POST υποδεικνύονται συχνά με απλά γραφικά, όπως ένα σπασμένο εικονίδιο φακέλου, το οποίο υποδεικνύει ότι δεν βρέθηκε συσκευή εκκίνησης.

σωματικές εκδηλώσεις

Σε ορισμένες περιπτώσεις, η οθόνη του υπολογιστή μπορεί να μην ενεργοποιηθεί καν πριν από τα σφάλματα POST. Εάν συμβεί αυτό, οι κωδικοί σφάλματος ενδέχεται να εμφανίζονται μέσω LED που αναβοσβήνουν ή μπιπ. Για παράδειγμα, ένα Apple iMac θα παίξει τρεις διαδοχικούς τόνους, θα κάνει παύση για πέντε δευτερόλεπτα και, στη συνέχεια, θα επαναλάβει τους ήχους όταν εντοπιστεί κακή μνήμη RAM κατά την εκκίνηση. Οι περισσότεροι υπολογιστές κάνουν επίσης ένα ηχητικό σήμα όταν αντιμετωπίζουν σφάλματα POST, αν και κάθε κατασκευαστής χρησιμοποιεί τους δικούς του κωδικούς.

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

ΠΑΙΡΝΩ

Το POST είναι επίσης μια μέθοδος μεταβλητής μετάβασης Φόρμες HTMLαπό τη μια ιστοσελίδα στην άλλη χωρίς να εμφανίζονται στη γραμμή διευθύνσεων. Μια εναλλακτική μέθοδος είναι η GET, η οποία προσθέτει τιμές στη διεύθυνση URL. Τα αιτήματα HTTP POST παρέχουν πρόσθετα δεδομένα από τον πελάτη (πρόγραμμα περιήγησης) στον διακομιστή στο σώμα του μηνύματος. Αντίθετα, τα αιτήματα GET περιλαμβάνουν όλα τα απαιτούμενα δεδομένα στη διεύθυνση URL. Οι φόρμες σε HTML μπορούν να χρησιμοποιήσουν οποιαδήποτε μέθοδο, προσδιορίζοντας τη μέθοδο=POST ή τη μέθοδο=GET (προεπιλογή) στο στοιχείο . Η καθορισμένη μέθοδος καθορίζει τον τρόπο υποβολής των δεδομένων φόρμας στον διακομιστή. Όταν χρησιμοποιείται η μέθοδος GET, όλα τα δεδομένα φόρμας κωδικοποιούνται με URL ως παράμετροι συμβολοσειράς ερωτήματος. Με το POST, τα δεδομένα της φόρμας εμφανίζονται στο σώμα του μηνύματος του αιτήματος HTTP.

Διαφορές στην παρουσίαση της μορφής

Η μέθοδος αιτήματος POST ζητά από τον διακομιστή web να αποδεχτεί και να αποθηκεύσει τα δεδομένα που περικλείονται στο σώμα του μηνύματος αιτήματος. Συχνά χρησιμοποιείται κατά τη μεταφόρτωση ενός αρχείου ή την υποβολή συμπληρωμένης φόρμας ιστού.

Η μέθοδος αιτήματος HTTP GET ανακτά πληροφορίες από το διακομιστή. Ως μέρος ενός αιτήματος GET, ορισμένα δεδομένα ενδέχεται να μεταβιβαστούν στη συμβολοσειρά ερωτήματος διεύθυνσης URL, καθορίζοντας όρους αναζήτησης, εύρη ημερομηνιών ή άλλες πληροφορίες που καθορίζουν το αίτημα.

Ως μέρος ενός αιτήματος POST, μια αυθαίρετη ποσότητα δεδομένων οποιουδήποτε τύπου μπορεί να σταλεί στον διακομιστή στο σώμα του μηνύματος αίτησης. Το πεδίο κεφαλίδας σε ένα αίτημα POST καθορίζει τυπικά τον τύπο διαδικτυακού μέσου του σώματος του μηνύματος.

Η κύρια διαφορά μεταξύ των αιτημάτων GET και POST είναι ότι αντιστοιχούν σε διαφορετικά αιτήματα HTTP όπως ορίζονται στις προδιαγραφές HTTP. Η διαδικασία υποβολής και για τις δύο μεθόδους ξεκινά με τον ίδιο τρόπο: το σύνολο δεδομένων φόρμας δημιουργείται από το πρόγραμμα περιήγησης και στη συνέχεια κωδικοποιείται με τον τρόπο που καθορίζεται από το χαρακτηριστικό enctype. Για METHOD="POST, το χαρακτηριστικό enctype μπορεί να είναι multipart/form-data ή application/x-www-form-urlencoded, ενώ για το METHOD="GET" ενεργοποιείται μόνο μέσω application/x-www-form-urlencoded. Αυτό το σύνολο τα δεδομένα της φόρμας μεταβιβάζονται στον διακομιστή.

Για να υποβάλετε μια φόρμα με METHOD = "GET", το πρόγραμμα περιήγησης κατασκευάζει μια διεύθυνση URL λαμβάνοντας την τιμή του χαρακτηριστικού δράσης και προσαρτώντας σε αυτό ένα σύνολο δεδομένων φόρμας που κωδικοποιούνται χρησιμοποιώντας τον τύπο περιεχομένου εφαρμογής/x-www-form-urlencoded). Στη συνέχεια, το πρόγραμμα περιήγησης αντιμετωπίζει αυτήν τη διεύθυνση URL σαν να αναφέρεται σε έναν σύνδεσμο (ή σαν να είχε πληκτρολογήσει ο χρήστης με μη αυτόματο τρόπο τη διεύθυνση URL). Το πρόγραμμα περιήγησης χωρίζει τη διεύθυνση URL σε μέρη και αναγνωρίζει τον κεντρικό υπολογιστή και, στη συνέχεια, στέλνει ένα αίτημα GET σε αυτόν τον κεντρικό υπολογιστή με το υπόλοιπο URL ως όρισμα. Είναι σημαντικό να σημειωθεί ότι αυτή η διαδικασία σημαίνει ότι τα δεδομένα της φόρμας περιορίζονται σε κωδικούς ASCII. Θα πρέπει να δίνεται ιδιαίτερη προσοχή στην κωδικοποίηση και αποκωδικοποίηση άλλων τύπων χαρακτήρων κατά τη μετάβασή τους σε μια διεύθυνση URL ASCII.

Μια υποβολή φόρμας με METHOD="POST" προκαλεί την αποστολή ενός αιτήματος POST χρησιμοποιώντας την τιμή του χαρακτηριστικού action και μια ανάρτηση που δημιουργείται σύμφωνα με τον τύπο περιεχομένου που καθορίζεται από το χαρακτηριστικό enctype.

PHP

Η PHP είναι ενσωματωμένη σε HTML. Αυτό σημαίνει ότι ο κώδικας PHP μπορεί να εισαχθεί σε μια σελίδα HTML. Ο κώδικας PHP διαβάζεται ή αναλύεται από τον διακομιστή που φιλοξενεί τη σελίδα. Η έξοδος των συναρτήσεων GET και POST της PHP σε μια σελίδα συνήθως επιστρέφεται ως κώδικας HTML που μπορεί να διαβαστεί από το πρόγραμμα περιήγησης. Επειδή ο κώδικας PHP μετατρέπεται σε HTML πριν από τη φόρτωση της σελίδας, οι χρήστες δεν μπορούν να δουν τον κώδικα PHP στη σελίδα. Κάνει σελίδες PHPεπαρκείς για πρόσβαση σε βάσεις δεδομένων και άλλες προστατευμένες πληροφορίες.

Μεγάλο μέρος της σύνταξης της PHP είναι δανεισμένο από άλλες γλώσσες όπως η C, η Java και η Perl. Ωστόσο, η PHP έχει μια σειρά από μοναδικά χαρακτηριστικά και ειδικά χαρακτηριστικά. Ο σκοπός αυτής της γλώσσας είναι να επιτρέψει στους προγραμματιστές ιστού να γράφουν γρήγορα και εύκολα σελίδες που δημιουργούνται δυναμικά.

Wordpress

Το WordPress είναι ένα δωρεάν σύστημα διαχείρισης περιεχομένου που χρησιμοποιείται για τη δημιουργία και τη συντήρηση ιστοσελίδων. Η ευκολία χρήσης του και οι μοναδικές δυνατότητες του blogging το έχουν βοηθήσει να γίνει το πιο δημοφιλές εργαλείο blogging στον Ιστό.

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

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

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

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

Θα μιλήσω για αυτά στο πλαίσιο της PHP. Λάβετε υπόψη ότι το πρωτόκολλο HTTP με την PHP έχει μια έμμεση σχέση επειδή δημιουργήθηκε για την ανταλλαγή σελίδων html και η PHP απλώς επεκτείνει τις δυνατότητες και των δύο.

Το αίτημα GET χρησιμοποιείται για τη λήψη δεδομένων και το POST χρησιμοποιείται για την αποστολή. (Σας θυμίζω ότι τεχνικά λειτουργούν με τον ίδιο τρόπο).

Επομένως, στο πλαίσιο της PHP, με βάση αυτή την ιδεολογία, έκαναν τα εξής:
1. Κάθε φορά που ξεκινάτε την PHP, δημιουργούνται από προεπιλογή υπερσφαιρικοί πίνακες ($_GET, $_POST).
2. Εάν υπάρχει ερωτηματικό(?) στη συμβολοσειρά ερωτήματος. Όλα μετά μετράνε ΠαράμετροιΑίτημα GET, αντιπροσωπεύονται με τη μορφή "key"="value" και το σύμβολο συμπλεκτών (&) χρησιμοποιείται ως διαχωριστικό
Παράδειγμα:
GET /index.php?name=Andrey&surname=Galkin
Αυτή είναι μια συμβολοσειρά ερωτήματος, υπάρχουν 2 παράμετροι. αυτές οι παράμετροι θα καταλήξουν στον πίνακα $_GET.
3. Το $_POST συμπληρώνεται με διαφορετικό τρόπο. το περιεχόμενο αυτού του πίνακα συμπληρώνεται από "κεφαλίδες αιτήματος". Δηλαδή από ένα μέρος κρυμμένο από τα μάτια σε ρητή μορφή. Το πρόγραμμα περιήγησης φροντίζει για όλη τη ρουτίνα δημιουργίας τέτοιων κεφαλίδων. Αν και μερικές φορές κάτι επεξεργάζεται στις επικεφαλίδες χειροκίνητα.

Τις περισσότερες φορές, ένα αίτημα ανάρτησης χρησιμοποιείται σε φόρμες (για αποστολή δεδομένων).

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

Φανταστείτε ότι χρησιμοποιούμε τη μέθοδο GET. Στη συνέχεια, κατά την υποβολή της φόρμας, θα μεταβούμε στην ακόλουθη διεύθυνση /login.php?login=Andrey&password=123 συμφωνείτε ότι δεν είναι καθόλου ασφαλής η μετάδοση τέτοιων πληροφοριών με αυτόν τον τρόπο. Οποιοσδήποτε μπορεί να ανοίξει το πρόγραμμα περιήγησής σας και ξεκινώντας να εισάγει τη διεύθυνση του ιστότοπου, μπορεί να δει τους κωδικούς πρόσβασης και τις συνδέσεις σας από το ιστορικό.

Αλλά αν προσδιορίζαμε τη μέθοδο POST, τότε θα λαμβάναμε το ακόλουθο αίτημα:
POST /login.php (login=Andrey&password=123) ό,τι βρίσκεται σε αγκύλες θα ήταν κρυφό και δεν θα αποθηκευτεί στο πρόγραμμα περιήγησης με κανέναν τρόπο.

Για να συνοψίσουμε γενικά:
Το GET είναι να αποκτήσετε μια συγκεκριμένη σελίδα με συγκεκριμένο τρόπο (ταξινόμηση, τρέχουσα σελίδα ιστολογίου, συμβολοσειρά αναζήτησης κ.λπ.).
POST - για αποστολή δεδομένων που δεν επηρεάζουν την εμφάνιση της σελίδας, με την έννοια ότι αυτά τα δεδομένα επηρεάζουν μόνο το αποτέλεσμα της εκτέλεσης του σεναρίου (logs, κωδικούς πρόσβασης, αριθμούς πιστωτικών καρτών, μηνύματα κ.λπ.).

Και ένα ακόμα καλό νέο, μπορούν να συνδυαστούν, για παράδειγμα
POST /index.php?page=login (login=Andrey&password=123) Νομίζω ότι έχω ήδη εξηγήσει αρκετά τι θα προκύψει από αυτό και ποιες παράμετροι θα μπουν σε ποιον πίνακα.

mob_info