Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.

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

Как вывести блок авторизации на другие страницы сайта. К примеру чтобы когда человек заходил на главную он видел вход или регистрацию, а если он зарегистрирован то отображается его профиль, тоже на всех страницах сайта.

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

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

Ух ты, заработало, спасибо большое ! :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');

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

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

Допустим в сети такие базовые формы (файл с формой 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 - имя индексного файла ипб.

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

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

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

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

DirectoryIndex login.php index.php

  • 4 месяца спустя...

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

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

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

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

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.