Sobald ein Formular an ein PHP-Skript übergeben wird, wird jede Variable dieses Formulars dem Skript automatisch verfügbar gemacht. Dafür sorgt PHP. Ein Beispiel:
Bei der Formular-Übergabe (hier per POST) erzeugt PHP die Variable $name, die genau das enthält, was sie in das Name:-Feld des Formulars eingegeben haben.
Im Zusammenhang mit Formular-Variablen versteht PHP auch Arrays, aber nur eindimensionale. Deshalb müssen sie die betreffenden Variablen vorher gruppieren oder das folgende Beispiel auf Mehrfach-Auswahl-Bereiche anwenden:
Ist das PHP-"track_vars"-Feature eingeschaltet (entweder durch track_vars-Konfigurations- Einstellung oder per <?php_track_vars?> -Anweisung), können die durch die POST- oder GET-Methode übertragenen Variablen in den globalen assoziativen Arrays $HTTP_POST_VARS und $HTTP_GET_VARS wieder gefunden werden.
Zur Übertragung eines Formulars kann auch ein Bild (Image) statt eines Übertragungs-Schalters (Submit-Button) benutzt werden, dessen Tag wie folgt aussieht:
Klickt der Benutzer irgendwo auf das Bild, wird das entsprechende Formular an den Web-Server übertragen. Hierbei sind zwei zusätzliche Variablen vorhanden, sub_x und sub_y. Diese enthalten die Koordinaten des Klick-Punktes innerhalb des Bildes. Die Erfahreneren werden sagen, dass dabei kein Unterstrich vorhanden ist (da ein Punkt enthalten ist, also z.B. "sub.x"). Dieser wird aber automatisch von PHP erzeugt.
PHP unterstützt HTTP-Cookies, wie sie in Netscape's Spec definiert sind. Cookies ermöglichen die Daten-Speicherung innerhalb der jeweiligen Browser-Umgebung zur Weiterleitung oder wiederholten Identifikation von Benutzern. Sie können Cookies erzeugen, indem sie die SetCookie()- Funktion benutzen. Cookies sind Teil des HTTP-Headers, deshalb muss die SetCookie-Funktion aufgerufen werden, bevor irgendeine Ausgabe an den Browser gesendet wird. Dabei handelt es sich um die gleiche Einschränkung, die auch für die header()-Funktion gilt. Alle an sie gesendeten Cookies werden in PHP-Variablen umgesetzt, genau wie die Daten bei den GET- und POST-Methoden.
Wenn sie einem einzelnen Cookie verschiedene Wert zuweisen wollen müssen sie dem Cookie-Namen [] hinzufügen. Z.B.:
Bedenken sie, dass ein Cookie ein vorhergehendes Cookie gleichen namens überschreibt, es sei denn, der Pfad oder die Domain ist anders. Für eine Warenkorb-Anwendung müssen sie deshalb z.B. einen Zähler bilden und diesen weiter leiten:
PHP sorgt automatisch für die Verfügbarkeit der Umgebungs- Variablen als normale PHP-Variablen.
Da Informationen per GET, POST und Cookie-Mechanismen übergeben werden, ist es manchmal das Beste, Umgebungs-Variablen explizit auszulesen. Dadurch wird die richtige Version eingelesen. Hierfür kann die getenv()-Funktion genutzt werden. Den Wert einer Umgebungs-Variablen können sie per putenv()- Funktion setzen.
Normalerweise verändert PHP nicht die Variablen-Bezeichner, wenn sie einem Skript übergeben werden. Es sollte aber beachtet werden, dass der Punkt (".") kein gültiger Bestandteil eines Variablen-Bezeichners ist. Deshalb achten sie auf folgendes:
$varname.ext; /* ungültiger Variablen-Bezeichner */ |
Deshalb ist es wichtig zu wissen, dass PHP in den ihm übergebenen Variablen alle Punkte (.) automatisch durch einen Unterstrich (_) ersetzt.
Da PHP den Typ einer Variablen bestimmt und grundsätzlich selbst eine entsprechende Umformung vornimmt, ist es nicht immer klar, welchen Typ eine Variable gerade hat. PHP beinhaltet einige Funktionen, die dies herausfinden. Als da sind: gettype(), is_long(), is_double(), is_string(), is_array() und is_object().