phpBB2 Login

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

  • mnhg
    antwortet
    mlogin.php
    PHP-Code:
             <?php
    /***************************************************************************
     *                                login.php
     *                            -------------------
     *   begin                : Saturday, Feb 13, 2001
     *   copyright            : (C) 2001 The phpBB Group
     *   email                : [email]support@phpbb.com[/email]
     *
     *   $Id: login.php,v 1.47.2.1 2002/05/13 13:18:17 psotfx Exp $
     *
     *
     ***************************************************************************/

    /***************************************************************************
     *
     *   This program is free software; you can redistribute it and/or modify
     *   it under the terms of the GNU General Public License as published by
     *   the Free Software Foundation; either version 2 of the License, or
     *   (at your option) any later version.
     *
     ***************************************************************************/

    //
    // Allow people to reach login page if
    // board is shut down
    //
    define("IN_LOGIN"true);

    define('IN_PHPBB'true);
    $phpbb_root_path '../php/phpBB2/';
    include(
    $phpbb_root_path 'extension.inc');
    include(
    $phpbb_root_path 'common.'.$phpEx);

    //
    // Set page ID for session management
    //
    $userdata session_pagestart($user_ipPAGE_LOGIN);
    init_userprefs($userdata);
    //
    // End session management
    //

    $header_location = ( @preg_match('/Microsoft|WebSTAR|Xitami/'getenv('SERVER_SOFTWARE')) ) ? 'Refresh: 0; URL=' 'Location: ';

    if( isset(
    $HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) || isset($HTTP_POST_VARS['logout']) || isset($HTTP_GET_VARS['logout']) )
    {
        
    //
        // This appears to work for IIS5 CGI under Win2K. Uses getenv
        // since this doesn't exist for ISAPI mode and therefore the
        // normal Location redirector is used in preference
        //
        
    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['password']) ? $HTTP_POST_VARS['password'] : '';

            
    $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'] )
                {
                    
    header($header_location append_sid("mindex.$phpEx"true));
                    exit;
                }
                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_ipPAGE_INDEXFALSE$autologin);

                        if( 
    $session_id )
                        {
                            if( !empty(
    $HTTP_POST_VARS['redirect']) )
                            {
                                
    header($header_location append_sid($HTTP_POST_VARS['redirect'], true));
                                exit;
                            }
                            else
                            {
                                
    header($header_location append_sid("mindex.$phpEx"true));
                                exit;
                            }
                        }
                        else
                        {
                            
    message_die(CRITICAL_ERROR"Couldn't start session : login"""__LINE____FILE__);
                        }
                    }
                    else
                    {
                        
    $redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? $HTTP_POST_VARS['redirect'] : '';

                        
    $template->assign_vars(array(
                            
    'META' => '<meta http-equiv="refresh" content="3;url=' append_sid("mlogin.$phpEx?redirect=$redirect") . '">')
                        );

                        
    $message $lang['Error_login'] . '<br /><br />' sprintf($lang['Click_return_login'], '<a href="' append_sid("mlogin.$phpEx?redirect=$redirect") . '">''</a>') . '<br /><br />' .  sprintf($lang['Click_return_index'], '<a href="' append_sid("mindex.$phpEx") . '">''</a>');

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

                
    $template->assign_vars(array(
                    
    'META' => '<meta http-equiv="refresh" content="3;url=' append_sid("mlogin.$phpEx?redirect=$redirect") . '">')
                );

                
    $message $lang['Error_login'] . '<br /><br />' sprintf($lang['Click_return_login'], '<a href="' append_sid("mlogin.$phpEx?redirect=$redirect") . '">''</a>') . '<br /><br />' .  sprintf($lang['Click_return_index'], '<a href="' append_sid("mindex.$phpEx") . '">''</a>');

                
    message_die(GENERAL_MESSAGE$message);
            }
        }
        else if( ( isset(
    $HTTP_GET_VARS['logout']) || isset($HTTP_POST_VARS['logout']) ) && $userdata['session_logged_in'] )
        {
            if( 
    $userdata['session_logged_in'] )
            {
                
    session_end($userdata['session_id'], $userdata['user_id']);
            }

            if( !empty(
    $HTTP_POST_VARS['redirect']) )
            {
                
    header($header_location append_sid($HTTP_POST_VARS['redirect'], true));
                exit;
            }
            else
            {
                
    header($header_location append_sid("mindex.$phpEx"true));
                exit;
            }
        }
        else
        {
            if( !empty(
    $HTTP_POST_VARS['redirect']) )
            {
                
    header($header_location append_sid($HTTP_POST_VARS['redirect'], true));
                exit;
            }
            else
            {
                
    header($header_location append_sid("mindex.$phpEx"true));
                exit;
            }
        }
    }
    else
    {
        
    //
        // Do a full login page dohickey if
        // user not already logged in
        //
        
    if( !$userdata['session_logged_in'] )
        {
            
    $page_title $lang['Login'];

    //----

    if ( $userdata['session_logged_in'] )

    {

        
    $u_login_logout 'login.'.$phpEx.'?logout=true';

        
    $l_login_logout $lang['Logout'] . ' [ ' $userdata['username'] . ' ]';

    }

    else

    {

        
    $u_login_logout 'login.'.$phpEx;

        
    $l_login_logout $lang['Login'];

    }

    $template->assign_vars(array(

        
    'L_USERNAME' => $lang['Username'],

        
    'L_PASSWORD' => $lang['Password'],

        
    'L_LOGIN_LOGOUT' => $l_login_logout,

        
    'L_LOGIN' => $lang['Login'],

        
    'L_LOG_ME_IN' => $lang['Log_me_in'],

        
    'L_AUTO_LOGIN' => $lang['Log_me_in'],

        
    'L_INDEX' => sprintf($lang['Forum_Index'], $board_config['sitename']),

        
    'L_REGISTER' => $lang['Register'],

        
    'L_PROFILE' => $lang['Profile'],

        
    'L_SEARCH' => $lang['Search'],

        
    'L_PRIVATEMSGS' => $lang['Private_Messages'],

        
    'L_WHO_IS_ONLINE' => $lang['Who_is_Online'],

        
    'L_MEMBERLIST' => $lang['Memberlist'],

        
    'L_FAQ' => $lang['FAQ'],

        
    'L_USERGROUPS' => $lang['Usergroups'],

        
    'L_SEARCH_NEW' => $lang['Search_new'],

        
    'L_SEARCH_UNANSWERED' => $lang['Search_unanswered'],

        
    'L_SEARCH_SELF' => $lang['Search_your_posts'],

        
    'L_WHOSONLINE_ADMIN' => sprintf($lang['Admin_online_color'], '<span style="color:#' $theme['fontcolor3'] . '">''</span>'),

        
    'L_WHOSONLINE_MOD' => sprintf($lang['Mod_online_color'], '<span style="color:#' $theme['fontcolor2'] . '">''</span>'),
     
         
    'S_CONTENT_DIRECTION' => $lang['DIRECTION'],

        
    'S_CONTENT_ENCODING' => $lang['ENCODING'],

        
    'S_CONTENT_DIR_LEFT' => $lang['LEFT'],

        
    'S_CONTENT_DIR_RIGHT' => $lang['RIGHT'],

        
    'S_TIMEZONE' => sprintf($lang['All_times'], $lang[number_format($board_config['board_timezone'])]),

        
    'S_LOGIN_ACTION' => append_sid('login.'.$phpEx),
    )
    );

        
    //    include($phpbb_root_path . 'includes/page_header.'.$phpEx);
    //-----
            
    $template->set_filenames(array(
                
    'body' => 'mlogin_body.tpl')
            );

            if( isset(
    $HTTP_POST_VARS['redirect']) || isset($HTTP_GET_VARS['redirect']) )
            {
                
    $forward_to $HTTP_SERVER_VARS['QUERY_STRING'];

                if( 
    preg_match("/^redirect=(.*)$/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="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)
            );

            
    $template->pparse('body');

    //        include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
        
    }
        else
        {
            
    header($header_location append_sid("mindex.$phpEx"true));

            exit;
        }

    }

    ?>

    mlogin_body.tpl ist fast wie login_body.tpl

    und mit

    test.php ruf ich das auf

    PHP-Code:
    require "../php/phpBB2/mlogin.php"

    Einen Kommentar schreiben:


  • digital matrix
    antwortet
    hallo,

    kannst du mal deine login.php zeigen?

    Einen Kommentar schreiben:


  • mnhg
    antwortet
    Neues Problem:

    Wenn icj mein Login direkt aus dem Forum root ausführe funktioniert es perfect.

    Include ich es aber in mein startseite, läuft das script zwar auch(ohne Fehlermeldung komme zum HP-Member bereich), aber das login vom Forum funktioniert dann nicht


    Hab ihr ne Idee wie ich das Problem löse?
    Gibt es in php funtion die ein php-script in einen besimmten verzeichnis ausführt.(ich hab keine Rück oder ausgaben/nur cookies session und datenbank)


    MfG
    mnhg

    Einen Kommentar schreiben:


  • mnhg
    antwortet
    Danke

    Die Theorie war mir klar

    Ich hab bloß gehoft das ihr schon was fertig irgendwo habt


    Hab übrigens geschaft, hab die Login.php kopiert und soweit reduziert das nur noch die 2 textfelder und der button übrigbleib

    MfG
    mnhg

    Einen Kommentar schreiben:


  • Wotan
    antwortet
    Schau dir einfach die Login-Daten von phpBB an und baue sie nach. Ich glaube die benutzen Session und Cookies um die Login-Daten weiterzureichen. Diese musst du nur auf dein Login-Script anwenden und schon kannst du die Datenbank von phpBB nutzen. So brauch sich der user nur in deinem Login anmelden und kann auch gleich ins Forum ohne sich anzumelden.

    Einen Kommentar schreiben:


  • mnhg
    antwortet
    Ich wollte erst mal sehen ob ihr was wisst bevor ich mir unnütze Arbeit machen

    Einen Kommentar schreiben:


  • mrhappiness
    antwortet
    ha ich jetzt grad eben geshreddert, aber du künnst dich im source von phpBB durchwühlen und schauen wo da wie wann was eingetragen wird

    Einen Kommentar schreiben:


  • mnhg
    hat ein Thema erstellt phpBB2 Login.

    phpBB2 Login

    Ich möchte das Forum und mein Memberbereich über das selbe Login(Also die Forum Datenbank) verküpfen.

    Wie kann ich mich im phpBB Forum einloggen ohne das es das Forum öffnet.

    Hab ihr irgend wo so'n script rumliegen.

    MfG
    mnhg
Lädt...
X