Weil ich gerade per eMail gefragt wurde, wie man Variablen aus einem Formular in PHP nutzen kann, hier ein kleiner Beitrag dazu.
Generell muss das Formular so aufgebaut sein, dass es die eingegebenen Fomulardaten an ein PHP-Skript übergibt. Dort werden stehen diese dann als Array zur Verfügung.
Das ganze sieht dann ungefähr so aus:
<form action=”php-datei.php” method=”get”></form>
mit GET oder als POST-Formular:
<form action=”php-Datei.php” method=”post”></form>
In der Ziel-PHP-Datei “php-datei-php” kann man dann auf mit folgenden Variablen auf die Inhalte des Fomulars zugreifen:
- $_GET["Variablenname"] – Gibt die Variablen zurück, die per GET übergeben wurden.
- $_POST["Variablenname"] – Gibt die Variablen zurück, die per POST übergeben wurden.
- $_REQUEST["Variablenname"] – Gibt die Variablen zurück, die per GET und POST übergeben wurden.
- print_r($_GET); oder print_r($_POST); – geben den kompletten Array mit allen Formularen aus.
Der Variablenname muss natürlich dem Elementnamen, des Formulars entsprechen.
Für die meisten Webmaster ist das natürlich nichts neues, aber vielleicht verhilft es ein paar anderen zu einem Einstieg in PHP. Wenn ich mich nämlich recht entsinne, war das, vor langer Zeit, ebenfalls mein Einstieg in PHP. Damals wollte ich ein kleines Kontaktformular programmieren, welches die Formularfelder: eMail, Betreff und Text an meine eMailadresse schickt.
Fehlt nur noch den Unterschied zwischen POST und GET zu erklären. Auch wenn’s leichtestes Englisch ist sollte man den Unterschied gleich von Anfang an wissen.
@Thomas: Ups, habe deinen Kommentar ganz und gar übersehen.
Stimmt schon, das wäre sicherlich eine sinnvolle Ergänzung gewesen.
Ich habe es mir immer so gemerkt:
Bei GET stehen die Variablen in der URL und bei POST nicht ;)
POST sieht damit besser aus (optischer Grund) und hat keine Probleme bei alten Browser, die keine Adressen mit mehr als 1024 Zeichen vertragen und einfach einen Teil der Variablen abschneiden.
Wie genau die technische Funktionsweise des Apache bei den beiden Methoden aussieht, entzieht sich meinem Wissen ;)