Pregunta

Tengo un formulario de registro en mi sitio web y necesito validar la entrada antes de crear la cuenta. He leído que la validación de JavaScript se puede deshabilitar fácilmente, por lo que he optado por PHP.

Tengo problemas para vincular las diferentes validaciones usando 'y' no estoy muy seguro de lo que va mal.

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

¿Hay algo que me falta de la validación que usaría un codificador más experimentado?

Espero que puedas ayudar a un novato como yo ...

¿Fue útil?

Solución

No revisé sus expresiones regulares, pero aquí hay una versión redefinida de su código:

$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

Esta es una forma muy simple de hacer las cosas, pero recomiendo tomar algunos tutoriales de técnicas de validación de formularios de registro la próxima vez.
Aquí hay algunos buenos tutoriales:
http://www.smashingmagazine.com/2009/07/07/web-form-validation-best-practices-and-tutorials/
Video Parte 1:
http://www.youtube.com/watch?v=t8ehovdemuu
Video Parte 2:
http://www.youtube.com/watch?v=flwlprqo6ii

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top