Mailinglisten-Archive |
Hallo, On Sat, Dec 18, 1999 at 09:32:45AM +0100, Gleb Silenok wrote: > die isset() funktioniert bei den Formulareingaben nicht, denn bleibt ein > Formular leer, hmmm. Ich hatte mit 'isset()' bisher eigentlich noch keine Probleme; isset() funktioniert selbstverstaendlich auch auf Variablen, die durch die HTTP-Post-Verarbeitung von PHP entstehen. Allerdings muss isset() auf 'Formular-Variablen' definitionsgemaess 'true' liefern. Aus dem PHP3-Manual: int isset(mixed var); Returns true if var exists; false otherwise. Die 'Formular-Variablen' werden - unabhaengig von den Benutzereingaben im Formular - definiert (also 'gesetzt'). Eine Ausnahme bilden (aergerlicherweise :( ) nur 'Checkboxes', fuer die eine Post-Operation immer nur dann eine Variable "auf die Reise schickt", wenn der Benutzer die Checkbox wirklich angeklickt / markiert hat. > wird da automatisch ein Leerzeichen gesetzt. Wenn das der Fall waere, wuerde Deine Bedingung allerdings auch nicht 'funktionieren', denn Du testest ja auch nicht auf evtl. 'gesetzte Leerzeichen'. Du testest auf 'Ungleichheit mit einer leeren Zeichenkette'. Wie waere es also mit der Anwendung von 'empty()'? Aus dem PHP3-Manual: int empty(mixed var); Returns false if var exists and has a non-empty or non-zero value; true otherwise. > Am besten frag einfach die Variablen der Eingabefelder ab: > if {($feld1 != "") & ($feld2 != "")...[...]) | | -->einfacher | Typo, oder? | |----> ist das auch nur ein Tippfehler, oder meinst Du tatsaechlich den bit-arithmetischen AND-Operator? > > Wie kann ich also checken, ob ein Formulareingabefeld leer ist? > > Die komplette Abfrage: > > > > if ((isset($pass1) && isset($pass2)) && (($pass1) == ($pass2)) && > > (($pass1!='') && ($pass2!=''))) [ ... diverse unnoetige Zitate geloescht ... ] Gruss, Andreas -- Andreas Braukmann - TSE GmbH - Neue Medien - http://www.tse-online.de
php::bar PHP Wiki - Listenarchive