Logout unter PHP5 geht, unter PHP4 nicht

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

  • Logout unter PHP5 geht, unter PHP4 nicht

    Hi.

    Hab grad ein Problem mit einem Logout. In PHP5 funktioniert es, in PHP4 nicht. Warum kann ich mir selbst nicht erklären.

    Hier mal der Code des Logout:

    PHP-Code:

    if (logged_in())
        {
            
    $tpl_dir "community/";
            
    logout();
        
                if(!
    logged_in())
                {
                    
    $redirect=redirect("index.php?site=start");
                    
    $tpl_main "logout_success";
                }
        
        } 
    Hier der code der Funktion logout();

    PHP-Code:

    function logout()
            {
                global 
    $db$db_pre;
                
    $sql $db->query("UPDATE ".$db_pre."_user SET user_session=NULL WHERE user_session='".session_id()."'");
                    
                
            } 
    Und hier der Code der Funktion logged_in():

    PHP-Code:

    function logged_in() 
            { 
                global 
    $db$db_pre;
                
    $res mysql_fetch_object($db->query("SELECT id FROM ".$db_pre."_user WHERE user_session='".session_id()."' LIMIT 1"));
                
                    if(!empty(
    $res))
                        {
                            return 
    TRUE;
                        }
                    else
                        {
                            return 
    FALSE;
                        }
            } 
    logged_in() ist TRUE wenn ich logout aufrufe. Ganz sicher. Die Session wird auch auf 0 gesetzt in der DB aber e gibt mein Template nicht aus ($tpl_main = "logout_success". Lösche ich die Funktion logout() raus gibt er mir das template aus. Sobal ich die Funktion logout() verwende spielt er verrückt.


    Ich seh hier nichts was PHP5 spezifisch ist.


    Hat einer einen Rat?

    Danke für Hilfe.

  • #2
    Ich würde da kein mysql_fetch_object() benutzen, ist da imho unsinnig.

    Ansonsten was kommt den bei logged_in() in dem if-zweig immer raus? mach da mal testausgaben...


    und btw: NULL (sprich: NALL) ist NICHT gleich 0!
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar

    Lädt...
    X