Dies ist eine alte Version des Dokuments!
Normalerweise überprüft man, ob in einer Auswahl oder einer Skala ein bestimmter Wert gewählt wurde – wenn man prüfen möchte, ob ein Teilnehmer etwas bestimmtes in ein offenes Texteingabefeld geschrieben hat, dann läuft das im Prinzip genauso.
Der Unterschied besteht darin, dass man nicht mit Zahlen, sondern mit Texten vergleicht.
Meist möchte man einfach nur prüfen, ob irgend etwas in ein Texteingabefeld eingetragen wurde. Oder für Programmierer formuliert: Ob etwas anderes als der leere String (kein Text) eingetragen wurde. Den leeren String schriebt man einfach durch zwei einfache Anführungszeichen ('') oder durch zwei doppelte Anführungszeichen ("") mit nichts dazwischen.
if (value('AB01_01') != '') { question('BB01'); }
Tipp: Lesenswert in diesem Kontext kann auch das Kapitel Platzhalter sein.
Der obige PHP-Code funktioniert - aber er reagiert recht sensibel auf Leerzeichen: Wenn ein Teilnehmer nur Leerzeichen in ein Textfeld einträgt, dann würde man das eigentlich lieber als „keine Angabe“ werten. Dafür gibt es die Funktion trim()
, die Leerzeichen am Anfang und Ende einfach entfernt. Im Filter entfernt man also erst die Leerzeichen und vergleicht dann:
if (trim(value('AB01_01')) != '') { question('BB01'); }
Eine weitere praktische Funktion ist strlen()
– die verrät die Länge eines Strings. Wenn man also weiß, dass jede sinnvolle Angabe mindestens 4 Zeichen haben muss, dann kann man auch die String-Länge prüfen. Damit Leerzeichen keine falschen Entscheidungen zur Folge haben, wird auch hier wieder trim()
verwendet.
if (strlen(trim(value('AB01_01'))) > 3) { question('BB01'); }
Oder etwas lesbarer (wenn man bei so vielen Klammern den Überblick verliert):
$eingabe = value('AB01_01'); $ohneLeer = trim($eingabe); $laenge = strlen($ohneLeer); if ($laenge > 3) { question('BB01'); }