Hi!
ich prüfe die Pflichteingaben in einem Formular bisher ganz einfach per:
if ($pflichteingabe=="") --> Fehlermeldung
Jetzt hatte ich einen Fall, wo sich jemand vor einem Pflichtfeld gedrückt hat, indem er nur Leerzeichen eingegeben hat. Gibt es eine Funktion, die überprüft, ob eine Variable nur aus einem oder mehreren Leerzeichen besteht oder sonst eine wirkungsvolle Möglichkeit das zu vermeiden?
Ja, diese Möglichkeit gibt es, z.B. mit folgendem Konstrukt:
if(strlen(trim($_POST['name'])) == 0) {
// weitere Fehlerbehandlung
}
Mittels der Funktion trim() werden dem String vorhergehende und nachfolgende Leerzeichen [1] entfernt. Im Gegensatz zu empty() hat obiges Beispiel zudem noch den Vorteil, dass der String bzw. Integer 0 als Formularwert erlaubt wäre.
Grüße,
Fabian St.
[1] Definition von Leerzeichen in diesem Falle siehe trim() auf php.net.