PHP - Ayuda con validacion de email existente

 
Vista:

Ayuda con validacion de email existente

Publicado por Flo (1 intervención) el 29/07/2018 07:59:31
Hola! estoy tratando de validar si un mail existe, en este caso deberia retornar un mensaje al usuario que ese mail ya esta registrado. El problema es que al intentar verificar si el numero de filas de la consulta (0 en el caso de que no exista o 1 en el caso de que si exista) ingresa a las dos condiciones. Es decir que imprime que si existe y que no existe.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
if ($ok==true){//OK ES VERDADERO PORQUE TODOS LOS DATOS SON LOS CORRECTOS
   include "conexion.php";
   $link=conexion();
   $aux=mysqli_query($link,"SELECT * FROM usuarios WHERE email = '$mail' ");// me fijo si existe el mail o sino que diga error
 
   $s =mysqli_num_rows($aux);
   if($s== 0){ // obtengo el numero de filas de la variable, si es 0 es porque el mail no esta registrado.
       mysqli_query($link,"INSERT INTO usuarios (email,nombre,apellido,foto,clave,rol) VALUES ('$mail','$nombre','$apellido','$foto','$clave1','lector')"); // agrego a la base de datos.
     echo '<script> alert ("Usuario registrado correctamente");</script>';
    // echo '<script> window.location="login.php"; </script>';
     echo'se guardo';
   } elseif($s!== 0)
     echo '<script> alert ("El usuario que intenta registrar ya existe");</script>';
     //echo '<script> window.location="login.php"; </script>';  
    echo 'no se guardo';
}
 
else echo 'Algun dato es incorrecto';
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con validacion de email existente

Publicado por xve (6935 intervenciones) el 29/07/2018 20:03:34
Hola Flo, la unica manera de que te aparezcan los dos mensajes, es porque el código se ejecuta dos veces... ya que si utilizar un if() elseif(), solo se entrara en uno de los dos.

Lo que me parece que tienes mal los cierres de {}..

Puede ser que te aparezca "se guardo" y "no se guardo" juntos??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar