PHP-Einfach.de
  • PHP Tutorial
  • MySQL Tutorial
  • Für Fortgeschrittene
  • Webhosting
  • Forum

$_GET und $_POST

10. Februar 2020
  1. Home
  2. »
  3. PHP Tutorial
  4. »
  5. $_GET und $_POST

Möchtet ihr in PHP Werte von einer Seite zur nächsten übertragen, zu greift man oft auf die zwei speziellen Variablen $_GET und $_POST zurück. Beispielsweise möchtet ihr die Benutzereingabe eines Formulars an euer Script übertragen, diese überprüfen und abspeichern. Das Übertragen dieser Benutzereingaben erfolgt entweder mittels $_GET oder $_POST.

Inhaltsverzeichnis

  • 1 Datenübergabe mittels $_GET
  • 2 Datenübergabe mittels $_POST
  • 3 $_POST oder $_GET?

Datenübergabe mittels $_GET

Bei der GET-Methode spricht man von Variablenwerten, die mittels der URL übergeben werden. Vielleicht ist euch im Browser bereits aufgefallen, dass viele URLs ein ? hinter dem Dateinamen haben gefolgt von entsprechenden Werten. Dies sind die GET-Variablen der Website. Im PHP-Script könnt ihr auf diese wie folgt zugreifen.

<?php
$vorname = $_GET['vorname'];
$nachname = $_GET['nachname'];
echo "Hallo $vorname $nachname";
?>

Wenn ihr diese Seite auf eurem Webspace mittels get.php?vorname=Max&nachname=Meier aufruft, so übergebt ihr dem Script zwei $_GET-Variablen. Zum einen die Variable $_GET['vorname']  mit dem Wert Max, zum anderen die Variable $_GET['nachname']  mit dem Wert Meier.

Ihr könnt den Aufrufpfad des interaktiven Editors hier in der Seite modifizieren, indem ihr auf das $-Zeichen neben Ausführen klickt.

Die GET-Variablen beginnen nach dem ? hinter dem Namen eures Scripts. Verschiedene GET-Variablen lassen sich durch ein entsprechendes &-Zeichen voneinander trennen. Die Reihenfolge ist übrigens nicht von Bedeutung, ihr könnt das Script ebenfalls mittels get.php?nachname=Meier&vorname=Max aufrufen.

Übung: Erweitert das obige Script um eine dritte GET-Variable, z.B. den Mittelnamen, übergebt diesen und lasst den Wert ausgeben.

GET-Variablen werden meistens genutzt, um Links mit entsprechend dynamischen Werten auszustatten. Sicher habt ihr schon URLs gesehen, die ein ?id=456 bzw. entsprechend andere Parameter haben. So übergibt man dem PHP Script Informationen, beispielsweise welches Produkt aus einem Online Shop dargestellt werden soll.

 

Datenübergabe mittels $_POST

Im Gegensatz zu $_GET werden $_POST-Variablen nicht per URL, sondern per Formular übertragen (mehr Infos zu HTML-Formulare). Erstellt dazu ein HTML-Formular (seite1.php) mit dem folgenden Inhalt:

1
2
3
4
5
<form action="seite2.php" method="post">
Vorname: <input type="text" name="vorname" /><br />
Namename: <input type="text" name="nachname" /><br />
<input type="Submit" value="Absenden" />
</form>

Es ist auch wichtig, dass wir allen Eingabefeldern einen einzigartigen Namen zuweisen, damit sie nach dem Absenden auf der zweiten Seite auch korrekt abgefragt werden können. Haben zwei Felder den selben Namen, so wird nur das letztere Feld übertragen, da die vorige Eingabe überschrieben wird.

Im obigen Formular habt ihr bei action die Zielseite definiert und bei method die POST-Methode ausgewählt. Auf seite2.php könnt ihr die Eingaben des Formulars nach dem Absenden nun wie folgt abrufen:

<?php
$vorname = $_POST["vorname"];
$nachname = $_POST["nachname"];
echo "Hallo $vorname $nachname";
?>

Wir erinnern uns an das Input-Feld mit dem Namen vorname auf seite1.php, genau diese Eingabe rufen wir jetzt mit $_POST["vorname"]; ab. Klicken wir auf der Formularseite auf Absenden, so wird seite2.php aufgerufen, dabei werden die Daten übermittelt und von dieser ausgegeben.

Mit $_POST["vorname"]; können wir also die gesendeten Daten wieder abfragen. ["vorname"] gibt den Namen des abgefragten Inputfeldes aus der Formularseite an (hier vorname).

Nutzt ihr unseren interaktiven Editor und führ diesen Code auf unserer Website aus, so könnt ihr durch ein Klicken auf das $-Symbol euch die GET- und POST-Parameter anzeigen, die an den Code übermittelt werden sollen. Im obigen Beispiel werden die zwei POST-Variablen vorname und nachname übermittelt mit den entsprechenden Werten. Sofern ihr es lokal auf localhost testet, benötigt ihr ein entsprechendes Formular (seite1.php), welches die Daten an eure seite2.php sendet.

Selbstverständlich lassen sich auf $_POST und $_GET kombinieren. Dazu wieder zuerst ein Formular (seite1.php):

1
2
3
4
5
<form action="seite2.php?wochentag=Sonntag" method="post">
Vorname: <input type="text" name="vorname" /><br />
Namename: <input type="text" name="nachname" /><br />
<input type="Submit" value="Absenden" />
</form>

Im obigen Formular wird der Inhalt des Formular an seite2.php?wochentag=Sonntag übergeben, d.h. es wird zusätzlich noch eine GET-Variable übertragen. Die Daten lassen sich dann auf seite2.php wie folgt abrufen:

<?php
$vorname = $_POST["vorname"];
$nachname = $_POST["nachname"];
$wochentag = $_GET["wochentag"];

echo "Hallo $vorname $nachname. Treffen wir uns am $wochentag?";
?>

 

 

$_POST oder $_GET?

Wann benutzt man POST und wann GET? Die Frage ist leicht zu beantworten. Wenn man Eingaben aus einem Formular übergeben möchte, so sollte man immer POST benutzen.
Warum ?
Mit GET werden die Eingaben der URL angehängt, dadurch ist die Textlänge eingeschränkt, außerdem kann jeder im Browser-Verlauf an der URL erkennen, was als Daten übermittelt wurde, und bei einer Passworteingabe ist das nicht so schön.

Vorteil von GET
GET wird benutzt, wenn man einfache Informationen übergeben möchte. Soll zum Beispiel mit dem Klick auf einen Link eine Auswahl übergeben werden, so benutzt man die Methode GET. Ein Link in einer aufrufenden Seite könnte dann so aussehen:

<a href="artikel.php?id=234">Das PHP Einsteiger Buch</a>

In diesem Beispiel würde die Eingabe 234 übermittelt werden. Solche Links werden in PHP zur Programmierung dynamischer Seiten benutzt, z.B. um Produktdetails in einem Online-Shop anzuzeigen.

Autor: Nils Reimers
Zurück: Rechnen mit Variablen
Weiter: if-Anweisungen

PHP Tutorial

  • Installation
  • Webspace
  • Erste Schritte
  • Text ausgeben per echo
  • Kommentare
  • Variablen
  • Rechnen mit Variablen
  • $_GET und $_POST
  • if-Anweisungen
  • Vergleichsoperatoren
  • Logische Operatoren
  • Übungsaufgaben
  • while-Schleife
  • for-Schleife
  • Arrays
  • Dateien lesen
  • Dateien schreiben
  • Datum und Uhrzeit
  • E-Mails mit PHP versenden
  • Suchen und Ersetzen
  • Sessions
  • Eigene Funktionen
  • Andere PHP Dateien einbinden
  • Dateiupload
  • Cookies
  • Konstanten
  • Reguläre Ausdrücke
  • Überblick: Wichtige PHP Funktionen
Mit freundlicher Unterstützung von:
  • Punkt191 Werbeagentur

Hoster – Geringste Ausfallzeit

  1. webgo Ø 0 Min.
  2. netcup Ø 0 Min.
  3. All-Inkl.com Ø 3 Min.
  4. Linevast Ø 3 Min.
  5. checkdomain Ø 5 Min.
  6. dogado Ø 6 Min.
  7. Strato Ø 8 Min.
  8. manitu Ø 9 Min.
  9. 1&1 Ø 10 Min.
  10. DomainFactory Ø 14 Min.
» Mehr erfahren

Impressum | Datenschutz | Auf PHP-Einfach.de werben

© PHP-Einfach.de 2003 - 2025

Cookie-Zustimmung verwalten
Um dir ein optimales Erlebnis zu bieten, verwenden wir Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wenn du diesen Technologien zustimmst, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn du deine Zustimmung nicht erteilst oder zurückziehst, können bestimmte Merkmale und Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Anbieter verwalten Lese mehr über diese Zwecke
Einstellungen ansehen
{title} {title} {title}