Foros del Web » Programando para Internet » PHP »

validar q el correo no este en uso en mi base de datos

Estas en el tema de validar q el correo no este en uso en mi base de datos en el foro de PHP en Foros del Web. hola tengo un formulario de registro q es este y queria validar q el correo no este en uso en mi base de datos pero ...
  #1 (permalink)  
Antiguo 22/02/2011, 11:16
 
Fecha de Ingreso: septiembre-2010
Mensajes: 10
Antigüedad: 13 años, 7 meses
Puntos: 0
Busqueda validar q el correo no este en uso en mi base de datos

hola
tengo un formulario de registro q es este
y queria validar q el correo no este en uso
en mi base de datos pero no c como hacerlo
Código PHP:
 <?php   
// Colombia Warez el mejor sitio 


  // validacion de la capcha code
session_start();
    include_once (
'captcha/securimage_1.php');
    
$securimage = new Securimage();
    if (
$securimage->check($_POST['captchacode1']) == false) {
  
// el codigo es correcto 
  
  // el codigo es incorrecto 
  
die('El código que has ingresado es incorrecto. Vuelve a intentarlo. <br><a href="registro"><b>Atras</b></a>');
}
      
    
// Coneccion con la base de datos 
       
include('inc/config.php');
    
// selecciona la base de datos
    
mysql_select_db($mysql_db1);
        
$username mysql_real_escape_string($_POST['username']);
        
$password mysql_real_escape_string($_POST['password']);
        
$rl_name mysql_real_escape_string($_POST['rl_name']);
        
$email mysql_real_escape_string($_POST['email']);
        
$code $_POST['code'];
        
// validacion de campos 
        
if($username == "" OR $password == "" OR $email == "" OR $rl_name == "" OR $code == "")
            {
            echo 
"Por favor, rellene todos los campos correctamente!<br> <a href=\"registro\"><b>Atras</b></a></div>";
            }
        else
            {
            
$result mysql_query("SELECT id FROM account WHERE login LIKE '$username'"); 
            
$menge mysql_num_rows($result); 
            
            if(
$menge == 0)
                {
        
        
                
$sql "INSERT INTO account SET login = '".$username."', password = PASSWORD('".$password."'), real_name = '".$rl_name."', email = '".$email."',social_id = '".$code."'";
                
$result mysql_query($sql);
                if(
$result) { echo 'Se Ha creado una cuenta De Manera Satisfactoria En Nuestra Base De datos.<br><a href="index.php"><b>Ir a Inicio</b></a>'; } else { echo 'La cuenta no se pudo crear! <a href=\"index.php?sys=reg\"><b>Atras</b></a>'; }
                }
            else
                {
                echo 
"El Nombre de usuario ya está en uso!<br> Por favor, elija otro!<br><a href=\"registro\"><b>Atras</b></a>";
                }
            }


?>
si me pueden brindar su ayuda se los agradeceria
saludos a todos
  #2 (permalink)  
Antiguo 22/02/2011, 11:18
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 2 meses
Puntos: 128
Respuesta: validar q el correo no este en uso en mi base de datos

Código MySQL:
Ver original
  1. Select from tabla where correo='$correo'

si devuelve "" se logea sino que arroje el mensaje tienes que hacer la comparacion antes del Insert
  #3 (permalink)  
Antiguo 22/02/2011, 11:27
 
Fecha de Ingreso: septiembre-2010
Mensajes: 10
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: validar q el correo no este en uso en mi base de datos

quedaria algo mas o menos asi ?

Código PHP:
<?php   
// Colombia Warez el mejor sitio 


  // validacion de la capcha code
session_start();
    include_once (
'captcha/securimage_1.php');
    
$securimage = new Securimage();
    if (
$securimage->check($_POST['captchacode1']) == false) {
  
// el codigo es correcto 
  
  // el codigo es incorrecto 
  
die('El código que has ingresado es incorrecto. Vuelve a intentarlo. <br><a href="registro"><b>Atras</b></a>');
}
      
    
// Coneccion con la base de datos 
       
include('inc/config.php');
    
// selecciona la base de datos
    
mysql_select_db($mysql_db1);
        
$username mysql_real_escape_string($_POST['username']);
        
$password mysql_real_escape_string($_POST['password']);
        
$rl_name mysql_real_escape_string($_POST['rl_name']);
        
$email mysql_real_escape_string($_POST['email']);
        
$code $_POST['code'];
        
// validacion de campos 
        
if($username == "" OR $password == "" OR $email == "" OR $rl_name == "" OR $code == "")
            {
            echo 
"Por favor, rellene todos los campos correctamente!<br> <a href=\"registro\"><b>Atras</b></a></div>";
            }
        else
            {
            
$result mysql_query("SELECT id FROM account WHERE login LIKE '$username'"); 
            
$menge mysql_num_rows($result); 
            
            if(
$menge == 0)
                {
        
                  
                
$sql "SELECT FROM account WHERE email = ".$email.""
                
if { echo 'El email esta en uso '; }
        else {
                
$sql "INSERT INTO account SET login = '".$username."', password = PASSWORD('".$password."'), real_name = '".$rl_name."', email = '".$email."',social_id = '".$code."'";
                
$result mysql_query($sql);
                if(
$result) { echo 'Se Ha creado una cuenta De Manera Satisfactoria En Nuestra Base De datos.<br><a href="index.php"><b>Ir a Inicio</b></a>'; } else { echo 'La cuenta no se pudo crear! <a href=\"index.php?sys=reg\"><b>Atras</b></a>'; }
                }
            else
                {
                echo 
"El Nombre de usuario ya está en uso!<br> Por favor, elija otro!<br><a href=\"registro\"><b>Atras</b></a>";
                }
            }
             }

?>
  #4 (permalink)  
Antiguo 22/02/2011, 11:29
Avatar de s00rk  
Fecha de Ingreso: octubre-2010
Ubicación: Mexico
Mensajes: 238
Antigüedad: 13 años, 5 meses
Puntos: 48
Respuesta: validar q el correo no este en uso en mi base de datos

Es lo mismo que hicistes para el nombre de usuario solo lo haras para el email
  #5 (permalink)  
Antiguo 22/02/2011, 11:32
Avatar de s00rk  
Fecha de Ingreso: octubre-2010
Ubicación: Mexico
Mensajes: 238
Antigüedad: 13 años, 5 meses
Puntos: 48
Respuesta: validar q el correo no este en uso en mi base de datos

solo agrega esto despues del if de menge
quedaria entonces asi

Código PHP:
Ver original
  1. $q = mysql_query("SELECT id from account where email='$email'");
  2. if(mysql_num_rows($q) != 0) {
  3. echo "El email $email esta en uso";
  4. die();
  5. }
  #6 (permalink)  
Antiguo 22/02/2011, 11:34
 
Fecha de Ingreso: septiembre-2010
Mensajes: 10
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: validar q el correo no este en uso en mi base de datos

voy a tratar asi
voy a hacer la prueba y les cuento como me fue
saludos

Código PHP:
<?php   
// Colombia Warez el mejor sitio 


  // validacion de la capcha code
session_start();
    include_once (
'captcha/securimage_1.php');
    
$securimage = new Securimage();
    if (
$securimage->check($_POST['captchacode1']) == false) {
  
// el codigo es correcto 
  
  // el codigo es incorrecto 
  
die('El código que has ingresado es incorrecto. Vuelve a intentarlo. <br><a href="registro"><b>Atras</b></a>');
}
      
    
// Coneccion con la base de datos 
       
include('inc/config.php');
    
// selecciona la base de datos
    
mysql_select_db($mysql_db1);
        
$username mysql_real_escape_string($_POST['username']);
        
$password mysql_real_escape_string($_POST['password']);
        
$rl_name mysql_real_escape_string($_POST['rl_name']);
        
$email mysql_real_escape_string($_POST['email']);
        
$code $_POST['code'];
        
// validacion de campos 
        
if($username == "" OR $password == "" OR $email == "" OR $rl_name == "" OR $code == "")
            {
            echo 
"Por favor, rellene todos los campos correctamente!<br> <a href=\"registro\"><b>Atras</b></a></div>";
            }
        else
            {
            
$result mysql_query("SELECT id FROM account WHERE login LIKE '$username'"); 
            
$menge mysql_num_rows($result); 
            
            if(
$menge == 0)
                {
        
                  
       
                
$sql "INSERT INTO account SET login = '".$username."', SET password = PASSWORD('".$password."'), real_name = '".$rl_name."', email = '".$email."',social_id = '".$code."'";
                
$result mysql_query($sql);
                if(
$result) { echo 'Se Ha creado una cuenta De Manera Satisfactoria En Nuestra Base De datos.<br><a href="index.php"><b>Ir a Inicio</b></a>'; } else { echo 'La cuenta no se pudo crear! <a href=\"index.php?sys=reg\"><b>Atras</b></a>'; }
                }
            else
                {
                echo 
"El Nombre de usuario ya está en uso!<br> Por favor, elija otro!<br><a href=\"registro\"><b>Atras</b></a>";
                }
                {
                echo 
"el Correo esta en uso ";
                }
            }
          
          

?>
  #7 (permalink)  
Antiguo 22/02/2011, 11:36
 
Fecha de Ingreso: septiembre-2010
Mensajes: 10
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: validar q el correo no este en uso en mi base de datos

voy a tratar tambien como dice s00rk
gracias
saludos
  #8 (permalink)  
Antiguo 22/02/2011, 11:52
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 66
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: validar q el correo no este en uso en mi base de datos

mejor consulta ambos para que no estés llamando a la bd a cada rato
Código PHP:
Ver original
  1. mysql_query("SELECT correo,usuario FROM usuarios WHERE correo='$correo' or usuario='$usuario'")
y luego al contar de dará u 0 o mas,
si es 0 es que es valido y si no es que no es valido



pdt.-> obviamente con los nombres de tus variables y tus tablas

Última edición por cosobo; 22/02/2011 a las 11:53 Razón: el (
  #9 (permalink)  
Antiguo 22/02/2011, 12:36
 
Fecha de Ingreso: septiembre-2010
Mensajes: 10
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: validar q el correo no este en uso en mi base de datos

gracias s00rk
me funciono perfectamente
el code quedo asi
Código PHP:
<?php   
// Colombia Warez el mejor sitio 


  // validacion de la capcha code
session_start();
    include_once (
'captcha/securimage_1.php');
    
$securimage = new Securimage();
    if (
$securimage->check($_POST['captchacode1']) == false) {
  
// el codigo es correcto 
  
  // el codigo es incorrecto 
  
die('El código que has ingresado es incorrecto. Vuelve a intentarlo. <br><a href="registro"><b>Atras</b></a>');
}
      
    
// Coneccion con la base de datos 
       
include('inc/config.php');
    
// selecciona la base de datos
    
mysql_select_db($mysql_db1);
        
$username mysql_real_escape_string($_POST['username']);
        
$password mysql_real_escape_string($_POST['password']);
        
$rl_name mysql_real_escape_string($_POST['rl_name']);
        
$email mysql_real_escape_string($_POST['email']);
        
$code $_POST['code'];
        
// validacion de campos 
        
if($username == "" OR $password == "" OR $email == "" OR $rl_name == "" OR $code == "")
            {
            echo 
"Por favor, rellene todos los campos correctamente!<br> <a href=\"registro\"><b>Atras</b></a></div>";
            }
        else
            {
            
$result mysql_query("SELECT id FROM account WHERE login LIKE '$username'"); 
            
$menge mysql_num_rows($result); 
            
            if(
$menge == 0)
                {
        
                 
$q mysql_query("SELECT id from account where email='$email'");   
                 if(
mysql_num_rows($q) != 0) {   
                 echo 
"El email $email esta en uso";  
                 die();   
                }
                  
       
                
$sql "INSERT INTO account SET login = '".$username."', password = PASSWORD('".$password."'), real_name = '".$rl_name."', email = '".$email."',social_id = '".$code."'";
                
$result mysql_query($sql);
                if(
$result) { echo 'Se Ha creado una cuenta De Manera Satisfactoria En Nuestra Base De datos.<br><a href="index.php"><b>Ir a Inicio</b></a>'; } else { echo 'La cuenta no se pudo crear! <a href=\"index.php?sys=reg\"><b>Atras</b></a>'; }
                }
            else
                {
                echo 
"El Nombre de usuario ya está en uso!<br> Por favor, elija otro!<br><a href=\"registro\"><b>Atras</b></a>";
                }
                
            }
          
          

?>

Etiquetas: correo
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 02:00.