![]() Technikerschule Nördlingen |
Programmierung dynamischer Internetseiten
|
![]() |
Variable auf Inhalt oder Existenz überprüfen Bei der Auswertung von Formularen ist es oft nötig die Eingaben auf Ihre Richtigkeit beziehungsweise darauf zu prüfen, ob sie überhaupt vorhanden sind. Dazu bedient man sich in der Regel einer if-Konstruktion. Beispiel: Ein Formularfeld mit dem HTML-Code. In diesem Fall wird ein Array-Element auf seine Existenz und Inhalt überprüft. Die Überprüfung gewöhnlicher Variablen funktioniert genauso.
erzeugt im mit "post" aufgerufenen PHP-Script ein Array-Element $_POST["vorname"]. Zur Überprüfung von Existenz und Inhalt von Variablen gibt es mehrere Möglichkeiten: A.
Die Variante gibt nur TRUE, also wahr zurück, wenn die Variable bzw das Array-Element existieren und einen Inhalt haben. Die Zahl 0 wird dabei nicht als Inhalt erkannt. B.
Die Variante B ist die Umkehrung von A. Sie gibt gibt TRUE zurück, wenn die Variable oder das Array-Element nicht vorhanden sind oder wenn sie keinen Inhalt haben oder den Wert 0 haben. C:
Die Variante C erkennt Eingaben, die "ungleich leer" sind. Auch hier ist die 0 ein Sonderfall. Wird sie als Zahl definiert, also $zahl=0; , dann ist sie im Sinne dieser Abfrage "leer". Wird 0 dagegen mit Hilfe von Anführungszeichen als String definiert, also $zahl="0"; , dann hat die Varible dagegen einen Wert und ist "ungleich leer". Im unserem Beispiel wird das Formular feld als "nicht leer" erkannt und die Zahl 0 angezeigt. D:
D ist die Umkehrung von Variante C. Geprüft wird dabei nicht nur auf den Inhalt, sondern es wird auch dann TRUE, also wahr, zurückgegeben, wenn es die Variable $vorname überhaupt nicht gibt. E: Für Untersuchungen, ob Variablen vorhanden sind oder einen Wert haben, können auch die Funktionen isset() und empty() eingesetzt werden.
Die Funktion isset() prüft lediglich das Vorhandensein einer Variable, sie gibt deshalb auch TRUE, also wahr zurück, wenn der Inhalt leer oder 0 ist. Ein mit "post" gesendetes Formularfeld würde also erkannt werden, egal ob es ausgefüllt oder leer ist. Damit eignet sich isset() aber nicht zur Eingabekontrolle. Wenn ein Feld vom User ausgefüllt werden soll, kann die Funktion empty() benutzt werden.
Wieder ist die Zahl 0 ein Sonderfall. Wird aus einem Formularfeld nur ein 0 gesendet, gilt es bei empty()als leer Sowohl isset() als auch empty() können in ihrer verneinten Form
verwendet werden, also "wenn nicht vorhanden" beziehungsweise "wenn nicht leer". |
|||||||||||||||||||||||
|