Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Validar email no registrado

Estas en el tema de Validar email no registrado en el foro de PHP en Foros del Web. Hola, Estoy realizando una comunidad web con cuentas de usuario y a la hora de hacer el formulario de registro,no se como comprobar que el ...
  #1 (permalink)  
Antiguo 26/06/2014, 16:27
 
Fecha de Ingreso: febrero-2011
Mensajes: 19
Antigüedad: 13 años, 2 meses
Puntos: 2
Pregunta Validar email no registrado

Hola,

Estoy realizando una comunidad web con cuentas de usuario y a la hora de hacer el formulario de registro,no se como comprobar que el email no haya sido registrado ya. Con el resto de campos (usuario, contraseña,..) no he tenido problemas, ya que no requieren una consulta a la base de datos.

Esta es la función que tengo, que me valida el email con un filtro (se que no es la mejor forma de hacerlo pero me ha parecido la mas sencilla):
Código:
function validaremail( $email )
{
    if(!filter_var($email,FILTER_VALIDATE_EMAIL )) //si el email no pasa por el filtro...
    
        {
            return '<span class="error">El email no es valido</span>';
        }    
            
}
Necesito completarla para que me compruebe que el email no ha sido registrado ya. Los emails se insertan en la columna "Email" de la tabla "registro" de una base llamada "comunidad_db" que tengo en localhost.

Disculpar mi ignorancia, estoy empezando con php y me estoy volviendo loco! Me he pasado horas buscando y no encuentro nada sencillo (desde mi punto de vista) que me funcione.

Muchas gracias de antemano y un saludo.
  #2 (permalink)  
Antiguo 26/06/2014, 16:33
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Validar email no registrado

Pues es fácil: haces una consulta buscando algún registro que contenga dicho correo, el resultado es obvio.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 26/06/2014, 17:28
 
Fecha de Ingreso: febrero-2011
Mensajes: 19
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: Validar email no registrado

Cita:
Iniciado por pateketrueke Ver Mensaje
Pues es fácil: haces una consulta buscando algún registro que contenga dicho correo, el resultado es obvio.
Gracias por contestar @pateketrueke,

El problema es que no controlo nada, y no se exactamente como hacer esa consulta, ni tampoco como intergrarla dentro de la función que ya tengo. Te agradecería que me lo explicases mas detalladamente, con un ejemplo tal vez, de manera que sepa que codigo poner (ando muy perdido).

Gracias de antemano.
  #4 (permalink)  
Antiguo 26/06/2014, 17:31
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Validar email no registrado

Bueno, entonces tu problema es otro, ¿no sabes realizar consultas a la base de datos?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 26/06/2014, 17:42
 
Fecha de Ingreso: febrero-2011
Mensajes: 19
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: Validar email no registrado

Cita:
Iniciado por pateketrueke Ver Mensaje
Bueno, entonces tu problema es otro, ¿no sabes realizar consultas a la base de datos?
La verdad es que no, o al menos este tipo de consultas. Estoy probando con esto:
Código PHP:
$query 'SELECT Email FROM registro WHERE Email LIKE ' $email
de tal manera que la función me queda así:
Código PHP:
function validaremail$email )
{
    if(!
filter_var($email,FILTER_VALIDATE_EMAIL )) //si el email no pasa por el filtro...
    
        
{
            return 
'<span class="error">El email no es valido</span>';
        }
        
        else{   
        
        
                
$link mysql_connect'localhost''root''' );
                
$selected mysql_select_db'comunidad_db'$link );
                
$query 'SELECT Email FROM registro WHERE Email LIKE ' $email
                
$result mysql_query$query$link );
                
                if( !
$result // No este cogido
                    
{
                    return 
'';
                    
                    } else  
                        {
                        return 
'<span class="error">Esta direcci&oacute;n ya est&aacute; en uso, por favor elija otra</span>';
                        
                        }
                        
                
mysql_close$link );         
                                       
              } 
Pero no me funcióna, no se qué es lo que falla. Aunque repita email, los datos se insertan, y no salta el span con el error.


A ver si puedes aclararlo. Gracias.
  #6 (permalink)  
Antiguo 26/06/2014, 17:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Validar email no registrado

Pues te sugiero entonces que aprendas primero a hacer consultas, es evidente que no tienes idea de cómo estructurar una consulta de manera correcta.

Por favor revisa en las FAQ's y Wiki del foro por información al respecto, eso ya lo deberías saber hacer.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 26/06/2014, 18:09
 
Fecha de Ingreso: febrero-2011
Mensajes: 19
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: Validar email no registrado

Cita:
Iniciado por pateketrueke Ver Mensaje
Pues te sugiero entonces que aprendas primero a hacer consultas, es evidente que no tienes idea de cómo estructurar una consulta de manera correcta.

Por favor revisa en las FAQ's y Wiki del foro por información al respecto, eso ya lo deberías saber hacer.

Bueno, mañana con tiempo revisaré lo que me has comentado, a ver si me aclaro un poco con el tema y consigo resolverlo.

Me da la impresion de que no te han sentado muy bien mis cuestiones, o al menos mi manera de formularlas. Si es así te pido disculpas, uno no nace sabiendo y no siempre sabe como buscar ayuda. Es evidente que me falta mucho por aprender.

Aun así, creo que se trata de un problema puntual, que me corre algo de prisa, por lo que agradeceré el punto de vista de algún que otro amable forero.

Gracias por contestar.
  #8 (permalink)  
Antiguo 26/06/2014, 19:08
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Validar email no registrado

Bueno el asunto radica en que si no sabes hacer consultas la cantidad de cosas que hay que explicarte se dilatan mucho. Pero a grosso modo el flujo debe de ser el siguiente:

1. Validad que sea un email valido
2. Te conectas a la base de datos.
3. Ejecuta la consulta en la base de datos para determinar si existe o no el registro. No uses LIKE ya que es para patrones de búsqueda. Usa = pero como bien apunta @pateketrueke es muy importante que te leas lo más básico de MySql
4. Si hay un resultados muestras un error, de lo contrario continuas con tu registro.

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #9 (permalink)  
Antiguo 27/06/2014, 01:34
 
Fecha de Ingreso: febrero-2011
Mensajes: 19
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: Validar email no registrado

Cita:
Iniciado por jonni09lo Ver Mensaje
Bueno el asunto radica en que si no sabes hacer consultas la cantidad de cosas que hay que explicarte se dilatan mucho. Pero a grosso modo el flujo debe de ser el siguiente:

1. Validad que sea un email valido
2. Te conectas a la base de datos.
3. Ejecuta la consulta en la base de datos para determinar si existe o no el registro. No uses LIKE ya que es para patrones de búsqueda. Usa = pero como bien apunta @pateketrueke es muy importante que te leas lo más básico de MySql
4. Si hay un resultados muestras un error, de lo contrario continuas con tu registro.

Saludos
Muchas gracias jonni09lo,

Revisando las FAQS lo he solucionado, con la consulta:
Código PHP:
mysql_query("SELECT usuario FROM tabla WHERE usuario='$user'"
y la función
Código PHP:
mysql_num_rows() 
Gracias y saludos.

Etiquetas: gracias, registro, 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 18:34.