faecher:informatik:oberstufe:php:eingabe:start

Dies ist eine alte Version des Dokuments!


Eingabe mit Formularen

In HTML-Seiten kann man umfangreiche Formulare einbetten, um Benutzereingaben zu erfassen. Ein detailliertes Tutorial, das viele Aspekte abdeckt, findest du bei SelfHtml.

Daten mit ''GET'' und ''POST'' empfangen

Um die mit einem Formular versandten Daten mit PHP auszuwerten, muss man verstehen, dass PHP bereits eine Infrastruktur zum Empfang solcher Daten bereitstellt. Da Browser gegenwärtig Formulardaten nur mit den HTTP-Methoden GET und POST versenden, finden sich in PHP so empfangene Daten in den superglobalen Variablen $_GET und $_POST. In diesen superglobalen Variablen sind die Schlüssel-Wert-Paare in Form eines assoziativen Arrays abgelegt.

Information In JavaScript ist ein Array eine Feldvariable, deren Werte mit Nummern versehen sind. Die Schlüssel sind in JavaScript also Ganzzahlen. In PHP können die Schlüssel alphanumerisch, also (fast!) beliebige Strings, sein. Arrays in PHP, bei denen die Schlüssel nicht nur aus Ganzzahlen bestehen, werden assoziative Arrays genannt.

Wenn im action-Attribut bereits ein URL-Parameter notiert steht, das Formular aber mittels der POST-Methode versandt werden soll, so finden sich auf PHP-Seite sowohl in $_GET – obwohl die Anfrage nicht mit der GET-Methode übermittelt wurde, als auch in $_POST Schlüssel mit Daten. Es ist allerdings nicht besonders ratsam, die beiden Möglichkeiten, Parameter zu übergeben, auf diese Art zu vermischen.

Das name Attribut in einem HTML Formular erzeugt bei der Übergabe an ein PHP-Programm automatisch eine spezielle Variable. Auf diese Weise kann man Daten an PHP Programme übergeben:

Das folgende Formular ruft beim Klick auf Sumbit das PHP Skript skript.php auf.

 <form action="skript.php" method="post">
     <input type="text" name="vorname" />
     <input type="submit" value="senden" />
  </form>

Für das Texteingabefeld "vorname" wird bei der Übergabe die Variable $_POST['vorname'] erzeugt.

<?php
echo $_POST['vorname'];
 
?>

(A1)

Eine einfache Vorlage mit 2 Dateien findest du hier. Installiere die Dateien auf deinem Webspace und teste die Eingabe über das Formular.

  • faecher/informatik/oberstufe/php/eingabe/start.1619442904.txt.gz
  • Zuletzt geändert: 26.04.2021 15:15
  • von sbel