Перейти к публикации
View in the app

A better way to browse. Learn more.

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

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Опубликовано:

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

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

Опубликовано:

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

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

Сейчас на странице 0

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.