• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь Авторизация и регистрация на одной странице

Статус
В этой теме нельзя размещать новые ответы.

sidor

Старатель
Регистрация
7 Июн 2006
Сообщения
220
Реакции
14
DLE: 7,5
NULLED: mid-team

Нужно сделать авторизацию и регистрацию пользователя на одной странице.
Выглядит все это примерно так:
Для просмотра ссылки Войди или Зарегистрируйся

Код файла registration.tpl примерной такой:
HTML:
<div class="news_head">Учетная запись пользователя</div>
<div class="news_line"><img src="{THEME}/images/news_up.gif" /></div>
<div class="usercp">
	<div class="autentification">
		<div class="name">Войти</div>
		<div class="login">Логин&nbsp;&nbsp;<input type="text" name="login_name" class="textbox" /></div>
		<div class="password">Пароль&nbsp;&nbsp;<input type="password" name="login_password" class="textbox" /></div>
		<div class="enter"><input onclick="submit();" name="image" type="image" src="{THEME}/images/enter.gif" onmouseover=src="{THEME}/images/enter_hover.gif" onmouseout=src="{THEME}/images/enter.gif" value="войти" /><input name="login" type="hidden" id="login" value="submit" /></div>
		<div class="lost_password"><a href="{$link_lost}">Забыли пароль?</a></div>
	</div>
	<div class="registration">
		<div class="name">Регистрация</div>
		<div class="login">Логин&nbsp;&nbsp;<input type="text" name="name" id='name' size="28" /></div>
		<div class="password">Пароль&nbsp;&nbsp;<input type="password" name="password1" size="28" /></div>
		<div class="password2">Подтверждение пароля&nbsp;&nbsp;<input type="password" name="password2" size="28" /></div>
		<div class="email">e-mail&nbsp;&nbsp;<input type="text" name="email" size="28"/></div>
		<div class="reg"><input name="image2" type="image" src="{THEME}/images/reg.gif" onmouseover=src="{THEME}/images/reg_hover.gif" onmouseout=src="{THEME}/images/reg.gif" class="button" /></div>
	</div>
</div>

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

Подскажите пожалуйста как быть.
 
DLE: 7,5
NULLED: mid-team

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

Подскажите пожалуйста как быть.

Попробуй использовать Форму <form action="autentification.php"> код autentification </form> и <form action="registration.php"> код registration </form>, но ты должен иметь для registration и autentification php сайт с нужным кодом, тогда должно сработать!

вот взял с самого login.tpl
HTML:
<form method="post" onsubmit="javascript:showBusyLayer()">
	<div class="autentification">
		<div class="name">Войти</div>
		<div class="login">Логин&nbsp;&nbsp;<input type="text" name="login_name" class="textbox" /></div>
		<div class="password">Пароль&nbsp;&nbsp;<input type="password" name="login_password" class="textbox" /></div>
		<div class="enter"><input onclick="submit();" name="image" type="image" src="{THEME}/images/enter.gif" onmouseover=src="{THEME}/images/enter_hover.gif" onmouseout=src="{THEME}/images/enter.gif" value="войти" /><input name="login" type="hidden" id="login" value="submit" /></div>
		<div class="lost_password"><a href="{$link_lost}">Забыли пароль?</a></div>
	</div>
</form>

HTML:
<form  method="post" name="registration" id="registration" action="http://сайт/index.php?do=register">
<div class="registration">
		<div class="name">Регистрация</div>
		<div class="login">Логин&nbsp;&nbsp;<input type="text" name="name" id='name' size="28" /></div>
		<div class="password">Пароль&nbsp;&nbsp;<input type="password" name="password1" size="28" /></div>
		<div class="password2">Подтверждение пароля&nbsp;&nbsp;<input type="password" name="password2" size="28" /></div>
		<div class="email">e-mail&nbsp;&nbsp;<input type="text" name="email" size="28"/></div>
		<div class="reg"><input name="image2" type="image" src="{THEME}/images/reg.gif" onmouseover=src="{THEME}/images/reg_hover.gif" onmouseout=src="{THEME}/images/reg.gif" class="button" /></div>
	</div>
</form>

Попробуй должно сработать!
 
попрятай в отдельную форму

в /modules/register.php


найди внизу

PHP:
$tpl->copy_template = "<form  method=\"post\" name=\"registration\" enctype=\"multipart/form-data\" action=\"".$PHP_SELF."\">\n".$tpl->copy_template."
<input name=\"submit_val\" type=\"hidden\" id=\"submit_val\" value=\"submit_val\">
<input name=\"do\" type=\"hidden\" id=\"do\" value=\"register\">
<input name=\"doaction\" type=\"hidden\" id=\"doaction\" value=\"validating\">
<input name=\"id\" type=\"hidden\" id=\"id\" value=\"{$_REQUEST['id']}\">
</form>";

убери
PHP:
<form  method=\"post\" name=\"registration\" enctype=\"multipart/form-data\" action=\"".$PHP_SELF."\">

выше этого блока добавь
PHP:
$tpl->set('{reg_form}', "<form  method=\"post\" name=\"registration\" enctype=\"multipart/form-data\" action=\"".$PHP_SELF."\">");


а в registration.tpl сделай

HTML:
<form method="post" action="/">
<div class="news_head">Учетная запись пользователя</div>
<div class="news_line"><img src="{THEME}/images/news_up.gif" /></div>
<div class="usercp">
	<div class="autentification">
		<div class="name">Войти</div>
		<div class="login">Логин&nbsp;&nbsp;<input type="text" name="login_name" class="textbox" /></div>
		<div class="password">Пароль&nbsp;&nbsp;<input type="password" name="login_password" class="textbox" /></div>
		<div class="enter"><input onclick="submit();" name="image" type="image" src="{THEME}/images/enter.gif" onmouseover=src="{THEME}/images/enter_hover.gif" onmouseout=src="{THEME}/images/enter.gif" value="войти" /><input name="login" type="hidden" id="login" value="submit" /></div>
		<div class="lost_password"><a href="{$link_lost}">Забыли пароль?</a></div>
	</div>
</form>
{reg_form}
	<div class="registration">
		<div class="name">Регистрация</div>
		<div class="login">Логин&nbsp;&nbsp;<input type="text" name="name" id='name' size="28" /></div>
		<div class="password">Пароль&nbsp;&nbsp;<input type="password" name="password1" size="28" /></div>
		<div class="password2">Подтверждение пароля&nbsp;&nbsp;<input type="password" name="password2" size="28" /></div>
		<div class="email">e-mail&nbsp;&nbsp;<input type="text" name="email" size="28"/></div>
		<div class="reg"><input name="image2" type="image" src="{THEME}/images/reg.gif" onmouseover=src="{THEME}/images/reg_hover.gif" onmouseout=src="{THEME}/images/reg.gif" class="button" /></div>
	</div>
</div>
 
такая проблема в дле 7.0, когда нажимаю на кнопку Проверить имя:
Warning: in_array(:( Wrong datatype for second argument in /home/public_html/engine/ajax/registration.php on line 142 ? ?? ???? ?? ? ? ???/font>

Сама страка:
if ( in_array( strtolower($name), $user_filter['name'] ) )

я взял модуль Быстрая регистрация (с кодом безопасности)
h**p://4dle.ru/2007/06/12/bystraja_registracija_s_kodom_bezopasnosti.html

в чём может быть проблема?
 
А не проще сделать так?:
 

Вложения

  • login.rar
    769 байт · Просмотры: 8
  • screen_login.jpg
    screen_login.jpg
    37 KB · Просмотры: 31
Germango, не легче. Потому что не у всех может работать. Это во-первых. А во-вторых, зачем люди дизайн рисовали? наверное, что бы было красиво ;)

вообщем, я сделал примерно как сказал kwin. Только у него в сообщении неточности. Там указана форма валидации, а не регистрации нового пользователя. Ну а так идею понял и сделал все как нужно. Единственное, что не работает валидация: я уже и так пытался и эдак, но не записываются данные в базу и все :(
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху