Перейти к содержимому


Фотография
- - - - -

Помогите с проверкой данных при регистрации


  • Пожалуйста, авторизуйтесь, чтобы ответить
3 ответов в этой теме

#1 Zaraza

Zaraza

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 835 сообщений
-2
Обычный
  • Пол:Мужчина
  • Город:Жукова 37/3
  • Интересы:Если Жизнь тебя кинула - Расправь крылья и лети!!!

    Я рожден в темных пещерах Мории.
    Lineage - форева, респект на всегда

    Если очень нужен звоните - 8-921-9569794

Опубликовано 20 Ноябрь 2009 - 23:00

Собственно ниже обработчик введенных данных в форме регистрации. Как сделать проверку идентичности $pass и $pass_2 и в случае если они не равны не проводить регистрацию и проверку на пустоту (т.е. если не заполнены поля при регистрации)
<?
$db=mysql_connect ("localhost","root","");
mysql_select_db ("test", $db);

if (isset($_POST['login'])) {$login=$_POST['login']; if ($login=='') {unset($login);}}
if (isset($_POST['pass'])) {$pass=$_POST['pass']; if ($pass=='') {unset($pass);}}
if (isset($_POST['pass_2'])) {$pass_2=$_POST['pass_2']; if ($pass_2=='') {unset($pass_2);}}
if (isset($_POST['email'])) {$email=$_POST['email']; if ($email=='') {unset($email);}}

if (isset($login) && isset($pass) && isset($pass_2) && isset($email))
{
$result=mysql_query ("INSERT INTO users SET login='$login', pass='$pass', email='$email'");
}
if ($result == 'true')
{
echo "Поздравляем с регистрацией в новом мире";
}
else
{
echo "Проверьте еще раз введенные данный вы что то пропустили <a href='reg.php'>Вернуться к форме</a>";
}
?>

  • 0
моя ася иногда я там буду - 199873062

#2 лайт

лайт

    iddqd

  • True Members
  • PipPipPipPipPip
  • 3 843 сообщений
9
Обычный
  • Пол:Мужчина

Опубликовано 20 Ноябрь 2009 - 23:13

<?
$db=mysql_connect ("localhost","root","");
mysql_select_db ("test", $db);

$errors = array();
if(empty($_POST['login'])) $errors[] = 'Вы не ввели имя';
if(empty($_POST['pass']) || empty($_POST['pass_2'])) $errors[] = 'Вы не ввели пароль или подтверждение';
if($_POST['pass'] != $_POST['pass_2']) $errors[] = 'Пароли не совпадают';
if(empty($_POST['email'])) $errors[] = 'Вы не ввели email';

if (empty($errors))
{
$result=mysql_query ('INSERT INTO users SET login=\''.mysql_real_escape_string($login).'\', pass=\''.mysql_real_escape_string($pass).'\', email=\''.mysql_real_escape_string($email).'\''; // фильтруй данные, а то хакнут
}
if ($result)
{
echo "Поздравляем с регистрацией в новом мире";
}
else
{
if(mysql_error()) echo mysql_error(); //debug, можешь убрать
foreach($errors as $error) echo $error.'<br>';
echo '<a href="reg.php">Вернуться к форме</a>';
}
?>
Не проверял.
  • 0

#3 Float

Float

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 918 сообщений
23
Обычный

Опубликовано 12 Декабрь 2009 - 01:54

Вообще конечно такие проверки надо не забывать дублировать javascript'ом, да бы не нагружать сервер лишний раз да и пользователю сберечь нервы =)
  • 0

P.S. Учитывая особенности этого форума хочу добавить, что дети из серии "даю, 100, ну ладно 150" восприниматься всерьез не будут.

ты такой глупенький, что это уже даже не смешно


#4 лайт

лайт

    iddqd

  • True Members
  • PipPipPipPipPip
  • 3 843 сообщений
9
Обычный
  • Пол:Мужчина

Опубликовано 12 Декабрь 2009 - 03:25

Серверу от таких проверок плохо не станет.
А если говорить об оптимизации, то вот вариант быстрее:
<?php
$errors = array();
if(empty($_POST['login'])) $errors[] = 'Вы не ввели имя';
if(empty($_POST['pass']) || empty($_POST['pass_2'])) $errors[] = 'Вы не ввели пароль или подтверждение';
if($_POST['pass'] != $_POST['pass_2']) $errors[] = 'Пароли не совпадают';
if(empty($_POST['email'])) $errors[] = 'Вы не ввели email';

if (empty($errors))
{
$db=mysql_connect ('localhost','root','');
mysql_select_db ('test', $db);
$result=mysql_query ('INSERT INTO users SET login=\''.mysql_real_escape_string($login).'\', pass=\''.mysql_real_escape_string($pass).'\', email=\''.mysql_real_escape_string($email).'\''; // фильтруй данные, а то хакнут
unset($errors,$_POST,$login,$pass,$email);
}
if ($result)
{
?>Поздравляем с регистрацией в новом мире<?php
unset($result,$errors);
}
else
{
if(mysql_error()) echo mysql_error(); //debug, можешь убрать
foreach($errors as $error) echo $error.'<br>';
?><a href="reg.php">Вернуться к форме</a><?php
}
?>

  • 0


Посетителей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных пользователей