Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Регистрация

Сообщения:  [1-5] 

 
 автор: gkhelloworld   (24.04.2007 в 08:14)   письмо автору
 
   для: Trianon   (23.04.2007 в 16:10)
 

это все создано для примера, этот скрипт ни где не применяется
Тут пример в том, что можно ограничивать, не ограничивать, проверять почту и т.д.
Но иногда действительно человек совершает ошибки в написании адреса, иногда почта важна для восстановления пароля, или подтверждения!

   
 
 автор: Trianon   (23.04.2007 в 16:10)   письмо автору
 
   для: gkhelloworld   (23.04.2007 в 15:48)
 

Пытаться как-то ограничить поле пароля не правильно. Или пытаться фильтровать e-mail вот этим: eregi("^([0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-wyz][a-z](fo|g|l|m|mes|o|op|pa|ro|seum|t|u|v|z)?)$", $reg_email)

У Вас, соответственно, - оба пункта.

Касательно е-мэйл - чем проще е-мэйл фильтр, тем меньше вероятность, что он зарежет действующий адрес. Поскольку адреса раздает не Ваш сервер - не ему писать, поддерживается е-мэйл или нет. Типичный пример забаненного адреса - адрес в домене trawel.

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

[поправлено модератором]

   
 
 автор: gkhelloworld   (23.04.2007 в 15:48)   письмо автору
 
   для: Alexej   (22.04.2007 в 19:56)
 

много не нужного. это все можно упростить до уровня:

if (isset($_POST[login]) || isset($_POST[password]) || isset($_POST[p2]) || isset($_POST[email]) || count($_POST)>0)
{
/// Если все ок, тогда....

$reg_login     = $_POST[login];
$reg_password     = $_POST[password];
$reg_p2     = $_POST[p2];
$reg_email     = $_POST[email];



if (!eregi("([a-z0-9]{1,16})", $reg_login))
{
$error_login = " «{$reg_login}» — такой логин не поддерживается.";
$error = "1";
}
if (!eregi("([a-z0-9]{5,16})", $reg_password))
{
$error_password = " «{$reg_password}» — такой пароль не поддерживается.";
$error = "1";
}
if (!eregi("^([0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-wyz][a-z](fo|g|l|m|mes|o|op|pa|ro|seum|t|u|v|z)?)$", $reg_email))
{
$error_email = " «{$reg_email}» — такой E-mail не поддерживается.";
$error = "1";
}
if(!isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] ==  $_POST['keystring'])
{
$e = "xyu";
unset($_SESSION['captcha_keystring']);
}


if ($error == "1")
{
$error_reg = "<b class=\"fonterror\">Ошибка при регистрации!</b>$error_login $error_password $error_email $e";
}
else
{
$reg_ok = "Все ок!";
}

[поправлено модератором]

   
 
 автор: Trianon   (22.04.2007 в 21:46)   письмо автору
 
   для: Alexej   (22.04.2007 в 19:56)
 

> if(!isset($name))
переменную $name Вы создали пятью строками ранее. Какой смысл проверять её существование? Создали - значит существует.
Если Вы хотите убедиться, что там непустая строка - пишите if($name != '')

   
 
 автор: Alexej   (22.04.2007 в 19:56)   письмо автору
 
 

Помогите у меня в коде для регистрации какие бы данные не были б введены
Регистрация всё равно проходит успешно,а не так что при условии что все поля заполнены как надо!

$name=trim($_POST['name']);
$email=trim($_POST['email']);
$pass=$_POST['pass'];
$reppass=$_POST['reppass'];

if(!isset($name))
{
echo "Не указано имя<br>";
}

if(!empty($email))
{
if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i",$email))
echo "Введите e-mail в виде <i>mail@rambler.ru</i><br>";
}

if(!isset($pass) ||
!isset($reppass) ||
$pass != $reppass) echo "Ошибка в паролях";


$rus=array("А","а","В","Е","е","К","М","Н","О","о","Р","р","С","с","Т","Х","х");
$eng=array("A","a","B","E","e","K","M","H","O","o","P","p","C","c","T","X","x");
$eng_author=str_replace($rus,$eng,$name);
$rus_author=str_replace($eng,$rus,$name);
$query="SELECT * FROM `user` WHERE `name` LIKE '$name' OR `name` LIKE '$eng_author' OR `name` LIKE '$rus_author'";
$ath=mysql_query($query);
if($ath)
{
if(mysql_num_rows($ath)>0)
echo "К сожалению данное имя уже зарегистрировано";
} else puterror("Ошибка при регистрации");


$query="INSERT INTO `db`.`user`
VALUES (
0,'$name','$email','$pass')";
if (mysql_query($query))
echo "<body background=Images/fonk4.JPG><h3>Вы успешно зарегистрированы<br></body>";
else puterror("Ошибка при регистрации нового посетителя");

   

Сообщения:  [1-5] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования