Foros del Web » Programando para Internet » PHP »

Ver si existe email

Estas en el tema de Ver si existe email en el foro de PHP en Foros del Web. Buenas a todos, tenia instalado appserv en mi pc, todo funcionaba bien, hasta que instale xamp.. Bueno el asunto es el siguiente, lo que quiero ...
  #1 (permalink)  
Antiguo 22/09/2014, 17:11
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 818
Antigüedad: 12 años, 2 meses
Puntos: 7
Pregunta Ver si existe email

Buenas a todos, tenia instalado appserv en mi pc, todo funcionaba bien, hasta que instale xamp..

Bueno el asunto es el siguiente, lo que quiero hacer es buscar si un email esta duplicado o no, si esta duplicado no lo guardo, y si no esta lo guardo..

el codigo

Código PHP:
Ver original
  1. $usemail=$_POST['usemail'];
  2.  
  3. include("../conexion/conectar.php");
  4. $cone=conectar();
  5.  
  6. $datos=mysqli_query($cone,"select email from usuarios WHERE email=$usemail") or  die("Problemas en el select:".mysqli_error());
  7. while ($re=mysqli_fetch_array($datos)){
  8. echo $re['usemail'];
  9.  
  10. }

me larga el siguiente error

Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\xampp\htdocs\002013\adminadmin\guardocliente.ph p on line 50

la linea 50 es:
Código PHP:
Ver original
  1. $datos=mysqli_query($cone,"select email from usuarios WHERE email=$usemail") or  die("Problemas en el select:".mysqli_error());
Si alguien tiene algo mas avanzado o algo que me ayude se lo agradecere
desde ya muchas gracias
saludos a todos
fede
  #2 (permalink)  
Antiguo 22/09/2014, 17:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 6 meses
Puntos: 2534
Respuesta: Ver si existe email

Por favor consulta el manual, el error es muy claro:
Cita:
mysqli_error() expects exactly 1 parameter, 0 given
Es decir, "la función mysqli_error() espera un argumento, 0 dados", y claramente no le estás pasando ninguno.

Además tu consulta de SQL está mal escrita pues no escapas apropiadamente la dirección de correo, ¿cómo es posible que antes funcionara si siempre estuvo mal?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 22/09/2014, 17:22
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 5 años, 3 meses
Puntos: 44
Respuesta: Ver si existe email

Tenés que pasarle la conexión como parámetro a mysqli_error para que funcione.

Saludos
  #4 (permalink)  
Antiguo 22/09/2014, 17:43
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 818
Antigüedad: 12 años, 2 meses
Puntos: 7
Pregunta Respuesta: Ver si existe email

Hola, gracias por responder, si andaba el otro codigo, porque no le ponia la i...

ahora sale bien pero dice algo asi:


mi codigo nuevamente :

Código PHP:
Ver original
  1. echo $usemail=$_POST['usemail'];
  2. $cone=conectar();
  3.  
  4. $datos=mysqli_query($cone,"select email from usuarios WHERE email=$usemail") or  die("Problemas en el select:".mysqli_error($cone));
  5. while ($re=mysqli_fetch_array($datos)){
  6. echo $re['usemail'];
  7.  
  8. }

Imprime lo siguiente:

[email protected] Problemas en el select:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@gmail.com' at line 1

Se agradece sus tiempo,
gracias saludos a todos
fede
  #5 (permalink)  
Antiguo 22/09/2014, 17:54
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 5 años, 3 meses
Puntos: 44
Respuesta: Ver si existe email

Estás pasando el mail sin las comillas Y MySQL no lo reconoce como un string. Probá de esta manera:

Código PHP:
"select email from usuarios WHERE email='$usemail'" 
  #6 (permalink)  
Antiguo 22/09/2014, 18:07
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 818
Antigüedad: 12 años, 2 meses
Puntos: 7
Respuesta: Ver si existe email

Hola.!! ahora si.!! muchas gracias.

La ultima duda... y no te robo mas tiempo

hice asi:

Código PHP:
Ver original
  1. $datos=mysqli_query($cone,"select email from usuarios WHERE email='$usemail'") or  die("Problemas en el select:".mysqli_error($cone));
  2. while ($re=mysqli_fetch_array($datos)){
  3. //echo $re['email'];
  4.  
  5. if ($re['email']==""){
  6.    
  7.     echo " no existe email";
  8.    
  9.     }else{
  10.        
  11.         echo "si existe el mail";
  12.        
  13.         }
  14.  
  15.  
  16. }
Muestra unicamente cuando el mail esta repetido, de lo contrario no muestra nada, eso se deve a que busco con SELEC en el campo email?.

saludos y gracias.!!!
fede
  #7 (permalink)  
Antiguo 22/09/2014, 18:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 6 meses
Puntos: 2534
Respuesta: Ver si existe email

Cita:
Muestra unicamente cuando el mail esta repetido, de lo contrario no muestra nada, eso se deve a que busco con SELEC en el campo email?.
Definitivamente, si no existe dicho correo en la BD entonces no tendrás resultados, por ende jamás entrará al while().

Lo lógico es: si devuelve algún resultado entonces existe dicho registro en la BD.

O bien, haces un COUNT() y analizas el resultado o verificas el valor de mysqli_num_rows() para el mismo efecto.

Consulta el manual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 22/09/2014, 18:16
 
Fecha de Ingreso: agosto-2013
Ubicación: Talca
Mensajes: 40
Antigüedad: 6 años, 1 mes
Puntos: 1
Respuesta: Ver si existe email

Me parece raro que te diera error en el mysql_error.
Prueba haciendo la consulta asi:

Código PHP:
Ver original
  1. $sql = "SELECT * FROM usuarios WHERE email = '".$email."'";
  2.  
  3. $ejecutar = mysql_query($sql, $con) OR DIE ("Fallo ".mysql_error());

Y para comprobar de que existe usa mysql_num_rows

Código PHP:
Ver original
  1. if(mysql_num_rows($ejecutar) > 0)
  2.  echo "El mail ".$email." existe";
  3. else
  4.  echo "No existe";

Ojala te sirva. Saludos !!.
  #9 (permalink)  
Antiguo 23/09/2014, 17:38
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 818
Antigüedad: 12 años, 2 meses
Puntos: 7
Respuesta: Ver si existe email

Buenas Muchas Gracias por lo datos, son todos bienvenidos,
se agradece el tiempo de Ustedes
Gracias
saludos.!!!
fede

Etiquetas: email, mysql, select, sql, 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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 05:58.