Lektion 10: PHP GET- und POST-Parameter

VonDr.-Ing. Erik Neitzel
Lektion 10: PHP GET- und POST-Parameter

Diese Lektion erläutert Schritt-für-Schritt wie PHP-Parameter mittels GET und POST in dynamischen Webseiten verwendet werden. Innerhalb WordPress siehst Du solche Parameter bereits beim Editieren von Beiträgen. Schau in die URL deines Browsers, wenn der Beitragseditor geöffnet ist. Sie sagt “?post=1008&action=edit&lang=de”. Die Variablen “post”, “action” und “lang” sind Variablen, die von WordPress gefüllt und wieder ausgelesen werden, abhängig davon, was Du im Backend angeklickt hast. Lass uns hierüber genauer sprechen.

Warum Skript-Parameter?

Grundsätzlich könntest Du nur ein einziges PHP-Skript (eine Datei) nutzen, um dein gesamtes Webseiten-Projekt abzubilden. Doch der Quellcode wird dann sehr lang, schwer zu warten, Fehler sind schwerer zu verfolgen und alles wird unübersichtlich. Daher möchtest Du bestimmte Funktionalitäten in andere Skript-Dateien auslagern. Doch jedes PHP-Skript arbeitet streng für sich selbst. Das bedeutet, Du musst Daten von einem Skript zu einem anderen transferieren. Hierfür musst Du sie parameterisieren.

Basierend auf sowohl dem Zweck, mit dem Daten transferiert werden sollen als auch der Quelle, von der Daten übertragen werden, gibt es verschiedene Methoden, um Parameter in PHP zu übertragen. Zwei wichtige Methoden werden wir hier besprechen: GET und POST.

PHP-Skript-Parameter via GET

GET-Parameter kommen über die URL, also die Link-Adresse, die Du im Browser erkennen kannst.

So sieht ein Link innerhalb HTML aus, der auf ein PHP-Skript script.php zeigt, während ein GET-Parameter übertragen wird:

1
<a href="script.php?var_a=abc123">Anchor text</a>

Der Name des Parameters ist in diesem Fall “var_a”. Doch das ist vollkommen irrelevant, Du kannst deine Parameter frei benennen, solange Du sie unterscheiden kannst.

Wenn ein Nutzer diesen Link anklickt, wird er zum Ziel “script.php” weiter geleitet. Innerhalb script.php können Parameter wie folgt ausgelesen werden:

1
2
3
<?php
     $your_variable_name = $_GET["var_a"];
?>

Innerhalb dieses Beispiels lesen wir den Parameter “var_a” aus und speichern seinen Wert in einer Variable $your_variable_name. Wir wollen empfehlen, Variablen und Parameter identisch zu benennen, aber das nicht notwendig. Innerhalb des Beispiels oben trägt die Variable $your_variable_name den Wert “abc123”, denn das ist das, was in der URL angegeben wurde.

PHP-Skript-Parameter via POST

POST-Parameter wiederum sind weit verbreitet in HTML-Formularen, wie in der Lektion zu HTML-Grundlagen beschrieben.

Das folgende Formular sendet einen Parameter namens “var_b” an ein Skript script.php, sobald es abgesendet wird.

1
2
3
4
<form action="script.php" method="POST"><input type="text" name="var_b" /><input type="submit" /></form>

Das PHP-Skript script.php hat nun folgendes zu tun, um den Wert von Parameter var_b auszulesen:

1
2
3
<?php
     $your_variable_name = $_POST["var_b"];
?>

Auch hier kannst Du die Variable, die den Wert des Parameters trägt wieder identisch benennen. Im Beispiel-Code oben trägt die Variable $your_variable_name den Wert, den der Nutzer in das Input-Feld eingetragen hat.

Dies ist alles was Du benötigst, um Daten zwischen zwei Skript-Dateien mittels GET oder POST zu übertragen. Du siehst hier schon, dass das was ein CMS wie WordPress leistet zwar sehr komplex  sein kann, doch die darunter liegende Struktur ist nicht sehr kompliziert. Sonst würde das Gesamtsystem unter seinem eigenen Gewicht einbrechen.

Die nächsten Lektionen:

Dr.-Ing. Erik Neitzel