Перейти к содержанию

IPB 4 Авторизация в дизайн


Slimais

Рекомендуемые сообщения

Я не знаю куда заливать это, если админ может, то пусть залет в правильное место. Это скрипт для авторизации.

<?php
require_once 'forum/init.php'; //Указиваем путь к init.php файлу
$member = \IPS\Session\Front::i()->member;
$loggedIn = $member->member_group_id != \IPS\Settings::i()->guest_group;
if( $loggedIn ){
  if( isset($_GET['logout']) ){
    \IPS\Request::i()->setCookie( 'member_id', NULL );
		\IPS\Request::i()->setCookie( 'pass_hash', NULL );
		\IPS\Request::i()->setCookie( 'anon_login', NULL );

		$_SESSION	= array();
		$params = session_get_cookie_params();

		setcookie( session_name(), '', time() - 42000, $params["path"], $params["domain"], $params["secure"], $params["httponly"] );
		session_destroy();
		foreach ( \IPS\Login::handlers( TRUE ) as $k => $handler )
		{
			try
			{
				$handler->logoutAccount( $member, \IPS\Login::getDestination() );
			}
			catch( \BadMethodCallException $e ) {}
		}
		$member->memberSync( 'onLogout', [ \IPS\Login::getDestination() ] );
    header('Location: /');
    die;
  }
  ?>
  <?php
  echo '<div class="username">'.$member->get_name().'</div>';
  ?>
  <div class="logout"><a href="?logout">Log out</a></div>
  <?php
}
else{
if( !empty($_POST['auth']) && !empty($_POST['password']) ){
  $handler = \IPS\Login\LoginAbstract::load('internal');
  try {
    $member = $handler->authenticate($_POST);
    \IPS\Session::i()->setMember($member);
    if( $_POST['remember_me'] ){
      $expire = new \IPS\DateTime;
      $expire->add( new \DateInterval( 'P3M' ) );
      \IPS\Request::i()->setCookie( 'member_id', $member->member_id, $expire );
      \IPS\Request::i()->setCookie( 'pass_hash', $member->member_login_key, $expire );

  		$member->memberSync( 'onLogin', [ \IPS\Login::getDestination() ] );
    }
    header('Location: /');
    die;
  }catch(\IPS\Login\Exception $e){
    echo $e->getMessage();
  }
}
?>

<form method="post">
  <input name="auth"><br />
  <input name="password" type="password"><br />
  <input type="checkbox" name="remember_me">
  <button type="submit">Log in</button>
</form>
<?php
}
?>

 

Ссылка на комментарий
Поделиться на другие сайты

8 минут назад, WOLF сказал:

и что получим в результате?

http://image.prntscr.com/image/2d9874ef94bf4136ac06a4d64d513e7a.png Авторизация

http://image.prntscr.com/image/34b48f13a973449ba05fb3848e53c898.png Когда уже зашел. И можно авторизацию делать или через ник или через почту

Ссылка на комментарий
Поделиться на другие сайты

топовая форма) ну да ладно, кому надо - доработает, молодцы)

Ссылка на комментарий
Поделиться на другие сайты

Вас интересует дизайн форми или сам скрипт?

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, Slimais сказал:

Вас интересует дизайн форми или сам скрипт?

меня?) меня не интересует ничего) просто любопытство 

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...