phpbar.de logo

Mailinglisten-Archive

[php] if-Problem

[php] if-Problem

Andreas Braukmann braukmann_(at)_tse-online.de
Sat, 18 Dec 1999 10:47:32 +0100


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