Перейти к публикации

Как вынести блок авторизации на отдельную страницу?


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

Были подготовлены и реализованы следующие изменения:

1. Расширена функциональность статических страниц, добавлена поддержка в шаблонах тега [group], что позволит более расширенно использовать их возможности. Например выносить блок авторизации на отдельную страницу.

Кто нибудь пробовал вынести блок авторизации на отдельную страницу? Как это сделать?

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

Пробую - не обрабатывается тег [group], как есть, таки показывается.

[group=1,2,3,4]Привет! <b>&raquo;<a href="/index.php?action=logout">Выйти!</b></a>[/group]


[group=5]<table width="100%"><tr><td align="left">  <form method=post>  Логин : <input type="text" name="login_name"><br>  Пароль: <input type="password" name="login_password"><br> <input onclick="submit();" name="image" type="button" value="Войти"><input name="login" type="hidden" id="login" value="submit"></form></td></tr></table>  [<a href="/register.html">Регистрация</a> | <a href="/lostpassword.html">Забыли пароль?</a> ][/group]

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

:) спасибо, разобрался.

Только не работают теги

{$member_id['name']} {$link_profile}
, и ссылка выхода <a href="/index.php?action=logout">Выйти!</a> (тег {AJAX} в страницах отсутствует, версия для КПК)
Ссылка на сообщение
Поделиться на других сайтах

blagoy_vip,

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

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

Самому нужен подобный модуль, буду на неделе делать. Если в течении 5-10 дней не найдёшь - пиши в аську, думаю уже сделаю. Если сам найдёшь раньше, кинь ссылку :P

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

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

Так же данный модуль может оказаться полезным для сторонних разработчиков: допустим прошёл пользователь по ссылке, бац, а прав у гостя нет. Чтоб не писать ему текст - Войди на сайт под своим..... - показывается эта страница. После ввода никак и пароля, пользователь оказывается на той же странице и ссылка срабатывает. Думаю, если это прочтёт проггер - он поймёт нафига там $information = "". Адрес страницы *ru/index.php?do=login или ru/login.html если с чпу.

создать шаблон loginpage.tpl

<table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="10" align="left" valign="top"><img src="{THEME}/images/dlet_artblock_11.gif" width="10" height="8" /></td>

<td align="left" valign="top" class="a_block_12"><img src="{THEME}/images/spacer.gif" width="1" height="8" /></td>

<td width="10" align="right" valign="top"><img src="{THEME}/images/dlet_artblock_13.gif" width="10" height="8" /></td>

</tr>

<tr>

<td width="10" align="left" valign="top"><img src="{THEME}/images/dlet_artblock_21.gif" width="10" height="23" /></td>

<td align="left" valign="top" class="a_block_22"><table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="17" align="left" valign="top"><img src="{THEME}/images/dlet_artblock_22_01.gif" width="17" height="23" /></td>

<td align="left" class="ntitle">Âõîä íà ñàéò</td>

<td width="17" align="right" valign="top"><img src="{THEME}/images/dlet_artblock_22_03.gif" width="17" height="23" /></td>

</tr>

</table></td>

<td width="10" align="right" valign="top"><img src="{THEME}/images/dlet_artblock_23.gif" width="10" height="23" /></td>

</tr>

<tr>

<td width="10" align="left" valign="top"><img src="{THEME}/images/dlet_artblock_31.gif" width="10" height="9" /></td>

<td align="left" valign="top" class="a_block_32"><img src="{THEME}/images/spacer.gif" width="1" height="9" /></td>

<td width="10" align="right" valign="top"><img src="{THEME}/images/dlet_artblock_33.gif" width="10" height="9" /></td>

</tr>

<tr>

<td width="10" align="left" valign="top" class="a_block_61">&nbsp;</td>

<td align="center" valign="top" class="slink">

<form method="post" onsubmit="java script:showBusyLayer()" action=''>

<table width="220" border="0" cellspacing="0" cellpadding="0" align="center">

<tr>

<td colspan="3" align="center" style="padding:5px;"><br>{information}</td>

</tr>

<tr>

<td align="left" class="ltitle_small" style="padding:5px;">ëîãèí :</td>

<td width="5" height="18" align="left">&nbsp;</td>

<td align="right"><input name="login_name" type="text" class="a_field" style="width:150px" /></td>

</tr>

<tr>

<td colspan="3" align="left"><img src="{THEME}/images/spacer.gif" width="1" height="3" /></td>

</tr>

<tr>

<td align="left" class="ltitle_small" style="padding:5px;">ïàðîëü :</td>

<td width="5" height="18" align="left">&nbsp;</td>

<td align="right"><input name="login_password" type="password" class="a_field" style="width:150px" /></td>

</tr>

<tr>

<td colspan="3" align="left"><img src="{THEME}/images/spacer.gif" width="1" height="4" /></td>

</tr>

<tr>

<td colspan="3" align="center" style="padding:5px;"><input onclick="submit();" name="image" type="image" src="{THEME}/images/dlet_bttn_login.gif" style="width:50px; height:18px; border:0" /><input name="login" type="hidden" id="login" value="submit" /></td>

</tr>

<tr>

<td height="28" colspan="3" align="center" class="copy"><img src="{THEME}/images/dlet_cp_point_1.gif" width="15" height="14" /> <a href="{$link_regist}">Ðåãèñòðàöèÿ</a> <img src="{THEME}/images/dlet_cp_point_1.gif" width="15" height="14" /> <a href="{$link_lost}">Íàïîìíèòü ïàðîëü?</a></td>

</tr>

</table>

</form>

</td>

<td width="10" align="right" valign="top" class="a_block_63">&nbsp;</td>

</tr>

<tr>

<td width="10" align="left" valign="top"><img src="{THEME}/images/dlet_artblock_71.gif" width="10" height="7" /></td>

<td align="left" valign="top" class="a_block_72"><img src="{THEME}/images/spacer.gif" width="1" height="7" /></td>

<td width="10" align="right" valign="top"><img src="{THEME}/images/dlet_artblock_73.gif" width="10" height="7" /></td>

</tr>

<tr>

<td width="10" align="left" valign="top"><img src="{THEME}/images/dlet_artblock_81.gif" width="10" height="14" /></td>

<td align="left" valign="top" class="a_block_82">&nbsp;</td>

<td width="10" align="right" valign="top"><img src="{THEME}/images/dlet_artblock_83.gif" width="10" height="14" /></td>

</tr>

</table>

<br />

В файле engine.php

после

case "pm" :

include ENGINE_DIR.'/modules/pm.php';

break;

добавить

case "login" :

pagelogin ();

if ($is_logged) header("Location:$PHP_SELF");

break;

и в moduls/functions.php

добавить

function pagelogin ($information = ""){

global $tpl, $config;

$link_regist = ($config['ajax']) ? $PHP_SELF."?do=register\" onclick=\"DlePage('do=register'); return false;" : $PHP_SELF."?do=register";

$link_lost = ($config['ajax']) ? $PHP_SELF."?do=lostpassword\" onclick=\"DlePage('do=lostpassword'); return false;" : $PHP_SELF."?do=lostpassword";

$tpl->load_template('loginpage.tpl');

if ($information) {

$tpl->set('{information}', $information);

} else {

$tpl->set('{information}', "");

}

$tpl->compile('content');

$tpl->clear();

}

для ЧПУ в хтаксессе перед или после

RewriteRule ^statistics.html$ index.php?do=stats [L]

добавить

RewriteRule ^login.html$ index.php?do=login [L]

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

-(www)-,

ну попробуй в неё код формы внеси. Я не уверен конечно, но думаю сработает...

Хотя лично мне удобнее именно так, т.к. он у меня не просто так прикручен. очень удобно вставлять в скриптах pagelogin ("текст информационного сообщения");

Изменено пользователем Al-x
Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
  • 8 месяцев спустя...

Для версии 6.3 работает. А вот версии 6.5 ругается еа эту строку:

$link_regist = ($config['ajax']) ? $PHP_SELF."?do=register\" onclick=\"DlePage('do=register'); return false;" : $PHP_SELF."?do=register";

Parse error: syntax error, unexpected T_STRING in /***/engine/modules/functions.php on line 825

что сделать?

Заранее благодарен.

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

Можно конечно создать отдельную статическую страницу и внести туда код

<form method="post" onsubmit="java script:showBusyLayer()" action=''>

<table width="250" border="0" cellspacing="10" cellpadding="10" align="center" bgColor=#eeeeee>

<tr>

<td align="left" style="padding:5px;"><small>Логин :</td>

<td width="5" height="18" align="left">&nbsp;</td>

<td align="right"><input name="login_name" type="text" class="a_field" style="width:150px" /></td>

</tr>

<tr>

<td align="left" style="padding:5px;"><small>Пароль :</td>

<td width="5" height="18" align="left">&nbsp;</td>

<td align="right"><input name="login_password" type="password" class="a_field" style="width:150px" /></td>

</tr>

<tr>

<td colspan="3" align="center" style="padding:5px;"><input onclick="submit();" name="image" type="image" src="/templates/Default/images/dlet_bttn_login.gif" style="width:50px; height:18px; border:0" /><input name="login" type="hidden" id="login" value="submit" /></td>

</tr>

<tr>

<td height="28" colspan="3" align="center" > <a href="http://**.ru/index.php?do=lostpassword"><small>Забыли пароль?</a> </td>

</tr>

</table>

</form>

<br />

</div>

Однако тогда вопрос: как после авторизации сделать переброс на центральную страницу?

Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...
  • 1 месяц спустя...

Страница входа с редиректом на главную.

1. Создаем loginpage.tpl

Копируем туда:

[group=1,2,3,4]<META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://www.ВАШ_САЙТ.ru/">[/group]

<table  width="980" align="center">

	<tr>

		<td width="5"><img src="{THEME}/images/mtdlred.png" width="5" height="58" border="0"></td>

		<td background="{THEME}/images/mtdbgred.png" class="ntitle" valign="top">{description}</td>

		<td width="5"><img src="{THEME}/images/mtdrred.png" width="5" height="58" border="0"></td>

	</tr>

	<tr>

		<td background="{THEME}/images/ltd.gif"><img src="{THEME}/images/ltd.gif" width="5" border="0"></td>

		<td class="news" style="padding-bottom:10px;">[group=5]{static}[/group][group=1,2,3,4]Вы успешно авторизованы.[/group]</td>

		<td background="{THEME}/images/rtd.gif"><img src="{THEME}/images/rtd.gif" width="5" border="0"></td>

	</tr>

	<tr>

		<td background="{THEME}/images/ltd.gif"><img src="{THEME}/images/ltd.gif" width="5" border="0"></td>

		<td class="news"><div align="center">{pages}</div></td>

		<td background="{THEME}/images/rtd.gif"><img src="{THEME}/images/rtd.gif" width="5" border="0"></td>

	</tr>

	<tr>

		<td><img src="{THEME}/images/ltdb.png" width="5" height="10" border="0"></td>

		<td background="{THEME}/images/tdbbg.png"><img src="{THEME}/images/tdbbg.png" width="1" height="10" border="0"></td>

		<td><img src="{THEME}/images/rtdb.png" width="5" height="10" border="0"></td>

	</tr>

</table>
2. Создаем статическую страницу с названием "enter". Копируем туда:
<form method="post" onsubmit="javascript<b></b>:showBusyLayer()"><table> 

<tr>

<td width="58" height="25" align="right"><b>Логин</b> </td>

<td height="25" align="right"><input type="text" name="login_name" style="width:150px; height:20px; font-family:tahoma; font-size:11px; border:1px solid #E0E0E0 "></td>

</tr>

<tr>

<td width="58" height="25" align="right"><b>Пароль</b> </td>

<td height="25" align="right"><input type="password" name="login_password" style="width:150px; height:20px; font-family:tahoma; font-size:11px; border:1px solid #E0E0E0 "></td>

</tr>

<tr>

<td height="25" width="58"> </td>

<td height="25" align="right" valign="top"><a href="http://www.ВАШ_САЙТ.ru/index.php?do=register"><small>Регистрация</small></a> <a href="http://www.ВАШ_САЙТ.ru/index.php?do=lostpassword"><small>Забыли пароль?</small></a></td></tr>

<tr>

<td width="58"> </td>

<td height="25" align="right" valign="middle"> <input onclick="submit();" name="image" type="image" src="{THEME}/images/send.png" align="middle"><input name="login" type="hidden" id="login" value="submit"></td></tr>

</table></form>
Тут же указываем шаблон loginpage для нашей статической страницы. 3. Из login.tpl удаляем форму:
 			<form method="post" onsubmit="java script:showBusyLayer()">

			  <table  class="blogis">

				<tr align="left" valign="middle">

				  <td width="58" height="25" align="right">Логин</td>

				  <td height="25" align="right"><input type="text" name="login_name" style="width:103px; height:20px; font-family:tahoma; font-size:11px; border:1px solid #E0E0E0 "></td>


				  <td width="58" height="25" align="right">Пароль</td>

				  <td height="25" align="right"><input type="password" name="login_password" style="width:103px; height:20px; font-family:tahoma; font-size:11px; border:1px solid #E0E0E0 "></td>

				  <td height="25" align="right" valign="middle">

					 <input onclick="submit();" name="image" type="image" src="{THEME}/images/send.png" align="middle">

					<input name="login" type="hidden" id="login" value="submit"></td>				  <td height="25" align="right" valign="middle"> <a href="{$link_regist}">Регистрация</a> <a href="{$link_lost}">Забыли пароль?</a> |</td>

				</tr>

			  </table></form>

4. В main.tpl ставим ссылку на страницу входа [group=5]<a href="http://www.ВАШ_САЙТ.ru/enter.html">Вход</a>[/group]

Незабудьте всюду вставить урл вашего сайта вместо ВАШ_САЙТ

Готово! ^_^

Изменено пользователем Junior
Ссылка на сообщение
Поделиться на других сайтах

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

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

Гость
Ответить в тему...

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

  Разрешено не более 75 эмодзи.

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

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

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

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