Foros del Web » Programando para Internet » PHP »

Validar e-mail en campo de formulario.

Estas en el tema de Validar e-mail en campo de formulario. en el foro de PHP en Foros del Web. Hola Estoy probando la validación de un formulario y funciona bien, el único pero es que no consigo validar si el campo del e-mail lleva ...
  #1 (permalink)  
Antiguo 30/04/2010, 08:05
 
Fecha de Ingreso: marzo-2008
Mensajes: 186
Antigüedad: 16 años, 8 meses
Puntos: 3
Validar e-mail en campo de formulario.

Hola

Estoy probando la validación de un formulario y funciona bien, el único pero es que no consigo validar si el campo del e-mail lleva un símbolo @ o no, no sé cómo incluirlo, dejo el código php aquí:

Código PHP:
Ver original
  1. <?php
  2. //Datos de acceso
  3. include("cgi-bin/acceso.inc.php");
  4. //Comprobamos si esta definido 'submit'
  5. if (isset($_POST['submit'])) {
  6. //Comprobamos si NO ESTÁN vacíos los campos
  7.     if (!empty($_POST['Nombre']) && !empty($_POST['Email']) && !empty($_POST['Asunto']) && !empty($_POST['Mensaje']) && strlen($_POST['Nombre'])>4 && strlen($_POST['Asunto'])>6){
  8.     //Comprobamos primero que no hayan strip_tags
  9.     $Nombre = strip_tags($_POST['Nombre']);
  10.     $Email = strip_tags($_POST['Email']);
  11.     $Asunto = strip_tags($_POST['Asunto']);
  12.     $Mensaje = strip_tags($_POST['Mensaje']);
  13.     //Si están completos, los guardamos en la base de datos
  14.       $sql = "INSERT INTO contacto (Nombre, Email, Asunto, Mensaje )
  15. VALUES ('$Nombre', '$Email', '$Asunto', '$Mensaje')";
  16.         $resultado = mysql_query($sql);
  17.     }
  18.         //Mostramos una confirmación al usuario
  19.         if ($resultado) {
  20.             echo "<p class='confirmacion'><img src='img/aceptar.png' /><br />Datos <strong>enviados</strong>, recibir&aacute; una respuesta pronto.</p>";
  21.         } else {
  22.         //En caso contrario, avisamos que no se pudo establecer la conexión
  23.             echo "<p class='confirmacion'><img src='img/cancelar.png' /><br />Datos <strong>no enviados</strong>, compruebe que ha rellenado todos los campos correctamente.</p>";
  24.     }
  25.     //Creamos un vínculo volver
  26.     echo "[ <a href='$_SERVER[PHP_SELF]'>Volver</a> ]";
  27. } else {

A partir del else no he incluido el resto del código php al no ser necesario para no extender más la publicación del código ni tampoco el formulario, el resto está bien, mi pregunta es que código debo incluir para validar el mail, he probado con los que he visto en el foro pero no me funciona.

Espero vuestra ayuda si es posible. gracias por anticipado.
  #2 (permalink)  
Antiguo 30/04/2010, 08:06
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 2 meses
Puntos: 334
Respuesta: Validar e-mail en campo de formulario.

Código PHP:
Ver original
  1. if(!preg_match('/^([\w\.]{3,30})@([\w-]{2,20})\.([a-z0-9]{2,6})(\.[a-z0-9]{2,6}){0,3}$/i', $form_email)){
  2.     $form_response .= "<div>El email ingresado es invalido</div>";
  3. }
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 30/04/2010, 09:24
 
Fecha de Ingreso: marzo-2008
Mensajes: 186
Antigüedad: 16 años, 8 meses
Puntos: 3
Respuesta: Validar e-mail en campo de formulario.

Perdona hidek o quién me pueda ayudar, dónde puedo poner el código, he probado en varias partes pero no me lo aplica. disculpa la torpeza mía. Mi idea es que figure en la siguiente línea con las modificaciones que sean precisas:

Código PHP:
Ver original
  1. #
  2. if (!empty($_POST['Nombre']) && !empty($_POST['Email']) && !empty($_POST['Asunto']) && !empty($_POST['Mensaje']) && strlen($_POST['Nombre'])>4 && strlen($_POST['Asunto'])>6){

He probado del código que me has pasado poniendo sólo esto que iría a continuación de ...['Asunto'])>6 && AQUÍ IRÍA:

Código PHP:
Ver original
  1. !preg_match('/^([\w\.]{3,30})@([\w-]{2,20})\.([a-z0-9]{2,6})(\.[a-z0-9]{2,6}){0,3}$/i', $form_email)

Pero no me funciona.
  #4 (permalink)  
Antiguo 30/04/2010, 13:41
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 21 años
Puntos: 89
Respuesta: Validar e-mail en campo de formulario.

También podrías probar la librería filter : http://cl.php.net/manual/en/book.filter.php
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.

Etiquetas: e-mail, formulario, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:20.