Undefined index

Schon festgestellt? Dem Forum sind gerade alle Interaktionsmöglichkeiten genommen. :(

Mehr dazu unter: Abstimmung über das Forum

  • Guten Tag


    Ich wollte eine Loginsperre wie folgt lösen:
    Zuoberst auf der home-Seite steht folgender Code:


    Code
    1. if ($_SESSION['loginsperre'] == 'ja') {
    2. exit;
    3. }

    Der Code hat aber leider keine Auswirkung, weil die Seite genau gleich wie vorher erscheint, aber mit folgender Fehlermeldung:
    Notice: Undefined index: loginsperre in /home/httpd/vhosts/ms.ch/m-schmid.ch/dv/home.php on line 5

    Der Code funktioniert aber, wenn ich ihn auf die Rollen der Benutzer anwende, also wenn ich 'loginsperrre' durch 'role' ersetze, 'ja' durch die Rollennamen ersetze, wird wenn die if-Abfrage zutrifft, der Benutzer abgewiesen.
    Komisch finde ich, ich habe 'loginsperre' und 'role' in der Datenbank genau gleich definiert. Wieso wirkt mal der Code, aber das andere Mal soll der index undefiniert sein?

  • "Notice: Undefined index: loginsperre" bedeutet, dass es den Index loginsperre in der Variable $_SESSION nicht gibt, also nirgendwo ein

    Code
    1. $_SESSION['loginsperre'] = "irgendwas";

    vorkommt.

  • "Notice: Undefined index: loginsperre" bedeutet, dass es den Index loginsperre in der Variable $_SESSION nicht gibt, also nirgendwo ein

    Code
    1. $_SESSION['loginsperre'] = "irgendwas";

    vorkommt.

    Danke für den Hinweis, komisch ist nur dass es mit if ($_SESSION['role'] == 'Admin') {...... funktioniert hat, obwohl ich keine Variablendefinition vorgenommen hatte, sondern 'role' ist eine Tabellenspalte in der DB und 'Admin' ist dort ein Eintrag - also scheinbar gleiche Situation wie 'loginsperre' und 'ja'.

  • Was in der Datenbank steht, hat doch mit der Session nichts zu tun.


    Und wenn if ($_SESSION['role'] == 'Admin') nicht angemeckert wird, kann es dafür mehrere Gründen geben, die wir hier aber nicht klären können, da wir deinen kompletten Quellcode nicht kennen.