Heim - Für Anfänger
PHP- und GET- und POST-Datenübertragungsmethoden. POST, GET: Wie sich Anfragen voneinander unterscheiden Was ist die Datenübertragung mit der Get-Methode?

Beschreibung

Das Methodenattribut teilt dem Server die Anforderungsmethode mit.

Syntax

...

Werte

Beim Wert des Methodenattributs wird die Groß-/Kleinschreibung nicht beachtet.

Es gibt zwei Methoden: Abrufen und Posten. Get Diese Methode ist eine der gebräuchlichsten und dient dazu, die erforderlichen Informationen abzurufen und Daten an diese zu übertragen Adressleiste

. Name=Wert-Paare werden dann nach dem Fragezeichen an die Adresse angehängt und durch ein kaufmännisches Und (&-Symbol) getrennt. Der Vorteil der Verwendung der get-Methode besteht darin, dass die Adresse mit allen Parametern wiederholt verwendet und beispielsweise in den Lesezeichen Ihres Browsers gespeichert werden kann. Außerdem können Sie die Parameterwerte direkt in der Adressleiste ändern.

post Die Post-Methode sendet Daten in einer Browseranfrage an den Server. Dadurch können Sie mehr Daten senden, als der Get-Methode zur Verfügung stehen, da diese auf 4 KB begrenzt ist. Große Datenmengen werden in Foren, E-Mail-Diensten, beim Befüllen von Datenbanken, beim Versenden von Dateien usw. verwendet.

Erforderliches Attribut

Standardwert



FORM-Tag, Methodenattribut Schicken

Bei der Entwicklung eines Projekts

Arbeiten mit Formularen in PHP und HTML

Formulare werden durch das Formular-Tag identifiziert:

Methodenattribut Gibt an, welche Methode zum Absenden des Formulars verwendet wird. Es gibt zwei Methoden: GET und POST. Lesen Sie weiter unten mehr darüber, während wir kurz auf die Hauptelemente des Formulars eingehen:

Textfeld – Eingabetext

Ein Textfeld, in das Sie Informationen eingeben können. Namensattribut- Name Textfeld, Wert- Bedeutung. Sie sehen so aus:

Schaltfläche – Eingabe senden

Schaltfläche zum Absenden von Formularen. Es sieht so aus:

Textblock - Textbereich

Textblock, der normalerweise zum Schreiben großer Nachrichten verwendet wird. Attributzeilen, Spalten – Länge und Breite.

Aussehen:

Lesen Sie mehr über Formulare auf unserer Website oder in anderen Quellen. Der Zweck dieser Lektion besteht darin, zu zeigen, wie Verarbeiten Sie Formulare mit PHP.

GET- und POST-Methode beim Absenden von Formularen

GET- und POST-Methoden werden bei der Initialisierung im Methodenattribut des Formulars angegeben:

GET-Methode vermittelt Informationen in der Seitenadresse, POST-Methode- in den Schlagzeilen. Um besser zu verstehen, was es ist GET- und POST-Methode Schreiben wir ein Skript, das unseren Namen und unsere Nachricht an den Server sendet und der Server die Nachricht auf dem Bildschirm anzeigt.

In PHP-Daten mit der GET-Methode empfangen in einer Variablen gespeichert $_GET. Daten mit der POST-Methode übertragen in einer Variablen gespeichert $_POST.

Schreiben wir zunächst den Code für die Arbeit mit der GET-Methode und dann mit der POST-Methode.

Formulare - Designstudio OX2.ru

 

print_r($_GET); //Das Array mit print_r ausgeben
?>

Ihr Name:
Nachricht:



Lassen Sie uns nun das Skript überarbeiten, um Daten mithilfe der POST-Methode zu senden.

Formulare - Designstudio OX2.ru

 

print_r($_POST); //Das Array mit print_r ausgeben
?>

Ihr Name:
Nachricht:



Um die Arbeit mit besser zu verstehen Formulare in PHP, Senden und Empfangen von Daten POST- und GET-Methoden, in der nächsten Lektion werden wir ein einfaches Logikspiel erstellen.

Bei der Entwicklung eines Projekts ist die Kommunikation mit dem Benutzer eines der grundlegendsten Dinge. Wir können ihn etwas fragen und ihm das Recht geben, zu antworten (Umfrage), wir können ihm das Recht geben, seine Meinung zu einem Produkt oder einer Dienstleistung zu äußern, wir können ihm helfen, die Kosten unserer Dienstleistungen zu berechnen, wenn es notwendig ist, eine Online-Umfrage zu erstellen Laden usw. .

OX2 05.10.2014 05.10.2014

Browser-Clients können Informationen an den Webserver senden.

Bevor der Browser Informationen sendet, kodiert er diese mithilfe eines Schemas namens URL-Kodierung. In diesem Schema werden Name/Wert-Paare mit Gleichheitszeichen verkettet und verschiedene Paare werden durch ein kaufmännisches Und getrennt.

Name1=Wert1&Name2=Wert2&Name3=Wert3

Leerzeichen werden entfernt und durch ein +-Zeichen ersetzt, und alle anderen nicht alphanumerischen Zeichen werden durch Hexadezimalwerte ersetzt. Sobald die Informationen verschlüsselt sind, werden sie an den Server gesendet.

GET-Methode

Die GET-Methode sendet verschlüsselte Benutzerinformationen, die an die Seitenanforderung angehängt werden. Sind die Seiten und kodierten Informationen voneinander getrennt? Fragezeichen.

http://www.test.com/index.htm?name1=value1&name2=value2

  • Die GET-Methode erzeugt eine lange Zeichenfolge, die in Ihren Serverprotokollen im Feld „Standort“ des Browsers angezeigt wird.
  • Die GET-Methode ist auf das Senden von maximal 1024 Zeichen beschränkt.
  • Verwenden Sie niemals die GET-Methode, wenn Sie ein Passwort oder ähnliches haben vertrauliche Informationen zum Senden an den Server.
  • GET kann nicht zum Übertragen von Binärdaten wie Bildern usw. verwendet werden Textdokumente, zum Server.
  • Auf Daten, die mit der GET-Methode gesendet wurden, kann über zugegriffen werden Umgebungsvariable QUERY_STRING.
  • PHP stellt das assoziative Array $_GET bereit, um mit der GET-Methode auf alle gesendeten Informationen zuzugreifen.

if($_GET["name"] || $_GET["age"]) ( echo "Willkommen". $_GET["name"]; echo "Du bist ". $_GET["age"]. " Jahre alt "; Ausfahrt(); )

Name: Alter:

POST-Methode

Verfahren POSTüberträgt Informationen über HTTP-Header. Die Verschlüsselung der Informationen erfolgt wie bei der Methode beschrieben ERHALTEN und wird in der Kopfzeile platziert QUERY_STRING.

  • Bei der POST-Methode gibt es keine Begrenzung hinsichtlich der Größe der zu sendenden Daten.
  • Mit der POST-Methode können sowohl ASCII- als auch Binärdaten gesendet werden.
  • Mit der POST-Methode gesendete Daten durchlaufen einen HTTP-Header, sodass die Sicherheit vom HTTP-Protokoll abhängt. Durch die Verwendung von Secure HTTP können Sie sicherstellen, dass Ihre Informationen sicher sind.
  • PHP stellt ein assoziatives Array $_POST bereit, um auf alle mit der POST-Methode gesendeten Informationen zuzugreifen.

Probieren Sie das folgende Beispiel aus, indem Sie Folgendes platzieren Quellcode in das test.php-Skript ein.

if($_POST["name"] || $_POST["age"]) ( if (preg_match("[^A-Za-z"-]",$_POST["name"])) ( die (" ungültiger Name und Name sollte aus Buchstaben bestehen"); ) echo "Willkommen". $_POST["name"]; echo "Du bist ". $_POST["age"]. " Jahre alt."; exit(); )

Name: Alter:

$_REQUEST-Variable

PHP-Variable $_REQUEST enthält Inhalte wie $_GET, $_POST, Also $_COOKIE. Wir werden die Variable diskutieren $_COOKIE wenn wir über Cookies sprechen.

Die PHP-Variable $_REQUEST kann verwendet werden, um das Ergebnis aus Formulardaten abzurufen, die mit den Methoden GET und POST übermittelt wurden.

Gemeinsam ist ihnen, dass sie auf die gleiche Weise funktionieren. Technisch gesehen gibt es keinen Unterschied zwischen ihnen. Aber es gibt ideologische Unterschiede.

Ich werde darüber im Kontext von PHP sprechen. Bitte beachten Sie, dass das HTTP-Protokoll indirekt mit PHP zusammenhängt, da es für den Austausch erstellt wurde HTML-Seiten und PHP erweitert einfach die Fähigkeiten beider.

Die GET-Anfrage wird zum Empfangen von Daten und die POST-Anfrage zum Senden verwendet. (Denken Sie daran, dass sie technisch gesehen gleich funktionieren).

Daher haben wir im Kontext von PHP, basierend auf dieser Ideologie, Folgendes getan:
1. Jedes Mal, wenn Sie PHP starten, werden standardmäßig superglobale Arrays ($_GET, $_POST) erstellt.
2. Wenn die Abfragezeichenfolge ein Fragezeichen (?) enthält. Alles danach wird berücksichtigt Parameter Bei einer GET-Anfrage werden sie im Format „key“="value" dargestellt und das kaufmännische Und-Zeichen (&) wird als Trennzeichen verwendet.
Beispiel:
GET /index.php?name=Andrey&surname=Galkin
Dies ist eine Abfragezeichenfolge, es gibt 2 Parameter. Diese Parameter werden in das Array $_GET eingefügt.
3. $_POST wird auf andere Weise gefüllt. Der Inhalt dieses Arrays wird aus den „Request-Headern“ gefüllt. Das heißt, von einem Ort aus, der offensichtlich nicht sichtbar ist. Der Browser übernimmt alle Aufgaben zur Erstellung solcher Header. Obwohl manchmal etwas in den Überschriften manuell bearbeitet wird.

Am häufigsten wird eine Post-Anfrage in Formularen verwendet (zum Senden von Daten).

Wir haben zum Beispiel ein Login-Formular mit zwei Feldern: Login und Passwort.

Stellen wir uns vor, wir verwenden die GET-Methode. Beim Absenden des Formulars gehen wir dann zur folgenden Adresse: /login.php?login=Andrey&password=123 Sie stimmen zu, dass die Übermittlung solcher Informationen auf diesem Weg überhaupt nicht sicher ist. Jeder kann Ihren Browser öffnen und mit der Eingabe der Site-Adresse Ihre Passwörter und Logins aus dem Verlauf sehen.

Wenn wir jedoch die POST-Methode angeben würden, würden wir die folgende Anfrage erhalten:
POST /login.php (login=Andrey&password=123) Was in Klammern steht, wird ausgeblendet und in keiner Weise im Browser gespeichert.

Um es zusammenzufassen:
GET dient dazu, eine bestimmte Seite abzurufen eine bestimmte Form(Sortierung, aktuelle Blogseite, Suchleiste usw.).
POST – zum Senden von Daten, die sich nicht auf die Anzeige der Seite auswirken, in dem Sinne, dass diese Daten nur das Ergebnis des Skripts beeinflussen (Logins, Passwörter, Kreditkartennummern, Nachrichten usw.).

Und eine weitere gute Nachricht ist, dass sie zum Beispiel kombinierbar sind
POST /index.php?page=login (login=Andrey&password=123) Ich glaube, ich habe bereits genug erklärt, was dabei herauskommt und welche Parameter in welches Array gehen.

Die Verwendung von GET- und POST-Methoden in PHP kann kaum überschätzt werden, da diese Methoden auf fast jeder Website zu finden sind. Bevor Sie das unten beschriebene Material studieren, empfehle ich Ihnen, sich mit dem HTML-Tag vertraut zu machen

. Schauen wir uns jede dieser Methoden im Detail an.

GET-Methode

Die GET-Methode verwendet eine URL-Zeichenfolge zum Übertragen von Daten. Möglicherweise sind Ihnen lange und unklare URLs aufgefallen. Zum Beispiel: function.php?login=Alex&email=dezyakin. In diesem Fall werden die Daten in function.php verarbeitet. Nach dem Fragezeichen „?“ gibt es eine Liste der übergebenen Parameter (Parameter werden durch „&“ getrennt) mit Werten: Dem Login-Parameter wird der Wert Alex zugewiesen, und der E-Mail-Variable wird der Wert dezyakin zugewiesen. Die Daten werden im superglobalen Array $_GET gespeichert. Ein Beispiel für die Verwendung der GET-Methode ist unten dargestellt:

Login: E-Mail: Mithilfe des superglobalen Arrays $_GET zeigen wir die akzeptierten Werte an:*/ echo "
login = ". $_GET["login"] ; echo "
email = ". $_GET["email"] ; ?>

Beachten Sie, wie wir Werte aus dem superglobalen Array $_GET lesen: $_GET["Variablenname"]. In unserem Beispiel wurden die Variablennamen in der Form (name=login und name=email) deklariert.

Beratung:
Bevor Sie die empfangenen Werte verarbeiten, empfehle ich Ihnen, deren Existenz mithilfe von Funktionen zu überprüfen isset(Variablenname) oder leer(Variablenname)- Diese Funktionen wurden in der vorherigen Lektion 2: Variablen in PHP besprochen. Zum Beispiel:

Existenzprüfung mit isset: if isset ($_GET["login"] ) ( Operatoren für die Verarbeitung der Anmeldung ... } //oder prüfen Sie die Existenz mit empty: wenn leer ($_GET["email"] ) ( Betreiber für die E-Mail-Verarbeitung ... } ?>

Im Formular können Sie den Namen der Datei angeben, die die übertragenen Werte verarbeiten soll. Dies erfolgt über das Aktionsattribut des Formulars, dem die Adresse dieser Datei zugewiesen werden kann. Standardmäßig ist diese Datei zugewiesen aktuelle Datei(d. h. in der Datei verarbeitet, in der sich das Formular befindet). Hier ist ein Beispiel, in dem Daten aus einem Formular zur Verarbeitung in die Datei srcipt.php übertragen werden:

Login: E-Mail:

Die Datei script.php muss eine Art Informationshandler enthalten, andernfalls werden die Informationen leer übergeben.

Die GET-Methode hat viele Nachteile:

  • Der Benutzer sieht die Werte der übergebenen Parameter;
  • Der Benutzer kann leicht vortäuschen übergebene Parameter;
  • Unbequeme Übertragung binärer Informationen (Sie müssen sie kodieren). Textformat);
  • Die Menge der übertragenen Daten ist begrenzt – 8 KB;

Aufgrund der oben genannten Nachteile wird die GET-Methode nur in Fällen verwendet, in denen eine kleine Datenmenge übertragen werden muss und diese Daten in keiner Weise klassifiziert werden.

POST-Methode

Die POST-Methode unterscheidet sich von GET dadurch, dass die Daten in privater Form übertragen werden. Es gibt ein superglobales Array $_POST, aus dem Daten wie folgt gelesen werden können: $_POST["Variablenname"]. Zum Beispiel:

Login: "> E-Mail: ">
Mithilfe des superglobalen Arrays $_POST zeigen wir die akzeptierten Werte an:*/ echo "
login = ". $_POST["login"] ; echo "
email = ". $_POST["email"] ; ?>

Das Ergebnis der Ausführung des obigen Codes ist in der folgenden Abbildung dargestellt:

Wie Sie sehen, enthält die URL kein Postscript, dennoch wurden die Daten empfangen und angezeigt.

Notiz:
1) Das Volumen der übertragenen Werte mit der POST-Methode ist standardmäßig begrenzt und beträgt 8 MB. Um diesen Wert zu erhöhen, müssen Sie die post_max_size-Direktive in php.ini ändern.

2) In früheren Versionen von PHP wurden anstelle der kurzen superglobalen Array-Namen $_GET und $_POST längere Namen verwendet: $HTTP_GET_VARS und $HTTP_POST_VARS . Standardmäßig sind sie in PHP 5 deaktiviert, Sie können sie jedoch in der Konfigurationsdatei php.ini mit dem Parameter register_long_arrays aktivieren. In der PHP 6-Version sind diese langen Namen nicht verfügbar.

3) Bevor Sie Variablen aus $_POST verarbeiten, empfehle ich Ihnen, die Variablen auf ihr Vorhandensein zu überprüfen, so wie es auch bei der GET-Methode geschehen ist.



 


Lesen:



Verwenden von Stilen in Excel So erstellen Sie Ihren eigenen neuen Stil

Verwenden von Stilen in Excel So erstellen Sie Ihren eigenen neuen Stil

Wenn Sie in Ihren Tabellenkalkulationen immer dieselben Optionen zum Formatieren von Arbeitsblattzellen verwenden, ist es möglicherweise sinnvoll, einen Formatierungsstil zu erstellen ...

Welche Fehler treten bei der Installation auf?

Welche Fehler treten bei der Installation auf?

Hinweis: AutoLISP-Programme sind nur auf der Vollversion von AutoCAD lauffähig, sie funktionieren nicht unter AutoCAD LT. (ausgenommen Ladefälle...

Sozialer Status einer Person in der Gesellschaft

Sozialer Status einer Person in der Gesellschaft

Schlagen Sie vor, was die Wahl einer Person für ihren Hauptstatus bestimmt. Treffen Sie anhand des Texts und der Fakten des gesellschaftlichen Lebens zwei Annahmen und ...

Vollständige Interpretation von Fehlern

Vollständige Interpretation von Fehlern

Nicht wenige Benutzer sind auf das Phänomen des Blue Screen of Death gestoßen. Was zu tun ist (Windows 7 ist am häufigsten für dieses Problem anfällig) ...

Feed-Bild RSS