Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14
  1. #1
    NoClose Wurm
    Registriert seit
    11.07.2008
    Beiträge
    173

    Standard SESSION - Frage

    Hallo,
    ich versuche mich gerade in SESSIONs und hab da ein kleines Problem.
    Beim Loginformular hab ich soweit keine Probleme...
    Zur Zeit hab ichs noch einfach, sprich
    PHP-Code:
    if($username=="test" AND $kennwort=="test"){
    $_SESSION['einloggen'] = TRUE
    Und so weiter. Das ging eigentlich alles.Bei richtigen Daten kommt dann ein echo und eine Weiterleitung zu einer anderen Seite.
    Dort habe ich ebenfalls mit Sessions gearbeiten. Heißt, wenn man im Login Formular richtige Daten eingegeben hat ($_SESSION['einloggen']=TRUE), springt man auf die andere Seite , wo sich die gleich SESSIONs Variable befindet.
    Hier kurz der Code der zweiten Seite:

    PHP-Code:
    <?php
    session_start
    ();
    if(
    $_SESSION['einloggen'] == TRUE){
    echo
    'EINGELOGGT';
    }
    else{
    echo
    'Kein Zugriff';
    }


    ?>
    Soweit auch alles gut.
    problem nur, wenn ich die zweite seite aufrufe, ohne eingeloggt zu sein bekomm ich einen Error, mit der aussage, dass "einloggen" nicht bekannt sei.
    PHP-Code:
    NoticeUndefined indexeinloggen in /var/www/access.php on line 3 
    Wie kann ich dies lösen?


    Danke!

    Sorry wegen den Komischen Satzkonstruktionen...
    Geändert von MolLy (08.06.2010 um 18:07 Uhr) Grund: Satzbau heute 1a :)

  2. #2
    Stanley Jobson Avatar von GregorSamsa
    Registriert seit
    23.08.2008
    Beiträge
    729

    Standard

    Das ist kein Error, das ist nur eine Notiz, dass die Variable nicht bekannt ist.

    Pack mal an den Anfang von dem PHP Script ein
    error_reporting(E_ALL ^ E_NOTICE);

    Alternativ die Error-Einstellungen in der php.ini ändern.

  3. #3
    NoClose Wurm
    Registriert seit
    06.07.2009
    Beiträge
    172

    Standard

    .
    Geändert von Hunter (25.04.2015 um 19:05 Uhr)

  4. #4
    CIH-Virus Avatar von Perishand
    Registriert seit
    11.08.2007
    Beiträge
    437

    Standard

    Du musst am beginn jeder Seite, die auf Sessions zugreifen soll, session_start() schreiben. Also wirklich in jeder Datei, die Sessions benutzt

  5. #5
    Gesperrt
    Registriert seit
    29.05.2009
    Beiträge
    58

    Standard

    Ich würde als erstes prüfen, ob die Session existiert und wenn ja, welchen Wert diese hat. Ein Beispiel für dich:

    PHP-Code:
    <?php
    session_start
    ();
     
    if(!isset(
    $_SESSION['einloggen']))
     {
     echo 
    'Sie sind nicht angemeldet!';
     exit();
     }
    ?>

  6. #6
    NoClose Wurm
    Registriert seit
    11.07.2008
    Beiträge
    173

    Standard

    Perfekt, vielen Dank!
    Ich dachte man kann bei Session - Variablen nicht mit isset() arbeiten!
    Danke!
    Habs jetzt so gelöst:

    PHP-Code:
    <?php
    session_start
    ();
    if(isset(
    $_SESSION['einloggen'])==TRUE)
     {
     echo 
    'Sie sind  angemeldet!';
     }
    elseif(isset(
    $_SESSION['einloggen'])==FALSE)
    {
    echo
    'Nicht angemeldet!';
    }


    ?>

  7. #7
    Gesperrt
    Registriert seit
    29.05.2009
    Beiträge
    58

    Standard

    In If-Anweisungen braucht man eigentlich nicht prüfen, ob diese eine wahre Aussage ist oder nicht. Beispiel:

    PHP-Code:
    <?php
    if($var)
        echo 
    'Wahre Aussage!';
     
    //Das Gleiche funktioniert natürlich auch so
     
    if($var == true)
        echo 
    'Gleiche Resultat!';
     
    ?>
    Man braucht also == true nicht beitippen, da dies auch ohne diese Anweisung geprüft wird.

  8. #8
    NoClose Wurm
    Registriert seit
    11.07.2008
    Beiträge
    173

    Standard

    Okay, klar aber ich habs auch irgendwie einheitlich gemacht
    Danke euch!

  9. #9
    monströs Avatar von Ken
    Registriert seit
    28.02.2010
    Beiträge
    138

    Standard

    Die Fehler ausblenden, wie GregorSamsa vorgeschlagen hat, ist meiner Meinung nach keine Lösung. Na gut, in dem Fall spricht eigentlich nichts dagegen, aber grundsätzlich finde ich das einfach falsch. Am geschicktesten und saubersten löst Du es meiner Meinung nach, wenn Du Dir eigens eine Funktion dafür schreibst:
    PHP-Code:
    function session_value($key)
    {
        if(
    array_key_exists($key$_SESSION))
        {
            return 
    $_SESSION[$key];
        }
        return 
    false;

    Ist aber Geschmackssache.

  10. #10
    Support-Hure Avatar von sn0w
    Registriert seit
    18.09.2007
    Beiträge
    1.919

    Standard

    @Ken: Deine Funktion dürfte jetzt immer false zurückgeben. Einfach noch nen else dazu und fertig.

    MfG

    Boardregeln | SuFu | Blackmarket | PM

    Fragezeichen und Ausrufezeichen sind keine Rudeltiere!


Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. [B]TCP-Session-Hijacking paper
    Von Cheese im Forum Biete Tutorials
    Antworten: 1
    Letzter Beitrag: 23.08.2009, 08:10
  2. [VB.net / VB08] Webanwendungen ViewState + Session
    Von fearkey3 im Forum .NET Sprachen - Techniken
    Antworten: 0
    Letzter Beitrag: 09.07.2009, 14:38
  3. FileZilla Session abspeichern
    Von hackerking im Forum Anwendungssoftware
    Antworten: 0
    Letzter Beitrag: 20.05.2009, 16:43
  4. S - session hijacking
    Von craw im Forum Trashbox
    Antworten: 0
    Letzter Beitrag: 06.10.2007, 09:14

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •