[PHP] Prüfen ob Session gesetzt wurde - Noticemeldung

Renegade

Well-known member
ID: 159167
L
3 August 2006
851
77
Hi,

Ich möchte überprüfen ob eine Session gesetzt wurde, dass ist bis jetzt so gelöst:

PHP:
if(!isset($_SESSION['SNAME']) && !$_SESSION['SNAME'])

Unter
error_reporting(E_ALL);
bekomme ich dann eine Noticemeldung (ist ja auch klar ...)
Notice: Undefined index: SNAME in ...

Ich denke es liegt an den "!".

Ich weiß grad nicht die Lösung, kann mir da einer Helfen? Mit der Fehlerunterdrückung @ möchte ich nicht arbeiten.
 
Aus der Sicht deines Programms sieht das wie folgt aus:
Session['SNAME'] nicht gesetzt: erster Teil des Statements ergibt true (=> index nicht gesetzt), also wird der zweite Teil auch überprüft, welcher aber die notice schmeisst (da der index nicht gesetzt ist).

Ich denke du willst folgendes
PHP:
if(!isset($_SESSION['SNAME') || !$_SESSION['SNAME']) { // ..

Gruß
 
Jenachdem ob $_SESSION['SNAME'] gesetzt ist mit false, oder vorher mittels unset() entfernt wurde. Von daher musst du das wissen ;)

Hi,

Stimmt - da hast du natürlich recht. In meinen Fall trifft eventuell beides ein, sodass ich nicht sicher bin ob unset oder nicht.

Ok, damit ist das Thema hier erledigt. Danke für die tolle Hilfe :)