| |
|
|
| | Здравствуйте уважаемое сообщество. Посмотрите пожалуйста данный участок кода.
<?php
if (isset($_POST['save_p']))
{
$login = htmlspecialchars(stripslashes(trim($_POST['login'])));
$email = htmlspecialchars(stripslashes(trim($_POST['email'])));
$password = htmlspecialchars(stripslashes(trim($_POST['password'])));
if (empty($login))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>Ваш логин</b> осталось пустым! Это недопустимо. <p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if (!preg_match("|^[-a-z\d]+$|i", $login))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>Ваш логин</b> <font color = 'black' size = '4' face = 'Times'>\"".$login."\"</font> использует
запрещённый символ! Это недопустимо.<p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if (empty($email))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>E-mail</b> осталось пустым! Это недопустимо. <p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if (!preg_match("/[0-9a-z_]+@[-0-9a-z_^\.]+\.[a-z]{2,4}$/i", $email))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>E-mail</b> <font color = 'black' size = '4' face = 'Times'>\"".$email."\"</font>
использует запрещённый символ! Это недопустимо.<br>
Введите E-mail в виде: <b>mmm@sait.ru</b><p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if (empty($password))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>Пароль</b> осталось пустым! Это недопустимо. <p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if (!preg_match("|^[-_a-z\d]+$|i", $password))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>Пароль</b> <font color = 'black' size = '4' face = 'Times'>\"".$password."\"</font>
использует запрещённый символ! Это недопустимо.<p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if (empty($repeatpas))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>Повторите пароль</b> осталось пустым! Это недопустимо. <p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if (!preg_match("|^[-_a-z\d]+$|i", $repeatpas))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>Повторите пароль</b> <font color = 'black' size = '4' face = 'Times'>\"".$repeatpas."\"</font>
использует запрещённый символ! Это недопустимо.<p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if ($password != $repeatpas)
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
Ваши пароли <font color = 'black' size = '4' face = 'Times'>\"".$password."\" и \"".$repeatpas."\"</font>
не совпадают! Это недопустимо.<p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
{ $a=mysql_connect("localhost","root","");
if(!$a)
{ echo "Не могу соединится с базой ".login."!<br>";
echo mysql_error();
exit;
}
mysql_query( "CREATE DATABASE login" );
mysql_select_db( "login");
mysql_query("CREATE TABLE login (
id_user SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
login TINYTEXT NOT NULL,
email TINYTEXT NOT NULL,
password TINYTEXT NOT NULL,
PRIMARY KEY (id_user)
)");
$save = "INSERT INTO login VALUES (0,
'$login',
'$email',
'$password')";
$temp = mysql_query($save);
if ($temp)
{
echo "<center><strong><font color = 'red' size = '2' face = 'Tahoma'>
Вы успешно зарегистрированы в системе.
</font></strong>";
}
else
echo "<center><font color = 'black' size = '4'><b>Ошибка при добавлении нового партнёра.
Пожалуйста, зайдите позже</b></font></center>";
}
}
else
{
echo "<font color = 'blue' size = '4' face = 'Georgia'>Регистрация нового пользователя</font><p>
<font color = 'gray'><b>все поля обязательны к заполнению</b></font>";
echo "<form action = 'test1.php' method = 'post'>";
echo "<TABLE border = '0' width = '100%' cellpadding = '7' class = 'screen'>
<TR valign = 'top'>
<TD><b>Ваш логин:</b><br>(пустое значение запрещено)</TD>
<TD><input type = 'text' size = '30' name = 'login' maxlength = '30'
value = '".$_POST['login']."' class = 'edit'><br>
<font color = 'gray' size = '1' face = 'Verdana'>имя должно состоять не более чем из 30 символов и
включать только строчные буквы латинского алфавита, цифры и символ тире <b>(-)</b></font></TD>
</TR>
<TR valign = 'top'>
<TD><b>E-mail:</b><br>(пустое значение запрещено)</TD>
<TD><input type = 'text' size = '30' maxlength = '40' name = 'email'
value = '".$_POST['email']."' class = 'edit'><br>
<font color = 'gray' size = '1' face = 'Verdana'>Ваш личный (контактный) адрес электронной почты</font></TD>
</TR>
<TR valign = 'top'>
<TD><b>Пароль:</b><br>(пустое значение запрещено)</TD>
<TD><input type = 'password' size = '30' maxlength = '30' name = 'password'
value = '".$_POST['password']."' class = 'edit'><br>
<font color = 'gray' size = '1' face = 'Verdana'>пароль, который Вы будете использовать для входа
в аккаунт</font></TD>
</TR>
<TR valign = 'top'>
<TD><b>Повторите пароль:</b><br>(пустое значение запрещено)</TD>
<TD><input type = 'password' size = '30' maxlength = '30' name = 'repeatpas'
value = '".$_POST['repeatpas']."' class = 'edit'><br>
<font color = 'gray' size = '1' face = 'Verdana'>повторите Ваш пароль</font></TD>
</TR>
</TABLE>
<p>";
echo "<center>
<input type = 'submit' name = 'save_p' value = 'Сохранить данные' class = 'button'>";
echo "</form></center>";
}
?>
|
При нажатии на кнопку регистрации на сайте выполняется данный участок кода test.php.
Форма включает 4 поля - логин, email, пароль, подтверждение пароля.
После введения данных в форму производится проверка введённых в форму полей при помощи регулярных выражений.
Если данные введены правиьно происходит запись этих данных в таблицу login, бд login.
{ $a=mysql_connect("localhost","root","");
if(!$a)
{ echo "Не могу соединится с базой ".login."!<br>";
echo mysql_error();
exit;
}
mysql_query( "CREATE DATABASE login" );
mysql_select_db( "login");
mysql_query("CREATE TABLE login (
id_user SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
login TINYTEXT NOT NULL,
email TINYTEXT NOT NULL,
password TINYTEXT NOT NULL,
PRIMARY KEY (id_user)
)");
$save = "INSERT INTO login VALUES (0,
'$login',
'$email',
'$password')";
$temp = mysql_query($save);
|
Вы ни скажете как сделать проверку на дублирование данных, чтобы не было одинаковых имён логина, или email-ов. Т.е. если пользователь регистрируется перед тем как записать данные в таблицу, должна осуществлятся проверка того логина который он ввёл с теми логинами которые уже содержатся в таблице login. Как эту проверку записать программным кодом. Заранее большое спасибо. | |
| |
|
|
| |
|
|
| |
для: pautina
(20.05.2008 в 13:19)
| | | нужно делать выборку из базы по логину и если хоть одна запись в базе есть значит регистрировать нельзя...
вот этот участок лишний
<?
mysql_query( "CREATE DATABASE login" );
mysql_select_db( "login");
mysql_query("CREATE TABLE login (
id_user SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
login TINYTEXT NOT NULL,
email TINYTEXT NOT NULL,
password TINYTEXT NOT NULL,
PRIMARY KEY (id_user)
)");
|
например вот так
<? if ($sql=mysql_query("select id_user from login where login='".$login."'") and mysql_num_rows($sql)>0){
echo "Пользователь с таким логином уже существет";
}
else{
//тут идет код записи в базу
}
|
| |
| |
|
|
| |
|
|
| |
для: pautina
(20.05.2008 в 13:19)
| | | Просто перед тем как заносить в базу, делайте запрос на поиск такого логина в базе, если нет записывать, если есть, просить ввести новый. А вот это для чего вы делаете до проверки?:
$login = htmlspecialchars(stripslashes(trim($_POST['login'])));
$email = htmlspecialchars(stripslashes(trim($_POST['email'])));
$password = htmlspecialchars(stripslashes(trim($_POST['password'])));
Кстати, вы думаете это нужно будет и после проверки? | |
| |
|
|
| |
|
|
| |
для: sim5
(20.05.2008 в 13:25)
| | | А что участок кода по созданию БД и структуры таблицы разве является лишним? Если нет БД и структуры таблицы куда тогда запишутся значения, в пустоту что ли. | |
| |
|
|
| |
|
|
| |
для: pautina
(20.05.2008 в 13:36)
| | | просто получается что вы все время будете создавать таблицу при регистрации, на само же деле таблица создается один раз и не из скрипта регистрациии точно :) ну и база соответсвенно :)
вот тут погорячился это нужно :)
<?
mysql_select_db( "login");
|
| |
| |
|
|
| |
|
|
| |
для: KPETuH
(20.05.2008 в 13:38)
| | | Да правда в данном случае таблица и бд будет создаватся всегда при регистрации нового пользователя и это ни совсем правильно.
А как мне создать таблицу не из скрипта регистрации, ни подскажете? | |
| |
|
|
| |
|
|
| |
для: pautina
(20.05.2008 в 13:43)
| | | ну например засуньте в один скрипт код создания всех таблиц и один раз его запустите на выполнение :) или используйте такой инструмент как phpmyadmin... | |
| |
|
|
| |
|
|
| |
для: KPETuH
(20.05.2008 в 13:49)
| | | А Вы ни могли бы привести весь код, с проверкой на логин. Я конечно извиняюсь. Запутался в скобках. | |
| |
|
|
| |
|
|
| |
для: pautina
(20.05.2008 в 15:22)
| | | Возможно вас заинтересует http://php-myadmin.ru/ | |
| |
|
|
| |
|
|
| |
для: pautina
(20.05.2008 в 15:22)
| | | ну исходя из вашего кода то примерно так:
<?
if ($sql=mysql_query("select id_user from login where login='".$login."'") and mysql_num_rows($sql)>0){
echo "Пользователь с таким логином уже существет";
}
else{
$save = "INSERT INTO login VALUES (0,'$login','$email','$password')";
$temp = mysql_query($save);
}
|
| |
| |
|
|
| |
|
|
| |
для: KPETuH
(21.05.2008 в 07:38)
| | | Вы ни могли бы протестировать данный участок кода. Здесь внесено условие проверки на логин.
<?php
if (isset($_POST['save_p']))
{
$login = htmlspecialchars(stripslashes(trim($_POST['login'])));
$email = htmlspecialchars(stripslashes(trim($_POST['email'])));
$password = htmlspecialchars(stripslashes(trim($_POST['password'])));
if (empty($login))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>Ваш логин</b> осталось пустым! Это недопустимо. <p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if (!preg_match("|^[-a-z\d]+$|i", $login))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>Ваш логин</b> <font color = 'black' size = '4' face = 'Times'>\"".$login."\"</font> использует
запрещённый символ! Это недопустимо.<p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if (empty($email))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>E-mail</b> осталось пустым! Это недопустимо. <p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if (!preg_match("/[0-9a-z_]+@[-0-9a-z_^\.]+\.[a-z]{2,4}$/i", $email))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>E-mail</b> <font color = 'black' size = '4' face = 'Times'>\"".$email."\"</font>
использует запрещённый символ! Это недопустимо.<br>
Введите E-mail в виде: <b>mmm@sait.ru</b><p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if (empty($password))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>Пароль</b> осталось пустым! Это недопустимо. <p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if (!preg_match("|^[-_a-z\d]+$|i", $password))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>Пароль</b> <font color = 'black' size = '4' face = 'Times'>\"".$password."\"</font>
использует запрещённый символ! Это недопустимо.<p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if (empty($repeatpas))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>Повторите пароль</b> осталось пустым! Это недопустимо. <p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if (!preg_match("|^[-_a-z\d]+$|i", $repeatpas))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>Повторите пароль</b> <font color = 'black' size = '4' face = 'Times'>\"".$repeatpas."\"</font>
использует запрещённый символ! Это недопустимо.<p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if ($password != $repeatpas)
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
Ваши пароли <font color = 'black' size = '4' face = 'Times'>\"".$password."\" и \"".$repeatpas."\"</font>
не совпадают! Это недопустимо.<p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
{
if (($sql=mysql_query("select id_user from login where login='".$login."'")) and (mysql_num_rows($sql)> 0))
{
echo "Пользователь с таким логином уже существет";
}
}
else
{ $a=mysql_connect("localhost","root","");
if(!$a)
{ echo "Не могу соединится с базой ".login."!<br>";
echo mysql_error();
exit;
}
mysql_query( "CREATE DATABASE login" );
mysql_select_db( "login");
mysql_query("CREATE TABLE login (
id_user SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
login TINYTEXT NOT NULL,
email TINYTEXT NOT NULL,
password TINYTEXT NOT NULL,
PRIMARY KEY (id_user)
)");
$save = "INSERT INTO login VALUES (0,
'$login',
'$email',
'$password')";
$temp = mysql_query($save);
if ($temp)
{
echo "<center><strong><font color = 'red' size = '2' face = 'Tahoma'>
Вы успешно зарегистрированы в системе.
</font></strong>";
}
else
echo "<center><font color = 'black' size = '4'><b>Ошибка при добавлении нового партнёра.
Пожалуйста, зайдите позже</b></font></center>";
}
}
else
{
echo "<font color = 'blue' size = '4' face = 'Georgia'>Регистрация нового пользователя</font><p>
<font color = 'gray'><b>все поля обязательны к заполнению</b></font>";
echo "<form action = 'test1.php' method = 'post'>";
echo "<TABLE border = '0' width = '100%' cellpadding = '7' class = 'screen'>
<TR valign = 'top'>
<TD><b>Ваш логин:</b><br>(пустое значение запрещено)</TD>
<TD><input type = 'text' size = '30' name = 'login' maxlength = '30'
value = '".$_POST['login']."' class = 'edit'><br>
<font color = 'gray' size = '1' face = 'Verdana'>имя должно состоять не более чем из 30 символов и
включать только строчные буквы латинского алфавита, цифры и символ тире <b>(-)</b></font></TD>
</TR>
<TR valign = 'top'>
<TD><b>E-mail:</b><br>(пустое значение запрещено)</TD>
<TD><input type = 'text' size = '30' maxlength = '40' name = 'email'
value = '".$_POST['email']."' class = 'edit'><br>
<font color = 'gray' size = '1' face = 'Verdana'>Ваш личный (контактный) адрес электронной почты</font></TD>
</TR>
<TR valign = 'top'>
<TD><b>Пароль:</b><br>(пустое значение запрещено)</TD>
<TD><input type = 'password' size = '30' maxlength = '30' name = 'password'
value = '".$_POST['password']."' class = 'edit'><br>
<font color = 'gray' size = '1' face = 'Verdana'>пароль, который Вы будете использовать для входа
в аккаунт</font></TD>
</TR>
<TR valign = 'top'>
<TD><b>Повторите пароль:</b><br>(пустое значение запрещено)</TD>
<TD><input type = 'password' size = '30' maxlength = '30' name = 'repeatpas'
value = '".$_POST['repeatpas']."' class = 'edit'><br>
<font color = 'gray' size = '1' face = 'Verdana'>повторите Ваш пароль</font></TD>
</TR>
</TABLE>
<p>";
echo "<center>
<input type = 'submit' name = 'save_p' value = 'Сохранить данные' class = 'button'>";
echo "</form></center>";
}
?>
|
| |
| |
|
|
| |
|
|
| |
для: pautina
(21.05.2008 в 11:09)
| | |
<?php
if (isset($_POST['save_p']))
{
$login = htmlspecialchars(stripslashes(trim($_POST['login'])));
$email = htmlspecialchars(stripslashes(trim($_POST['email'])));
$password = htmlspecialchars(stripslashes(trim($_POST['password'])));
if (empty($login))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>Ваш логин</b> осталось пустым! Это недопустимо. <p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if (!preg_match("|^[-a-z\d]+$|i", $login))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>Ваш логин</b> <font color = 'black' size = '4' face = 'Times'>\"".$login."\"</font> использует
запрещённый символ! Это недопустимо.<p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if (empty($email))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>E-mail</b> осталось пустым! Это недопустимо. <p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if (!preg_match("/[0-9a-z_]+@[-0-9a-z_^\.]+\.[a-z]{2,4}$/i", $email))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>E-mail</b> <font color = 'black' size = '4' face = 'Times'>\"".$email."\"</font>
использует запрещённый символ! Это недопустимо.<br>
Введите E-mail в виде: <b>mmm@sait.ru</b><p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if (empty($password))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>Пароль</b> осталось пустым! Это недопустимо. <p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if (!preg_match("|^[-_a-z\d]+$|i", $password))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>Пароль</b> <font color = 'black' size = '4' face = 'Times'>\"".$password."\"</font>
использует запрещённый символ! Это недопустимо.<p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if (empty($repeatpas))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>Повторите пароль</b> осталось пустым! Это недопустимо. <p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if (!preg_match("|^[-_a-z\d]+$|i", $repeatpas))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
поле <b>Повторите пароль</b> <font color = 'black' size = '4' face = 'Times'>\"".$repeatpas."\"</font>
использует запрещённый символ! Это недопустимо.<p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if ($password != $repeatpas)
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
Ваши пароли <font color = 'black' size = '4' face = 'Times'>\"".$password."\" и \"".$repeatpas."\"</font>
не совпадают! Это недопустимо.<p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
{
$a=mysql_connect("localhost","root","");
if(!$a)
{ echo "Не могу соединится с базой!<br>";
echo mysql_error();
exit;
}
mysql_select_db( "login");
if (($sql=mysql_query("select id_user from login where login='".$login."'")) and (mysql_num_rows($sql)> 0))
{
echo "Пользователь с таким логином уже существет";
}
}
else
{
$save = "INSERT INTO login VALUES (0,'$login','$email','$password')";
$temp = mysql_query($save);
if ($temp)
{
echo "<center><strong><font color = 'red' size = '2' face = 'Tahoma'>
Вы успешно зарегистрированы в системе.
</font></strong>";
}
else
echo "<center><font color = 'black' size = '4'><b>Ошибка при добавлении нового партнёра.
Пожалуйста, зайдите позже</b></font></center>";
}
}
else
{
echo "<font color = 'blue' size = '4' face = 'Georgia'>Регистрация нового пользователя</font><p>
<font color = 'gray'><b>все поля обязательны к заполнению</b></font>";
echo "<form action = 'test1.php' method = 'post'>";
echo "<TABLE border = '0' width = '100%' cellpadding = '7' class = 'screen'>
<TR valign = 'top'>
<TD><b>Ваш логин:</b><br>(пустое значение запрещено)</TD>
<TD><input type = 'text' size = '30' name = 'login' maxlength = '30'
value = '".$_POST['login']."' class = 'edit'><br>
<font color = 'gray' size = '1' face = 'Verdana'>имя должно состоять не более чем из 30 символов и
включать только строчные буквы латинского алфавита, цифры и символ тире <b>(-)</b></font></TD>
</TR>
<TR valign = 'top'>
<TD><b>E-mail:</b><br>(пустое значение запрещено)</TD>
<TD><input type = 'text' size = '30' maxlength = '40' name = 'email'
value = '".$_POST['email']."' class = 'edit'><br>
<font color = 'gray' size = '1' face = 'Verdana'>Ваш личный (контактный) адрес электронной почты</font></TD>
</TR>
<TR valign = 'top'>
<TD><b>Пароль:</b><br>(пустое значение запрещено)</TD>
<TD><input type = 'password' size = '30' maxlength = '30' name = 'password'
value = '".$_POST['password']."' class = 'edit'><br>
<font color = 'gray' size = '1' face = 'Verdana'>пароль, который Вы будете использовать для входа
в аккаунт</font></TD>
</TR>
<TR valign = 'top'>
<TD><b>Повторите пароль:</b><br>(пустое значение запрещено)</TD>
<TD><input type = 'password' size = '30' maxlength = '30' name = 'repeatpas'
value = '".$_POST['repeatpas']."' class = 'edit'><br>
<font color = 'gray' size = '1' face = 'Verdana'>повторите Ваш пароль</font></TD>
</TR>
</TABLE>
<p>";
echo "<center>
<input type = 'submit' name = 'save_p' value = 'Сохранить данные' class = 'button'>";
echo "</form></center>";
}
?>
|
| |
| |
|
|
| |
|
|
| |
для: KPETuH
(21.05.2008 в 11:56)
| | | Здесь ругается на ошибку в 133 строке. | |
| |
|
|
| |
|
|
| |
для: pautina
(21.05.2008 в 12:26)
| | | там неправильно скобочка стоит фигурная.... оттуда уберите в 154 поставьте | |
| |
|
|
| |
|
|
| |
для: KPETuH
(21.05.2008 в 12:48)
| | | Да теперь логин проверяется на дублирование. Но данный модуль всё равно является не полным т.к. нужно сделать проверку на совпадение e-mail, ну и рассмотреть случай когда и email и логин одинаковы.
После проверки на дублирование логина
if (($sql=mysql_query("select id_user from login where login='".$login."'")) and (mysql_num_rows($sql)> 0))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
Ошибка введённых в форму данных<font color = 'black' size = '4' face = 'Times'>\"".$login."\"</font>
Логин с таким именем уже существует в БД, введите другой логин<p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
|
Я записал код проверки на дублирование email
if (($sql=mysql_query("select id_user from email where login='".$email."'")) and (mysql_num_rows($sql)> 0))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
Ошибка введённых в форму данных<font color = 'black' size = '4' face = 'Times'>\"".$login."\"</font>
email с таким именем уже существует в БД, введите другой email<p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
|
И при проверке скрипта, пользоветель всё равно зарегистрировался, хотя e-mail был такой же как в уже имеющийся в БД.
Посмотрите пожалуйста участок кода проверки на дублирование e-mail. | |
| |
|
|
| |
|
|
| |
для: pautina
(21.05.2008 в 13:21)
| | | Извините это я ошибся, надо было писать
if (($sql=mysql_query("select id_user from login where email='".$email."'")) and (mysql_num_rows($sql)> 0))
|
| |
| |
|
|
| |
|
|
| |
для: pautina
(21.05.2008 в 13:29)
| | | можно так
"select id_user from login where login='".$login."' or email='".$email."'"
|
| |
| |
|
|
| |
|
|
| |
для: KPETuH
(21.05.2008 в 13:34)
| | | Да так можно но тогда как правильно описать вывод сообщения пользоветелю. | |
| |
|
|
| |
|
|
| |
для: pautina
(21.05.2008 в 13:29)
| | | Для поверки логина и email на дублирование я использую следующий участок кода.
if (($sql=mysql_query("select id_user from login where login='".$login."'")) and (mysql_num_rows($sql)> 0))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
Ошибка введённых в форму данных<font color = 'black' size = '4' face = 'Times'>\"".$login."\"</font>
Логин с таким именем уже существует в БД, введите другой логин<p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
if (($sql=mysql_query("select id_user from login where email='".$email."'")) and (mysql_num_rows($sql)> 0))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
Ошибка введённых в форму данных<font color = 'black' size = '4' face = 'Times'>\"".$email."\"</font>
email с таким именем уже существует в БД, введите другой email<p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
|
И при тестировании скрипта имею следующее:
- если login и email одинаковы (т.е. такие значения уже есть в базе данных), то всё нормально
- если login дублируется a email разный то выводится сообщение о дублировании login и надпись, что пользователь успешно зарегистрирован, почему
- если дублируется email а логин разный то тоже всё норально
Почему при дублировании логина и разных email выходит сообщение что пользователь успешно зарегистрировался. | |
| |
|
|
| |
|
|
| |
для: pautina
(21.05.2008 в 13:46)
| | | используйте запрос написаный мною выше... | |
| |
|
|
| |
|
|
| |
для: KPETuH
(21.05.2008 в 13:59)
| | | Если использовать запрос
"select id_user from login where login='".$login."' or email='".$email."'"
|
Как тогда пользователь узнает что именно у него продублировалось. | |
| |
|
|
| |
|
|
| |
для: pautina
(21.05.2008 в 14:11)
| | | так ли это важно?, если все же важно то вам нужно правильно выставить условия с предыдущими запросами так как сокрее всего в if или последовательности вы и накосячили | |
| |
|
|
| |
|
|
| |
для: KPETuH
(21.05.2008 в 14:18)
| | | Хотелось бы чтобы всё работало правильно.
ни могу понять.
Задана программная инструкция что если логин дублируется, то вывести сообщение что такой логин уже есть, почему происходит запись в базу.
Могу я выставить Вам весь отрезок кода. Может посмотрите. | |
| |
|
|
| |
|
|
| |
для: pautina
(21.05.2008 в 14:40)
| | | прикрепите в виде файла, если никто до меня не посмотрит то завтра отвечу... | |
| |
|
|
| |
 9.5 Кб |
|
| |
для: KPETuH
(21.05.2008 в 14:49)
| | | Большое Вам спасибо за понимание.
Ещё раз опишу в чем проблема в коде.
- если логин и емайл одинаковы выводится сообщение что данные значения уже зарегистрированны и нужно вернутся на шаг назад (в этом случае всё нормально)
- если емайл повторяется а логин нет, то тоже всё хорошо
- а вот в случае если логин дублируется а емайл нет, то выводится сообщение что логин уже содержится в бд, но при этом пользователь всё равно регистрируется, Почему. | |
| |
|
|
| |
|
|
| |
для: pautina
(21.05.2008 в 15:00)
| | | в строке 148 напишите else | |
| |
|
|
| |
|
|
| |
для: KPETuH
(22.05.2008 в 08:07)
| | | спасибо очень помогло.
Полная проверка дублирования логинов и емайл выглядит так.
if ($sql=mysql_query("select id_user from login where login='".$login."' and email != '".$email."'") and (mysql_num_rows($sql)> 0))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
Ошибка введённых в форму данных <font color = 'black' size = '4' face = 'Times'>\"".$login."\"</font>
Логин с таким именем уже существует в БД, введите другой логин<p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if ($sql=mysql_query("select id_user from login where email='".$email."' and login != '".$login."'") and (mysql_num_rows($sql)> 0))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
Ошибка введённых в форму данных <font color = 'black' size = '4' face = 'Times'>\"".$email."\"</font>
email с таким именем уже существует в БД, введите другой email<p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
else
if ($sql=mysql_query("select id_user from login where login='".$login."' and email='".$email."'") and (mysql_num_rows($sql)> 0))
{
echo "<center>
<font color = 'blue' size = '3' face = 'Tahoma'>
Ошибка введённых в форму данных <font color = 'black' size = '4' face = 'Times'>\"".$login."\"</font>
Логин с таким именем уже существует в БД, введите другой логин<p>
</font>
<font color = 'blue' size = '3' face = 'Tahoma'>
Ошибка введённых в форму данных <font color = 'black' size = '4' face = 'Times'>\"".$email."\"</font>
email с таким именем уже существует в БД, введите другой email<p>
Чтобы внести исправления надо вернуться <a href = 'javascript:history.back(1)' class = 'enter'>НАЗАД</a>
</font>
</center>";
}
|
| |
| |
|
|
| |
|
|
| |
для: pautina
(22.05.2008 в 11:08)
| | | А как решить такой вопрос.
Чтобы при успешной регистрации пользователя на его email высылалось бы сообщение о том что пользователь зарегистрировался на определённом сайте, и приходила бы ссылка зайдя на которою пользователь бы был активирован. | |
| |
|
|
| |
|
|
| |
для: pautina
(22.05.2008 в 12:06)
| | | воспользоваться поиском по данному форуму :) | |
| |
|
|
| |
|
|
| |
для: KPETuH
(22.05.2008 в 12:45)
| | | А вы ни скажете как осуществить программный код который бы по заданному логину, высылал бы на емайл пароль пользователя.
Т.е есть на сайте ссылка "забыли пароль" пользователь заходит на неё вводит свой логин нажимает кнопку "ок". После чего на его емайл высылается пароль который пользователь вводил при регистрации. | |
| |
|
|
| |
|
|
| |
для: pautina
(22.05.2008 в 13:40)
| | | делаете выборку пароля и мыла из базы по логину, потом с помощью функции mail отправляете письмо с паролем... | |
| |
|
|
| |
|
|
| |
для: KPETuH
(22.05.2008 в 13:49)
| | | Вы ни могли бы посмотреть следующий участок кода.
<html> ... <body>
<?php
$a=mysql_connect("localhost","root","");
if(!$a)
{ echo "Не могу соединится с базой!<br>";
echo mysql_error();
exit;
}
mysql_select_db( "login");
if
($sql=mysql_query("select id_user from login where login='".$login."' and password='".$password."'") and (mysql_num_rows($sql)> 0))
{
echo "Вы вошли как пользователь "$login" "
}
?>
</body></html>
|
Ни пойму почему ни выводится значение логина. Код вроде правильный. | |
| |
|
|