Ich werde aus SESSIONS nicht schlau !!!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ich werde aus SESSIONS nicht schlau !!!

    Hallo,

    ich versuche seit wochen vergeblich eine funktionierende SESSION in meinem Projekt einzubinden. Irgendwie will es nicht klappen. Next step: VERZWEIFLUNG ! Ich benutze PHP Version 4.3.4 und register_globals=off

    log.php:

    PHP-Code:
    <?php 
    function login_form () 

    ?> 
     <p>Anmeldung:</p> 
      <form action="log.php?login=1" method="post"> 
      Login: <input type="text" name="login"><br> 
      Passwort: <input type="password" name="passwd"><br> 
      <input type="submit" value="Anmelden"> 
      </form> 
      <?php 

    session_start(); 
    if (
    $_GET['login']) 

     
    $user "dpawlowski";  // Benutzername 
     
    $pass "12345"// Benutzerpasswort 
      
    if (($_POST['login'] == $user) && ($_POST['passwd'] == $pass)) 
      { 
        
    $session_time 15// Dauer der Session (in Minuten) 
        
    $_SESSION['user'] = $_POST['login']; 
        
    $_SESSION['expire'] = time() + 60 $session_time
        echo 
    'Autorisierung erfolgreich.<br> 
        <a href="log.php?logout=1">Abmelden</a><br> 
        Gesch&uuml;tzte Seiten: <a href="data1.php">Daten 1</a>, <a href="data2.php">Daten 2</a>.'

      } 
      else 
      { 
        echo 
    'Inkorrekte Angabe<br>'
        
    login_form(); 
      } 

    elseif (
    $_GET['logout']) 

      
    session_destroy(); 
      echo 
    'Sie wurden abgemeldet'

    else 

      
    login_form(); 

    ?>
    check_login.php:

    PHP-Code:
    <?php 
    session_start
    (); 
    if (!
    $_SESSION

      echo 
    'Um auf diese Seite zuzugreifen, müssen Sie sich <a href="log.php">anmelden</a>.'
      exit; 

    elseif  (
    $_SESSION['expire'] <= time()) 

      echo 
    'Ihre Session ist verfallen. Wiederholte <a href="log.php">Anmeldung</a> notwendig'
      exit; 


    ?>
    data1.php:

    PHP-Code:
    <?php require "check_login.php"?> 

    <body> 
    <p><a href="log.php?logout=1">Abmelden</a></p> 
    <p> 
    Geheime Daten. Geheime Daten. 
    Geheime Daten. Geheime Daten. 
    Geheime Daten. Geheime Daten. 
    Geheime Daten. Geheime Daten. 
    </p> 
    </body>
    sobald ich data1.php aufrufe startet zum einen ein neuer session und zum anderen kommt die Fehlermeldung dass ich mich anmelden muss um auf diese Seite zuzugreifen.

    Ausserdem erkennt der Skript $_GET['login'] und $_GET['logout'] nicht
    und gibt als Error : Unknown index zurück.

    Kennt jemand dieses Problem und kann mir freundlicherweise behilflich sein ?

  • #2
    Re: Ich werde aus SESSIONS nicht schlau !!!

    Original geschrieben von tahir
    Ausserdem erkennt der Skript $_GET['login'] und $_GET['logout'] nicht
    und gibt als Error : Unknown index zurück.

    Kennt jemand dieses Problem und kann mir freundlicherweise behilflich sein ?
    das hat doch nix mit sessions zu tun. du solltest nur mit isset() prüfen, ob der index auch vorhanden ist.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Re: Re: Ich werde aus SESSIONS nicht schlau !!!

      Original geschrieben von Abraxax
      das hat doch nix mit sessions zu tun. du solltest nur mit isset() prüfen, ob der index auch vorhanden ist.

      ist genauso zwecklos , die Fehlermeldung ist die gleiche...

      ???

      Kommentar


      • #4
        Re: Ich werde aus SESSIONS nicht schlau !!!

        Original geschrieben von tahir
        PHP-Code:
        if (!$_SESSION
        Ich glaube, dass dein Fehler da liegt. $_SESSION gibts nämlich immer als Array, auch wenn du gar nix reingepackt hast.
        Also: anders prüfen!
        hopka.net!

        Kommentar


        • #5
          Re: Re: Ich werde aus SESSIONS nicht schlau !!!

          Original geschrieben von Hopka
          Also: anders prüfen!
          ... nämlich so, wie ich es gepostet hatte .... aber wie war das noch gleich? wer lesen kann, ist klar im ...... ...
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            wie wärs denn wenn du eine spezielle var in der Session speicherst wenn ein user sich eingeloggt hat.

            PHP-Code:
            //Beispiel
                
            $session_time 15// Dauer der Session (in Minuten) 
                
            $_SESSION['user'] = $_POST['login']; 
               
            $_SESSION['log'] = 1;




            session_start(); 
            //kannste auch mit isset usw. prüfen
            if (empty($_SESSION['log'])) 

              echo 
            'Um auf diese Seite zuzugreifen, müssen Sie sich <a href="log.php">anmelden</a>.'
              exit; 

            elseif  (
            $_SESSION['expire'] <= time()) 

              echo 
            'Ihre Session ist verfallen. Wiederholte <a href="log.php">Anmeldung</a> notwendig'
              exit; 

            mfg
            marc75

            <Platz für anderes>

            Kommentar

            Lädt...
            X