|
|
 |
Variablen ausserhalb von PHPHTML-Formulare (GET and POST)
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.
Beispiel 8-1. Einfache Formular-Variablen <form action="foo.php" method="post">
Name: <input type="text" name="username"><br>
<input type="submit">
</form> |
|
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.
Beispiel 8-2. Komplexere Formular-Variablen <form action="array.php" method="post">
Name: <input type="text" name="personal[name]"><br>
Email: <input type="text" name="personal[email]"><br>
Bier: <br>
<select multiple name="bier[]">
<option value="binding">Binding
<option value="warsteiner">Warsteiner
<option value="stauder">Stauder
<option value="stuttgarter">Stuttgarter Schwabenbräu
</select>
<input type="submit">
</form> |
|
In PHP 3 ist die Verwendung von Arrays in Formularvariablen auf
eindimensionale Arrays beschränkt. In PHP 4 besteht diese Einschränkung
nicht mehr.
IMAGE SUBMIT Variablen-Bezeichner
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.
HTTP-Cookies
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:
Beispiel 8-3. SetCookie-Beispiel $Count++;
setcookie("Count", $Count, time()+3600);
setcookie("Cart[$Count]", $item, time()+3600); |
|
Umgebungs- / Environment-Variablen
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.
Punkte in eingelesenen Variablen-Bezeichnern
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 */ |
Der PHP-Parser sieht eine Variable namens $varname,
gefolgt von einem Zeichenketten-Verbindungs-Operator, dieser wiederrum
gefolgt von der offenen Zeichenkette 'ext' (also nicht eingegrenzt
durch '"' und auch keinem Schlüssel oder reserviertem Bezeichner
entsprechend). Das kann natürlich nicht zum gewünschten Ergebnis
führen.
Deshalb ist es wichtig zu wissen, dass PHP in den ihm übergebenen
Variablen alle Punkte (.) automatisch durch einen
Unterstrich (_) ersetzt.
Bestimmung des Variablen-Typs
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().
User Contributed Notes Variablen ausserhalb von PHP |
 |
| There are no user contributed notes for this page. |
| |