Проблемы с формой проверки PHP, связывающие операторы - PullRequest
0 голосов
/ 19 октября 2011

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

У меня проблемы с связыванием разных проверок с использованием 'и', я не совсем уверен, что происходит не так.

if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)){
                    // Return Error - Invalid Email
                    $msg = 'Please enter a valid email address.';
                } and (!preg_match("/\S+/", $firstname)){
      // Return Error - Firstname blank
                    $msg = 'Please enter your first name.';
  } and (!preg_match("/\S+/", $lastname)){
      // Return Error - Lastname blank
                    $msg = 'Please enter your last name.';
  }(!preg_match("/.{6,}/", $password)){
  // Return Error - password short
                    $msg = 'The password entered is too short. Please use 6 or more characters.';
  }

                else{ //submit form

Что-то мне не хватает в проверке, которую использовал бы более опытный кодер?

Надеюсь, вы сможете помочь новичку, как я ...

1 Ответ

1 голос
/ 19 октября 2011

Я не проверял ваши регулярные выражения, но вот переопределенная версия вашего кода:

$msg ="";
if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)){
    // Return Error - Invalid Email
    $msg = 'Please enter a valid email address.';
}else if(!preg_match("/\S+/", $firstname)){
    // Return Error - Firstname blank
    $msg = 'Please enter your first name.';
}else if(!preg_match("/\S+/", $lastname)){
    // Return Error - Lastname blank
    $msg = 'Please enter your last name.';
}else if((!preg_match("/.{6,}/", $password))){
    // Return Error - password short
    $msg = 'The password entered is too short. Please use 6 or more characters.';
}else if($msg == ""){

//Submit form

Это очень простой способ сделать что-то, но я рекомендую взять несколько руководств по валидациитехники регистрируют формы в следующий раз.
Вот несколько хороших уроков:
http://www.smashingmagazine.com/2009/07/07/web-form-validation-best-practices-and-tutorials/
Видео часть 1:
http://www.youtube.com/watch?v=t8ehovDeMuU
Видео часть 2:
http://www.youtube.com/watch?v=FlwlpRQo6II

...