Foros del Web » Programando para Internet » PHP »

Validar email, no funciona

Estas en el tema de Validar email, no funciona en el foro de PHP en Foros del Web. Hola a todos,.! Tengo un formulario donde envio los datos yveo si existe el mail del usuario, si no exite mando a index un mensaje ...
  #1 (permalink)  
Antiguo 25/03/2012, 08:30
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 8 meses
Puntos: 7
Pregunta Validar email, no funciona

Hola a todos,.!

Tengo un formulario donde envio los datos yveo si existe el mail del usuario, si no exite mando a index un mensaje que no existe.

El mail lo valido con javascript, cuando preciono enviar, sin un mail valido, me sale el cartel de "email icorrecto" pero igual va a la pagina de php que verifica si esta o no el mail en la base de datos,
Lo que necesito es no si el mail es incorrecto no valla a la pagina de php...
dejo el codigo:

Código PHP:
Ver original
  1. function enviarsesion()
  2. {
  3.     var correo = document.form.email.value;
  4.     var pass = document.form.pass.value.length;
  5.     if(mail(correo))
  6.     {
  7.         if(pass > 0)
  8.         {
  9.             document.form.submit();
  10.         }else{
  11.             alert("Ingrese una Contraseña");
  12.         }
  13.     }else{
  14.         alert("Ingrese un e-mail válido");
  15.     }
  16. return 1;
  17. }
  18.  
  19.  
  20. function mail(texto)
  21. {
  22.  
  23.     var mailres = true;            
  24.     var cadena = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890@._-";
  25.      
  26.     var arroba = texto.indexOf("@",0);
  27.     if ((texto.lastIndexOf("@")) != arroba) arroba = -1;
  28.      
  29.     var punto = texto.lastIndexOf(".");
  30.                  
  31.      for (var contador = 0 ; contador < texto.length ; contador++){
  32.         if (cadena.indexOf(texto.substr(contador, 1),0) == -1){
  33.             mailres = false;
  34.             break;
  35.         }
  36.      }
  37.  
  38.     if ((arroba > 1) && (arroba + 1 < punto) && (punto + 1 < (texto.length)) && (mailres == true) && (texto.indexOf("..",0) == -1))
  39.     {
  40.         mailres = true;
  41.     }
  42.     else
  43.     {
  44.         mailres = false;
  45.     }
  46.     return mailres;
  47. }
  48.  
  49. </script>
  50.  
  51.  
  52. <div class="forA" id="fa" style="display:none"> <!--FORMULARIO DE ALTA -->
  53. <form action="altaUsuarios.php" method="post" name="form">
  54. <div class="in1"><input  type="text" name="email" id="cle"  style="border: 0;background-color: transparent" /></div>
  55. <div class="in2"><input type="text" name="pass"  style="border: 0;background-color: transparent" /></div>
  56. <div class="b1"><input type="submit" name="submit" value="Enviar"  onclick="enviarsesion()" style="border: 0;background-color: transparent"/></div>
  57. </form>

Saludos a todos y gracias.!!
fede
  #2 (permalink)  
Antiguo 25/03/2012, 12:19
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: Validar email, no funciona

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<script language="javascript" type="text/javascript">
function mostrar_informacion(txt){

//comprobacion de correo
var b=/^[^@\s]+@[^@\.\s]+(\.[^@\.\s]+)+$/

//comentar la siguiente linea si no se desea que aparezca el alert()
alert("Email " + (b.test(txt)?"":"no ") + "válido.")
//devuelve verdadero si validacion OK, y falso en caso contrario
return b.test(txt)
}
</script>
</head>

<body>
<div class="recuadro3">
<form name="formulario" action="mailto:[email protected]" onSubmit="return mostrar_informacion(this.email.value)">
<small>Correo electrónico:</small><br>
<input type="text" name="email" size="35">
<input type="submit" value="Validar" name="enviar">
</form>
</div>
</body>
</html>
  #3 (permalink)  
Antiguo 25/03/2012, 12:35
 
Fecha de Ingreso: marzo-2012
Mensajes: 3
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Validar email, no funciona

Solo debes agregar un
Cita:
return false;
en los casos en los que no se deba enviar el formulario. En tu caso actual sería en los else de la función enviarsesion.

Saludos,
  #4 (permalink)  
Antiguo 27/03/2012, 06:29
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 8 meses
Puntos: 7
Respuesta: Validar email, no funciona

Hola Muchas gracias responder, veo lo que me decis lo pongo a pruebas y te aviso
Saludos y gracias
Fede
  #5 (permalink)  
Antiguo 27/03/2012, 06:58
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: Validar email, no funciona

yo ocupo esta funcion de php para validarlo ,

ejemplo
Código PHP:
Ver original
  1. var_dump(filter_var('[email protected]', FILTER_VALIDATE_EMAIL));

Saludos
  #6 (permalink)  
Antiguo 27/03/2012, 07:59
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 8 meses
Puntos: 7
Pregunta Respuesta: Validar email, no funciona

Cita:
Iniciado por matt_1985 Ver Mensaje
yo ocupo esta funcion de php para validarlo ,

ejemplo
Código PHP:
Ver original
  1. var_dump(filter_var('[email protected]', FILTER_VALIDATE_EMAIL));

Saludos

Buenas, me interesa ese codigo, tienes algun ejemplo de como usarlo en mi formulario?..

Saludos
Fede
  #7 (permalink)  
Antiguo 27/03/2012, 08:23
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: Validar email, no funciona

debajo del form podrias usar algo así

Código PHP:
Ver original
  1. if(isset($_POST['enviar'])){
  2.     $email=$_POST['email'];
  3.     if(($email!= "")&&(filter_var($email, FILTER_VALIDATE_EMAIL))){
  4.      
  5. //si cumple esto que envie el email
  6. }
  7.  
  8. else{echo "tienes algun error"}

Saludos
  #8 (permalink)  
Antiguo 27/03/2012, 18:00
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 8 meses
Puntos: 7
Respuesta: Validar email, no funciona

Buenas. Muchas Gracias por el codigo.!!!

Saludos fede

Etiquetas: email, formulario, usuarios
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 00:58.