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

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

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

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

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

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

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

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

Не надо ничего менять, скопируйте еще раз код из сообщения и укажите путь до 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. Найдите Уведомления и измените свои настройки.