Foros del Web » Programando para Internet » PHP »

Problema con Validar email

Estas en el tema de Problema con Validar email en el foro de PHP en Foros del Web. Hola a todos, tengo un código que quiero que si es el correo repetido me de un numero , y si no es repetido que ...
  #1 (permalink)  
Antiguo 09/06/2020, 14:30
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 7 meses
Puntos: 7
Pregunta Problema con Validar email

Hola a todos, tengo un código que quiero que si es el correo repetido me de un numero , y si no es repetido que siga el código,

El problema es que se fija únicamente en el primer registro de la base de datos y no en todos..

dejo codigo PHP;

Código PHP:
Ver original
  1. $userMail= mysqli_real_escape_string($cone,$_POST["userMail"]);
  2. $userNombre= mysqli_real_escape_string($cone,$_POST["userNombre"]);
  3. $userMail = strtolower($userMail);
  4.  
  5.  
  6. $emailSaneado = filter_var($userMail, FILTER_SANITIZE_EMAIL);
  7. if (filter_var($userMail, FILTER_VALIDATE_EMAIL)) {
  8.     //echo "Esta dirección de correo saneada (b) SI válida.\n";
  9.  
  10.     $sql ="SELECT * FROM cl_usuarios WHERE user_mail='$userMail'";
  11.     $result =mysqli_query($cone,$sql);
  12.    $num_row = mysqli_num_rows($result);
  13.    if ($num_row=="1"){
  14.    
  15.         $data=mysqli_fetch_array($result);
  16.         $_SESSION["user_mail"]= $data["user_mail"];
  17.        // $_SESSION["user_name"]= $data["user_name"];
  18.        // $_SESSION["user_estado"]= $data["user_estado"];
  19.  
  20.         echo 1;
  21.  
  22.  
  23.    }
  24.    
  25.  
  26.  
  27. }else{
  28.     //echo "Esta dirección de correo saneada (b) NO es válida.\n";
  29.     echo 2;
  30.  
  31. }
  32. echo 43;



Los "echo 2, 1 ,43" los recibe un documento html con ajax,
Muchas Gracias de antemano por su tiempo.!!!
Saludos Cordiales
fede
  #2 (permalink)  
Antiguo 10/06/2020, 01:58
 
Fecha de Ingreso: enero-2015
Mensajes: 205
Antigüedad: 9 años, 1 mes
Puntos: 18
Respuesta: Problema con Validar email

buenas,

No te he entendido muy bien lo que quieres hacer
si lo que necesitas es número contando los registro de base de datos para insertar uno nuevo sería así:

Código PHP:
Ver original
  1. $sql ="SELECT count(*) FROM cl_usuarios";
  #3 (permalink)  
Antiguo 10/06/2020, 11:18
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 7 meses
Puntos: 7
Pregunta Respuesta: Problema con Validar email

Hola Gracias por responder,

Solamente necesito que verifique en toda la base de dato se existe un email, es para validar un formulario y que no puedan registrarse dos veces con el mismo email...

No se porque solamente recorre el 1 registro de mi base de datos.

saludos y muchas gracias . !!
  #4 (permalink)  
Antiguo 10/06/2020, 11:45
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.135
Antigüedad: 13 años
Puntos: 169
Respuesta: Problema con Validar email

proba esto sin comillas:
Código PHP:
Ver original
  1. if ($num_row == 1)
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #5 (permalink)  
Antiguo 10/06/2020, 16:32
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 7 meses
Puntos: 7
Pregunta Respuesta: Problema con Validar email

Hola He probado, y sigue haciendo lo mismo, recorre unsolo registro,
sera esta parte de validar email ?

Código PHP:
Ver original
  1. $userMail= mysqli_real_escape_string($cone,$_POST["userMail"]);
  2. $userNombre= mysqli_real_escape_string($cone,$_POST["userNombre"]);
  3. $userMail = strtolower($userMail);
  4.  
  5.  
  6. $emailSaneado = filter_var($userMail, FILTER_SANITIZE_EMAIL);
  7. if (filter_var($userMail, FILTER_VALIDATE_EMAIL)) {
  8.     //echo "Esta dirección de correo saneada (b) SI válida.\n";
  9.  
  10.     $sql ="SELECT * FROM cl_usuarios WHERE user_mail='$userMail'";
  11.     $result =mysqli_query($cone,$sql);
  12.    $num_row = mysqli_num_rows($result);

Muchas gracias por tu ayuda... es rarisimo porque no recorre todo....
  #6 (permalink)  
Antiguo 10/06/2020, 17:06
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 17 años, 11 meses
Puntos: 120
Respuesta: Problema con Validar email

Cita:
Iniciado por fedefrankk Ver Mensaje
Hola He probado, y sigue haciendo lo mismo, recorre unsolo registro,
sera esta parte de validar email ?

Código PHP:
Ver original
  1. ......
  2.     $sql ="SELECT * FROM cl_usuarios WHERE user_mail='$userMail'";
  3.     $result =mysqli_query($cone,$sql);
  4.    $num_row = mysqli_num_rows($result);
..........
Muchas gracias por tu ayuda... es rarisimo porque no recorre todo....
por lo que veo no recorre todo, por 2 motivos.

1: en tu consulta SQL estas explicitamente indicando "user_mail='$userMail'" que te retorne todos los registros que tengan el mismo "user_mail" y es ovio que solo te dara 1 o 0 , si tus tablas estan correctamente realizadas, si te da mas, es que error de la creacion de la tabla donde deberias poner como "UNIQUE" el campo de user_mail

2: en tu codigo php como estas usando las funciones de mysqli, tienes que hacer uso de un LOOP, en php tienes el mas comun que es el WHILE
Código PHP:
while($row mysqli_fetch_array($result))
{
    echo 
$rows['user_mail'] ;
    echo 
PHP_EOL;

aunque esto es innecesario ya que en tu primer post, estas indicando que quieres saber si el correo existe o no, y eso ya lo hiciste con tu SQL

Código MySQL:
Ver original
  1. SELECT * FROM cl_usuarios WHERE user_mail='$userMail'

si existe algun email, la consulta te retornara los valores y la cantidad
de no existir simplemente no te retornara nada
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.com/pools/c/8lmNLmWnG9
  #7 (permalink)  
Antiguo 10/06/2020, 17:29
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 7 meses
Puntos: 7
Pregunta Respuesta: Problema con Validar email

Hola Gracias por contestar,.

Es verdad. es un problema ,mas de lógica que de programación... ahora lo veo bien y te comento

Muchas gracias por tu repuesta.

Etiquetas: correo, dato, email, post
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 03:37.