user76: Formulareingaben prüfen

Hallo,

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?

Danke

  1. Hi user76,

    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, es gibt eine Funktion, die Leerzeichen am Anfang und am Ende eines Strings entfernt - schau dir mal trim() an. So könnte das z.B. aussehen:

    if(trim($_POST['variable']) == "")

    Beachte aber, dass du damit noch nicht Eingaben wie "000", "aaaa" oder gar "blabla" vorgebeugt hast. Letzteres wird auch kaum gehen (auf einen sinnvollen Inhalt prüfen), ob ein String aber nur bestimmte Zeichen enthält, lässt sich z.B. mit preg_match() herrausfinden.

    MfG, Dennis.

    --
    Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
    Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher. (Albert Einstein)
  2. Hi,

    oder sonst eine wirkungsvolle Möglichkeit das zu vermeiden?

    trim() und empty() würd ich an deiner stelle verwenden.

    MfG

  3. 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.