Auto inlog

Installatie lukt niet? Plotseling een foutmelding. Of weet je niet hoe iets werkt. Problemen met phpBB2 kun je in dit archief opzoeken.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
site.to.make
Berichten: 17
Lid geworden op: 19 jul 2004, 16:51

Auto inlog

Bericht door site.to.make » 07 mar 2005, 15:08

Ik hen een klein probleempje.

Ik heb het sessie inlog systeem uit phpbb gesloopt.

Ik wil dus dat als mensen op een pagina komen, en die functie wordt uitgevoerd dat ze worden ingelogt op het forum.

Het lijkt of die functie totaal niet werkt. Heeft iemand een oplossing hiervoor? Miss is er een bestaand script dat wel werkt.

Regelmatig kom je als je via de pagina gekomen bent niet meer op het forum. de sessie db moet dan eerst leeggemaakt worden

mijn code:

Code: Selecteer alles

function encode_ip($dotquad_ip)
{
        $ip_sep = explode('.', $dotquad_ip);
        return sprintf('%02x%02x%02x%02x', $ip_sep[0], $ip_sep[1], $ip_sep[2], $ip_sep[3]);
}

function session_begin($user_id, $user_ip)
{
         // bestaande sessie wissen en opnieuw neerzetten. werkte btw ook niet
         //mysql_query("DELETE FROM `forum_sessions` WHERE `session_ip` = '".$user_ip."' LIMIT 1;");        

	global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;

        $cookiename = 'RPG_';
        $cookiepath = $board_config['cookie_path'];
        $cookiedomain = $board_config['cookie_domain'];
        $cookiesecure = $board_config['cookie_secure'];

        if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data']) )
        {
                $session_id = isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : '';
                $sessiondata = isset($HTTP_COOKIE_VARS[$cookiename . '_data']) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : array();
                $sessionmethod = SESSION_METHOD_COOKIE;
        }
        else
        {
                $sessiondata = array();
                $session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';
                $sessionmethod = SESSION_METHOD_GET;
        }

        //
        if (!preg_match('/^[A-Za-z0-9]*$/', $session_id))
        {
                $session_id = '';
        }

        $last_visit = 0;
        $current_time = time();
        $expiry_time = $current_time - $_SESSION['sec_online'];

        //
        // Try and pull the last time stored in a cookie, if it exists
        //
        $sql = "SELECT *
                FROM forum_users
                WHERE user_id = $user_id";
        if ( !$result = mysql_query($sql) )
        {
                mysql_fout($sql, mysql_error());
        }

        $userdata = mysql_fetch_array($result);

        if ( $user_id != ANONYMOUS )
        {
                $auto_login_key = $userdata['user_password'];

                if ( $auto_create )
                {

                }
                else
                {
                        $login = 1;
                }
        }
        else
        {
                $login = 0;
                $enable_autologin = 0;
        }

                //
        // Create or update the session
        //
        $sql = "INSERT INTO forum_sessions
                        (session_id, session_user_id, session_start, session_time, session_ip, session_logged_in)
                        VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $login)";
        if ( !mysql_query($sql) )
        {
                $session_id = md5(uniqid($user_ip));

                $sql = "UPDATE forum_sessions
                SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_logged_in = $login
                WHERE session_id = '" . $session_id . "'
                        AND session_ip = '$user_ip'";
                if ( !mysql_query($sql) )
                {
                        mysql_fout($sql, mysql_error());
                }
        }

        if ( $user_id != ANONYMOUS )
        {// ( $userdata['user_session_time'] > $expiry_time && $auto_create ) ? $userdata['user_lastvisit'] : (
                $last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time;

                $sql = "UPDATE forum_users
                        SET user_session_time = $current_time, user_lastvisit = $last_visit
                        WHERE user_id = $user_id";
                if ( !mysql_query($sql) )
                {
                        mysql_fout($sql, mysql_error());
                }

                $userdata['user_lastvisit'] = $last_visit;

                $sessiondata['autologinid'] = ( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '';
                $sessiondata['userid'] = $user_id;
        }

        setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000);
        setcookie($cookiename . '_sid', $session_id, 0);

        $SID = 'sid=' . $session_id;



}

aanroepen doe ik btw goed...

Duvelske
Berichten: 656
Lid geworden op: 19 okt 2003, 16:05
Locatie: st willebrord
Contacteer:

Bericht door Duvelske » 07 mar 2005, 18:23

Snap het probleem niet echt :oops:
Bezoek ook ns mn site:
http://www.partyfreakers.nl of mn premodded site: http://www.vitrax.org

Laturzzz,
Duvelske

site.to.make
Berichten: 17
Lid geworden op: 19 jul 2004, 16:51

Bericht door site.to.make » 08 mar 2005, 09:35

als die functie uitgevoerd word moet hij automatisch inloggen. nu is het zo dat je helemaal niet meer kan inloggen als je de functie heb uitgevoerd

Gesloten