if problem
Thomas
- php
ich möchte gerne folgendes abfragen:
if($_SESSION['user']==0)
doch wenn überhaupt nichts in der Variable steht, bekomme ich folgenden Meldung
Notice: Undefined index: user
wie kann ich diese den verhindern?
Thomas
Unschöne Lösung wäre die Errors einfach abschalten.
Schöne Lösung wäre ein if(isset($_SESSION['user']) && $_SESSION['user'] == 0) zu prüfen ob der Index überhaupt existiert.
Das würde auch bei normalen variablen funktionieren.
Gruß
isset(T-Rex)
Moin,
Unschöne Lösung wäre die Errors einfach abschalten.
Das ist keine Lösung, sondern Ignorieren des Fehlers ;)
Grüße Marco
Unschöne Lösung wäre die Errors einfach abschalten.
Schöne Lösung wäre ein if(isset($_SESSION['user']) && $_SESSION['user'] == 0) zu prüfen ob der Index überhaupt existiert.
auf == 0 zu prüfen kann aber schlecht sein. Wenn tatsächlich auf die User-ID 0 (oder was auch immer das jetzt ist) geprüft werden soll, ist dringend ein === 0 anzuraten.
Ansonsten könnte auch bei "ist gesetzt aber leer" das == 0 auf true evaluieren.
Da hast du natürlich recht. Ich habe die Frage jedoch lediglich so verstand, dass ihn der Fehler stört. Alle anderen Sachen obligen seinem Logischem Verständnis. Vielleicht ist eine Abfrage mit == ja erwünscht...
Gruß
störender?
T-Rex
Hi!
ich möchte gerne folgendes abfragen:
if($_SESSION['user']==0)
Wofür steht die 0? Ist das ein Wert, der vorkommen kann und genauso wie beispielsweise 1, 23 oder 42 einen User repräsentieren kann? Oder willst du wissen, ob es kein User ist, weil nur positive Zahlen ungleich 0 Usern zugeordnet sein können? Wenn die letzte Vermutung zutrifft, dann frag mit empty().
doch wenn überhaupt nichts in der Variable steht, bekomme ich folgenden Meldung
Notice: Undefined index: user
wie kann ich diese den verhindern?
empty() und isset() sind die beiden einzigen Funktionen[*], die keine Notice-Meldungen werfen, wenn sie nicht vorhandene Variablen oder wie in deinem Fall Array-Felder übergeben bekommen. Damit eigenen sie sich für diese Art Tests.
[*] Genaugenommen sind es keine Funktionen sondern Sprachkonstrukte. Deswegen kann PHP anders als bei den anderen Funktionen mit den ihnen übergebenen Parametern umgehen.
Lo!
ich möchte gerne folgendes abfragen:
if($_SESSION['user']==0)
doch wenn überhaupt nichts in der Variable steht, bekomme ich folgenden Meldung
Notice: Undefined index: user
wie kann ich diese den verhindern?
Thomas
am besten vorher mit isset() auf Existenz prüfen.
gruß zum selber bauen