Visualizzazione risultati 1 fino 2 di 2

Discussione: Login con uno script in phpbb

  1. #1
    L'avatar di makpaolo
    makpaolo non č connesso Utente storico
    Data registrazione
    08-05-2003
    Residenza
    Brescia ( prov.)
    Messaggi
    9,399

    Predefinito

    Ciao a tutti, ecco il mio problemino, io mi sono fatto uno script di registrazione e login in php/mysql, nella registrazione passo i dati anche a phpbb con una query, e vā bene, nome utente, pass ed email, il problema č come fare quando una persona si logga dallo script a loggarsi in phpbb, ho provato varie cose ma senza risultato, se qualcuno l'ha fatto oppure ha qualche idea forse per il 2009 finisco il sito... grazie in anticipo.
    Se smetti di imparare e evolverti sei morto dentro

  2. #2
    L'avatar di makpaolo
    makpaolo non č connesso Utente storico
    Data registrazione
    08-05-2003
    Residenza
    Brescia ( prov.)
    Messaggi
    9,399

    Predefinito

    Ok trovato
    //----login auto nel forum
    define("IN_LOGIN", true);
    define('IN_PHPBB', true);
    $phpbb_root_path = './forum/';
    include($phpbb_root_path . 'extension.inc');
    include($phpbb_root_path . 'common.'.$phpEx);
    $userdata = session_pagestart($user_ip, PAGE_LOGIN);
    init_userprefs($userdata);
    if( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) || isset($HTTP_POST_VARS['logout']) || isset($HTTP_GET_VARS['logout']) )
    {
    if( ( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) ) && !$userdata['session_logged_in'] )
    {
    $username = isset($HTTP_POST_VARS['username']) ? $HTTP_POST_VARS['username'] : '';
    $password = isset($HTTP_POST_VARS['pass']) ? $HTTP_POST_VARS['pass'] : '';

    $sql = "SELECT user_id, username, user_password, user_active, user_level
    FROM " . USERS_TABLE . "
    WHERE username = '" . str_replace("\'", "''", $username) . "'";
    if ( !($result = $db->sql_query($sql)) )
    {
    message_die(GENERAL_ERROR, 'Error in obtaining userdata', '', __LINE__, __FILE__, $sql);
    }

    if( $row = $db->sql_fetchrow($result) )
    {
    if( $row['user_level'] != ADMIN && $board_config['board_disable'] )
    {
    //redirect(append_sid("../corpo.php", true));
    }
    else
    {
    if( md5($password) == $row['user_password'] && $row['user_active'] )
    {
    $autologin = ( isset($HTTP_POST_VARS['autologin']) ) ? TRUE : 0;

    $session_id = session_begin($row['user_id'], $user_ip, PAGE_INDEX, FALSE, $autologin);

    if( $session_id )
    {
    $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? $HTTP_POST_VARS['redirect'] : "../index.php";
    //redirect(append_sid("../corpo.php", true));
    }
    else
    {
    message_die(CRITICAL_ERROR, "Couldn't start session : login", "", __LINE__, __FILE__);
    }
    }
    else
    {
    $redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? $HTTP_POST_VARS['redirect'] : '';
    $redirect = str_replace("?", "&", $redirect);

    $template->assign_vars(array(
    'META' => '<meta http-equiv="refresh" content="3;url=' . "login.$phpEx?redirect=$redirect&sid=" . $userdata['session_id'] . '">')
    );

    $message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], '<a href="' . "login.$phpEx?redirect=$redirect&sid=" . $userdata['session_id'] . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');

    message_die(GENERAL_MESSAGE, $message);
    }
    }
    }
    else
    {
    $redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? $HTTP_POST_VARS['redirect'] : "";
    $redirect = str_replace("?", "&", $redirect);

    $template->assign_vars(array(
    'META' => '<meta http-equiv="refresh" content="3;url=' . "login.$phpEx?redirect=$redirect&sid=" . $userdata['session_id'] . '">')
    );

    $message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], '<a href="' . "login.$phpEx?redirect=$redirect&sid=" . $userdata['session_id'] . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');

    message_die(GENERAL_MESSAGE, $message);
    }
    }
    else if( ( isset($HTTP_GET_VARS['logout']) || isset($HTTP_POST_VARS['logout']) ) && $userdata['session_logged_in'] )
    {
    if ($sid == '' || $sid != $userdata['session_id'])
    {
    message_die(GENERAL_ERROR, 'Invalid_session');
    }

    if( $userdata['session_logged_in'] )
    {
    session_end($userdata['session_id'], $userdata['user_id']);
    }

    if (!empty($HTTP_POST_VARS['redirect']) || !empty($HTTP_GET_VARS['redirect']))
    {
    $url = (!empty($HTTP_POST_VARS['redirect'])) ? $HTTP_POST_VARS['redirect'] : $HTTP_GET_VARS['redirect'];
    //redirect(append_sid($url, true));
    }
    else
    {
    //redirect(append_sid("index.$phpEx", true));
    }
    }
    else
    {
    $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? $HTTP_POST_VARS['redirect'] : "../index.php";
    //redirect(append_sid($url, true));
    }
    }
    else
    {
    if( !$userdata['session_logged_in'] )
    {
    $page_title = $lang['Login'];
    if( isset($HTTP_POST_VARS['redirect']) || isset($HTTP_GET_VARS['redirect']) )
    {
    $forward_to = $HTTP_SERVER_VARS['QUERY_STRING'];
    if( preg_match("/^redirect=([a-z0-9\.#\/\?&=\+\-_]+)/si", $forward_to, $forward_matches) )
    {
    $forward_to = ( !empty($forward_matches[3]) ) ? $forward_matches[3] : $forward_matches[1];
    $forward_match = explode('&', $forward_to);
    if(count($forward_match) > 1)
    {
    $forward_page = '';
    for($i = 1; $i < count($forward_match); $i++)
    {
    if( !ereg("sid=", $forward_match[$i]) )
    {
    if( $forward_page != '' )
    {
    $forward_page .= '&';
    }
    $forward_page .= $forward_match[$i];
    }
    }
    $forward_page = $forward_match[0] . '?' . $forward_page;
    }
    else
    {
    $forward_page = $forward_match[0];
    }
    }
    }
    else
    {
    $forward_page = '';
    }
    $username = ( $userdata['user_id'] != ANONYMOUS ) ? $userdata['username'] : '';
    $s_hidden_fields = '<input type="hidden" name="sid" value="' . $userdata['session_id'] . '" /><input type="hidden" name="redirect" value="' . $forward_page . '" />';
    make_jumpbox('viewforum.'.$phpEx, $forum_id);
    $template->assign_vars(array(
    'USERNAME' => $username,
    'L_ENTER_PASSWORD' => $lang['Enter_password'],
    'L_SEND_PASSWORD' => $lang['Forgotten_password'],
    'U_SEND_PASSWORD' => append_sid("profile.$phpEx?mode=sendpassword"),
    'S_HIDDEN_FIELDS' => $s_hidden_fields)
    );
    }
    else
    {
    //redirect(append_sid("../corpo.$phpEx", true));
    }
    }
    inserisco nella parte di login del mio script questo, cambiando naturalmente il $phpbb_root_path = './forum/';
    se serve a qualcuno č qui! ciao
    Se smetti di imparare e evolverti sei morto dentro

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •