phpBB

Development Wiki

Function.login box

From phpBB Development Wiki

Revision as of 21:46, 10 September 2008 by Highway of life (Talk | contribs)

login_box –– Generate login box or verify password

Description

  1. void login_box ( [ $redirect [, $l_explain [, $l_success [, $admin [, $s_display ]]]]] )

The login_box() function can have a redirect as the first parameter. As a rule of thumb, specify an empty string if you want to redirect to the users current location, else do not add the $SID to the redirect string (for example within the ucp/login we redirect to the board index because else the user would be redirected to the login screen).

Parameters

Parameter Usage
redirect (optional) URL location the script will redirect to once the user is successfully logged in. Defaults to the current page.
l_explain (optional) Language string to use for the Login Message. Defaults to
l_success (optional) Language string to use for the Login Successful Message.
admin (optional) Used for second-login for Administrators. The ACP utilises this parameter. Default to false.
s_display (optional) Display forgot password and resend activation links, autologin and hide session checkboxes. Defaults to true.

Return Values

This function returns NULL if the user is banned

Examples

Example #1 Show the login box if user is not logged in

if (!$user->data['user_type'] == ANONYMOUS)
{
    
login_box(''$user->lang['LOGIN']);
}

Example #2 Show the login box with redirect

Verify the user has searching permissions, if they do not, and the user is not logged in, we show a login box. If the user is logged in, we throw a "not allowed to access this page" error.

// Start auth check
if (!$auth->acl_get('u_search'))
{
    
// the user is logged in, therefore we give an error message
    
if ($user->data['user_id'] != ANONYMOUS)
    {
        
trigger_error('NOT_AUTHORISED');
    }

    
// the user is not logged in, we show a login box with a message
    
login_box($phpbb_root_path 'my_page.' $phpEx$user->lang['LOGIN_VIEWPAGE']);
}

Example #3 Re-Authentication Login for Administrators

Display a login box if the logged-in administrator has not authenticated a second time for the admin session.

if (!isset($user->data['session_admin']) || !$user->data['session_admin'])
{
    
login_box(''$user->lang['LOGIN_ADMIN_CONFIRM'], $user->lang['LOGIN_ADMIN_SUCCESS'], truefalse);
}

See Also