Довольно частое явление, когда вы используете форум ipb, а движок сайта пишете сами. Естественно вы не хотите хранить инфу о юзерах в двух местах: для авторизации на сайте и форуме. Очевидно, лучше использовать внешнюю авторизацию для форума при авторизации на сайте.
К примеру, если вы хотите авторизоваться на форуме через свою форму на сайте. Примерно так это будет:
<form id="login" method="post" action="/forum/index.php?app=core&module=global§ion=login&do=process"><input type="hidden" value="/forum/index.php?/forum/2-forum/" name="referer"><div style="padding-bottom:20px;"><span style="color:#000;">FORUM</span></div><div style="padding-bottom:20px; vertical-align:middle;"><div style="float:left;">LOG</div><div ><input maxlength="39" type="text" name="username" id="username" class="tbx_login" /></div></div><div style="padding-bottom:20px;"><div style="float:left;">PAS</div><div ><input maxlength="39" type="password" name="password" id="password" class="tbx_login" /></div></div><div style=" margin-right:70px; margin-top:50px;"><div style=""><input type="submit" id="login_send" name="login_send" value="ENTER" /></div></div></form>
Ну, тут просто те же идентификаторы используются, что в оригинальной форме авторизации на форуме и идёт переадресация для выполнения на скрипт форума.
Бывает, что вы просто хотите проверить, верные ли данные ввёл юзер. Для этого можно использовать API форума:
//в $f - путь к форумуrequire_once($f.'/initdata.php');require_once( $f.'/admin/sources/base/ipsController.php');require_once( IPS_ROOT_PATH . '/sources/base/ipsRegistry.php' );$registry = ipsRegistry::instance();$registry->init();require_once($f. '/admin/sources/loginauth/login_core.php' );$login_core_ = new login_core(ipsRegistry::instance());$login_core_->authLocal($login, null,$password);После этого проверяем переменную
$login_core_->return_code
. Если SUCCESS, то пользователь данные для авторизации ввёл верно.