Session wird nicht beendet

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

  • Session wird nicht beendet

    Hi,
    habe ein kleines Problem mit meiner Session,

    sie wird beim login nicht mehr beendet.

    PHP-Code:
    <?php

      session_start
    ();
      include(
    "connect2db.inc.php");
      include(
    "usermanagment.inc.php");
     
      
      
    $userinfo CheckUserSession(session_id());
        
        
    ?>

      <a href="main.php?action=logout">Logout<br><?php echo $userinfo[EMail]." ".$userinfo[Name]; ?></a><br>
    und hier
    PHP-Code:


      
    switch($action) {
        case 
    "login"  CheckUserLogin ($un$pwsession_id());
                        break;

        case 
    "logout" UserLogout (session_id());
                        break;
                        
        default:        echo 
    '
                <br>
                <form name="login" method="post" action="login.php">
                  <input type="hidden" name="action" value="login">
                  Enter your username and password to log in
                  <br>
                  Username:&nbsp;</td><td><input class="flat" type="text" name="un"><br>
                  Password:&nbsp;</td><td><input class="flat" type="password" name="pw"></br>
                  <input type="submit" value="Login">
                </form>
        '
    ;
      } 
    und hier noch die Function

    PHP-Code:

      
    function UserLogout ($session) {
        
    $result mysql_query("UPDATE AdminUser SET UserSession = NULL WHERE UserSession = '".$session."'") or mysql_error();
        
    header ("Location: main.php");
      } 
    ich habe keine Ahnung warum er die UserSession nicht beendet!

    Danke Marcus
    Zuletzt geändert von Toast; 31.03.2003, 22:57.

  • #2
    vielleicht ja, weil du kein session_destroy in der UserLogout hast?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Aber ich habe doch SET UserSession = NULL
      ????

      Kommentar


      • #4
        das bewirkt bloß, dass der eintrag aus der tabelle gelöscht wird.

        immer wenn du irgendwo ein session_start hast brauchst du auch ein session_destroy
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          ok dann werde ich das noch einbauen. Jetzt fällt mir aber gerade ein weiters problem auf, er date die Datenbank nicht mit "NULL" up. Habt ihr einen Fehler gesehen?

          Marcus

          Kommentar


          • #6
            $result = mysql_query("UPDATE AdminUser SET UserSession = NULL WHERE UserSession = '".$session."'") or mysql_error();

            darf die spalte UserSesion überhaupt null sein? (Tabellenstruktur?)
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Ja das Feld darf NULL sein. Stimmt irgendwas an dem Funktionsaufruf nicht? wenn ich den sql-befehl in phpmyadmin eingebe geht es von daher schätze ich, dass es mit dem aufruf der funktion zu tun hat!

              Marcus

              Kommentar


              • #8
                Keiner mehr eine IDee wie gesagt in phpmyadmin geht es aber im Script nicht! Jemand ne Idee bitte ist wichtig

                Danke Marcus

                Kommentar


                • #9
                  PHP-Code:
                  function UserLogout ($session) {
                      
                  $result mysql_query("UPDATE AdminUser SET UserSession = 'NULL' WHERE UserSession = '".$session."'") or mysql_error();
                      
                  header ("Location: main.php");
                    } 

                  Kommentar


                  • #10
                    Hi,

                    habe es gestern auch schon 'NULL' versucht aber auch das ging nicht.

                    Das Script ist von diesem Forum hier!

                    Marcus

                    Kommentar


                    • #11
                      PHP-Code:
                      $sql="UPDATE AdminUser SET UserSession = NULL WHERE UserSession = '".$session."'";
                      mysql_query($sql);
                      echo 
                      'Anweisung: '.$sql.'<br />';
                      echo 
                      'Fehler: '.mysql_error().'<br />';
                      echo 
                      'Änderungen: '.mysql_affected_rows(); 
                      Zuletzt geändert von mrhappiness; 01.04.2003, 11:53.
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        @Toast
                        da du ja das script von mir 'schönes Usermanagment' verwendet hast, wurdet mich, dass es bei dir nicht funktioniert.

                        derzeitige voraussetzung ist allerdings

                        register_globals = on

                        dann sollte es 1:1 passen und funktionieren.

                        und die session muss nicht einem destroy unterzogen werden. wenn die aktuelle session-id nicht in der DB ist, hat der user keinen zugriff. so einfach ist das.
                        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

                        Lädt...
                        X