Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
rad1k

Как вывисти авторизацию на другие страницы сайта

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

Ну я изменил вверху /initdata.php а борд_урл по разному пробую

Поделиться сообщением


Ссылка на сообщение

Не надо ничего менять, скопируйте еще раз код из сообщения и укажите путь до initdata.php.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Ух ты, заработало, спасибо большое ! :rolleyes: :) :)

Поделиться сообщением


Ссылка на сообщение

Есть только нюанс, я положил это все допустим в index.php, родной index.php назвал index_2.php залогинился, и если я обращаюсь еще раз к этому скрипту он выдает

Warning: Cannot modify header information - headers already sent by (output started at C:\web\OpenServer\domains\localhost\1.php:14) in C:\web\OpenServer\domains\localhost\1.php on line 31

нужно чтобы он как то определял что если человек уже залогинился, то редиректил на index_2.php

Поделиться сообщением


Ссылка на сообщение

и если я обращаюсь еще раз к этому скрипту он выдает

Редирект должен выполнятся до вывода контента в браузере. Уберите весь вывод перед php кодом, а также указать конкретный файл раз форум находится в одной папке и у него не индексный файл (хотя это не совсем удачная идея).

 

header('Location: '.$settings['board_url'].'/');

или использовать

 

header('Location: '.$settings['base_url'].'act=idx');

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
08/17/16 18:52 (изменено)

Спасибо, со вторым вариантом все заработало))

Если еще подскажите куда копать чтобы скин к этой форме прикрутить :)

Допустим в сети такие базовые формы (файл с формой index.html+style.css обычно)

в index.php такая форма

<div id="login-form">

<h1>АВТОРИЗАЦИЯ</h1>

<fieldset>

<form action="javascript:void(0);" method="get">

<input type="email" required value="Логин" onBlur="if(this.value=='')this.value='Логин'" onFocus="if(this.value=='Логин')this.value='' ">

<input type="password" required value="Пароль" onBlur="if(this.value=='')this.value='Пароль'" onFocus="if(this.value=='Пароль')this.value='' ">

<input type="submit" value="ВОЙТИ">

</form>

</fieldset>

</div>

form action тупо заменить на

<?=$settings['board_url']?>/index2.php?app=core&module=global&section=login&do=process

? как логин с паролем видоизменить чтобы так же получилось, я запутался уже)

 

Зы - сори я случайно два аккуанта зарегил, дома и на работе((

Изменено пользователем ntest

Поделиться сообщением


Ссылка на сообщение

Прикрутил дизайн, все хорошо, но один момент остался неприятный, сейчас если ввести НЕ правильный пароль, редиректит на страницу родной авторизации, а нужно чтобы страница оставалась на месте.. Как это реализовать?

Поделиться сообщением


Ссылка на сообщение

сейчас если ввести НЕ правильный пароль, редиректит на страницу родной авторизации, а нужно чтобы страница оставалась на месте.. Как это реализовать?

Использовать внешнюю авторизации с первой страницы.

Поделиться сообщением


Ссылка на сообщение

Эхх, через htaccess нельзя это сделать редиректом просто?(

 

Я это отредактировал и положил

А с этим что теперь, заменяю пути на ссылку к апи

Или я сам не справлюсь тут?

<?php
define( 'IPB_THIS_SCRIPT', 'public' );
define( 'IPS_PUBLIC_SCRIPT', '/admin/api/member/api_member_login.php');
define( 'IPS_ENFORCE_ACCESS', true);
require_once( './initdata.php' );

require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' );

$registry = ipsRegistry::instance();
$registry->init();

$settings   =& $registry->fetchSettings();
$memberData =& $registry->member()->fetchMemberData();

if($memberData['member_id']):
   header('Location: '.$settings['base_url'].'act=idx');
   exit;
else:
?>
<html>
<div id="login-form">
     <h1>авторизация</h1>
<fieldset>
    <form method="post" action="<?=$settings['board_url']?>/admin/api/member/api_member_login.php" >
    <input type="hidden" name="auth_key" value="<?=$registry->member()->form_hash?>"/>
    <input type="text" name="ips_username" id="ips_username" required value="Логин" onBlur="if(this.value=='')this.value='Логин'" onFocus="if(this.value=='Логин')this.value='' "> 
    <input type="password" name="ips_password" id="ips_password" required value="Пароль" onBlur="if(this.value=='')this.value='Пароль'" onFocus="if(this.value=='Пароль')this.value='' "> 
    <input type="submit" value="ВОЙТИ">
</form>
</fieldset>
</div>
<?php
endif;
?>

Поделиться сообщением


Ссылка на сообщение

Эхх, через htaccess нельзя это сделать редиректом просто?(

Можно. Только речь не о редиректе а о авторизации.

 

 

Или я сам не справлюсь тут?

На первой странице есть примеры.

 

<?php
define( 'FORUM_PATH', './');
define( 'IPS_PUBLIC_SCRIPT', 'index.php');
require_once( FORUM_PATH . 'admin/api/member/api_member_login.php' );

$apiMember = new apiMemberLogin();
$apiMember->init();
$memberData = $apiMember->getMember();
$settings   =& ipsRegistry::fetchSettings();

if(!$memberData['member_id'] AND $_POST['ips_username'] AND $_POST['ips_password'])
{
$return = $apiMember->login($_POST['ips_username'], $_POST['ips_password']);

if($return[0])
{
	header('Location: '.$settings['base_url'].'act=idx');
	exit;
}
}

if($memberData['member_id']):
   header('Location: '.$settings['base_url'].'act=idx');
   exit;
else:
?>
<html>
<body>
<div id="login-form">
     <h1>авторизация</h1>
    <form method="post" action="">
    <input type="text" name="ips_username" id="ips_username" required value="Логин" onBlur="if(this.value=='')this.value='Логин'" onFocus="if(this.value=='Логин')this.value='' "> 
    <input type="password" name="ips_password" id="ips_password" required value="Пароль" onBlur="if(this.value=='')this.value='Пароль'" onFocus="if(this.value=='Пароль')this.value=''"> 
    <input type="submit" value="ВОЙТИ">
</form>
</div>
</body>
</html>
<?php
endif;
?>

 

FORUM_PATH - путь к папке форума

IPS_PUBLIC_SCRIPT - имя индексного файла ипб.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Супер, все работает как нужно теперь, огромное спасибо :rolleyes:

Поделиться сообщением


Ссылка на сообщение

Начал заполнять, вот что вылезло, переименовывать все таки как я сделал index.php нельзя, вылезли глюки странные, когда вернул - все норм.

Т.е. можно сделать чтобы на сайте в корне лежал только index.php наш, а форум в папке, но тогда будет урл у форума смотреться как сайт.ру/forum, а не просто сайт.ру как сейчас.Или как то можно победить это htaccess'ом например?

Поделиться сообщением


Ссылка на сообщение

О все я нашел, в штацессе

DirectoryIndex login.php index.php

Поделиться сообщением


Ссылка на сообщение

Приветствую всех! Можно ли сделать такую же форму входа на IPS 4 ?

Чтобы логин и пароль вводился сразу на главной странице, а после ввода появлялась панель пользователя, подскажите как это сделать?

Поделиться сообщением


Ссылка на сообщение

Можно. Обсуждалось в разделе IPS.

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...