//-----------------------------------------
// Zmień ścieżkę do forum
//-----------------------------------------
$forum_path = './';
/**
* Zmieniamy katalog
*/
chdir( $forum_path );
/**
* Pobieramy podstawowe pliki
*/
define( 'IPB_THIS_SCRIPT', 'public' );
require_once( $forum_path . 'initdata.php' );
/**
* Rejestr IP.Board
*/
require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' );
$ipbRegistry = ipsRegistry::instance();
$ipbRegistry->init();
/**
* Handler logowania
*/
require_once( IPS_ROOT_PATH . 'sources/handlers/han_login.php' );
$login = new han_login( $ipbRegistry );
$login->init();
//-----------------------------------------
// Możesz przekazać albo $username albo $email_address i hasło.
//
// Upewnij się, że przekazujesz pusty parametr
// (username lub email_address) w zależności
// od tego, którego parametru nie będziesz używać.
//-----------------------------------------
if( $login->loginAuthenticate( $username, $email_address, $password ) )
{
print "Zalogowano";
exit;
}
else
{
print "Błąd logowania: " . $login->return_code;
exit;
}
Jeśli dodatkowo chciałbyś, aby IP.Board utworzyło odpowiednie cookie i zapisało dane zamień ostatnią instrukcję if .. else na:
if( $login->loginAuthenticate( $username, $email_address, $password ) )
{
print "Zalogowano";
IPSCookie::set( "member_id" , $login->member_data['member_id'] , 1 );
IPSCookie::set( "pass_hash" , $login->member_data['member_login_key'], 1, 10 );
exit;
}
else
{
print "Błąd logowania: " . $login->return_code;
exit;
}
Dzięki wykorzystaniu handlera forum, możliwa jest obsługa blokowania konta i innych.
UWAGA: Jeśli forum ma inne kodowanie znaków niż strona, należy pamiętać, że mogą występować problemy ze znakami specjalnymi
Źródło: Invision Guru
Zabrania się kopiowania i rozpowszechniania artykułu w szczególności na innych forach bez zgody autora
Ten post został wypromowany na artykuł




















