PHP Handbuch | ||
---|---|---|
Zurück | Kapitel 8. Variablen | Nach vorne |
Sobald ein Formular an ein PHP-Skript übergeben wird, wird jede Variable dieses Formulars dem Skript automatisch verfügbar gemacht. Dafür sorgt PHP. Falls die Konfigurationsoption track_vars auf "on" gesetzt ist, werden diese Variablen in diesen assoziativen Arrays abgelegt $HTTP_POST_VARS, $HTTP_GET_VARS und/oderr $HTTP_POST_FILES, entsprechend der Quelle, aus der die fragliche Variable kommt.
Für weitere Informationen über diese Variablen lesen Sie bitte den Abschnitt über Vordefinierte Variablen.
Wird dieses Formular abgeschickt, steht der Wert des Textfeldes in der Variable $HTTP_POST_VARS['username'] zur Verfügung. Wenn in der Konfigurationsdatei die Option register_globals auf "on" gesetzt ist, steht die Variable auch als $username global zur Verfügung.
Anmerkung: Die Konfigurationseinstellung zu magic_quotes_gpc betrifft Get, Post and Cookie Werte. Ist diese Einstellung aktiv wird der Wert (It's "PHP!") automatisch zu (It\'s \"PHP!\"). Escaping ist notwendig, wenn Sie ihre Daten in eine Datenbank einfügen wollen. Siehe auch: addslashes(), stripslashes() und magic_quotes_sybase.
Im Zusammenhang mit Formular-Variablen versteht PHP auch Arrays (siehe auch die verwandte Faq). Sie können z.B. die betreffenden Variablen gruppieren oder dieses Leistungsmerkmal nutzen, um Werte aus Mehrfach-Auswahl-Bereichen zu erhalten.
In PHP 3 ist die Verwendung von Arrays in Formularvariablen auf eindimensionale Arrays beschränkt. In PHP 4 besteht diese Einschränkung nicht mehr.
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 die Variablen, die vom Browser gesendet werden einen Punkt enthalten statt eines Unterstrichs. Dieser Punkt wird von PHP automatisch in einen Unterstrich verwandelt.
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 Funktion setcookie() 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 Cookies, die der Client an sie sendet werden in PHP-Variablen umgesetzt, genau wie die Daten bei den GET- und POST-Methoden.
Wenn sie einem einzelnen Cookie mehrere 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 können Sie deshalb z.B. einen Zähler bilden und diesen weiterleiten:
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 die Variablen-Bezeichner nicht, 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 der Variablen bestimmt und (im Allgemeinen) 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().
Zurück | Zum Anfang | Nach vorne |
Variable Variablen | Nach oben | Konstanten |