Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Duda ridicula sobre formulario de registro

Estas en el tema de Duda ridicula sobre formulario de registro en el foro de PHP en Foros del Web. Hola, quiero que me ayuden con esta duda que tengo, lo que pasa es que quiero que mi formulario también compruebe una cuenta de email, ...
  #1 (permalink)  
Antiguo 01/07/2013, 20:18
Avatar de Mosiah16  
Fecha de Ingreso: abril-2010
Ubicación: Antofagasta
Mensajes: 70
Antigüedad: 14 años
Puntos: 1
Duda ridicula sobre formulario de registro

Hola, quiero que me ayuden con esta duda que tengo, lo que pasa es que quiero que mi formulario también compruebe una cuenta de email, que ya está ingresada en la base de datos, sólo comprueba el nombre de usuario, yo quiero que compruebe ambos por favor.

Aquí les dejo el código para que me den una orientación al respecto.

Código PHP:
<?php 
    
include('config/acceso_db.php'); // incluimos el archivo de conexión a la Base de Datos 
    
if(isset($_POST['enviar'])) { // comprobamos que se han enviado los datos desde el formulario 
        // creamos una función que nos parmita validar el email 
        
function valida_email($correo) { 
            if (
preg_match('/^[A-Za-z0-9-_.+%]+@[A-Za-z0-9-.]+\.[A-Za-z]{2,4}$/'$correo)) return true
            else return 
false
        } 
        
// Procedemos a comprobar que los campos del formulario no estén vacíos 
          
if(empty($_POST['usuario_nombre'])) { // comprobamos que el campo usuario_nombre no esté vacío 
            
echo "No haz ingresado tu usuario. <a href='javascript:history.back();'>Reintentar</a>"
        }elseif(empty(
$_POST['usuario_clave'])) { // comprobamos que el campo usuario_clave no esté vacío 
            
echo "No haz ingresado contraseña. <a href='javascript:history.back();'>Reintentar</a>"
        }elseif(
$_POST['usuario_clave'] != $_POST['usuario_clave_conf']) { // comprobamos que las contraseñas ingresadas coincidan 
            
echo "Las contraseñas ingresadas no coinciden. <a href='javascript:history.back();'>Reintentar</a>"
        }elseif(!
valida_email($_POST['usuario_email'])) { // validamos que el email ingresado sea correcto 
            
echo "El email ingresado no es válido. <a href='javascript:history.back();'>Reintentar</a>"
        }else { 
            
// "limpiamos" los campos del formulario de posibles códigos maliciosos 
            
$usuario_nombre mysql_real_escape_string($_POST['usuario_nombre']); 
            
$usuario_clave mysql_real_escape_string($_POST['usuario_clave']); 
            
$usuario_email mysql_real_escape_string($_POST['usuario_email']); 
            
// comprobamos que el usuario ingresado no haya sido registrado antes 
            
$sql mysql_query("SELECT usuario_nombre usuario FROM usuarios WHERE usuario_nombre='".$usuario_nombre."'"); 
            if(
mysql_num_rows($sql) > 0) { 
                echo 
"El nombre usuario elegido ya ha sido registrado anteriormente. <a href='javascript:history.back();'>Reintentar</a>"
            }else 
            { 
                
$usuario_clave md5($usuario_clave); // encriptamos la contraseña ingresada con md5 
                // ingresamos los datos a la BD 
                
$reg mysql_query("INSERT INTO usuarios (usuario_nombre, usuario_clave, usuario_email, usuario_freg) VALUES ('".$usuario_nombre."', '".$usuario_clave."', '".$usuario_email."', NOW())"); 
                if(
$reg) { 
                    echo 
'<a class="successbox hide" style="margin-bottom: 20px;">Se ha registrado con éxito en nuestro sitio.</a>'
                }else { 
                    echo 
'<a class="errorbox hide" style="margin-bottom: 20px;">Ha ocurrido un error, por favor verifique los datos y vuelva a intentarlo.</a>'
                } 
            } 
        } 
    }else { 
?>
Desde ya muy agradecido como siempre.
__________________
Tu mente es capaz de todo...
  #2 (permalink)  
Antiguo 01/07/2013, 20:24
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Respuesta: Duda ridicula sobre formulario de registro

Holas, Mosiah16.

La verdad es que según entiendo, lo que único que tendrías que hacer es modificar la consulta donde preguntas por el usuario: agregarle la condición que compara los emails Oo

Código PHP:
$sql mysql_query("SELECT usuario_nombre usuario FROM usuarios WHERE usuario_nombre='".$usuario_nombre."' AND email = '".$email."'"); 
Saludos!
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #3 (permalink)  
Antiguo 01/07/2013, 20:43
Avatar de Mosiah16  
Fecha de Ingreso: abril-2010
Ubicación: Antofagasta
Mensajes: 70
Antigüedad: 14 años
Puntos: 1
Respuesta: Duda ridicula sobre formulario de registro

Cita:
Iniciado por quinqui Ver Mensaje
Holas, Mosiah16.

La verdad es que según entiendo, lo que único que tendrías que hacer es modificar la consulta donde preguntas por el usuario: agregarle la condición que compara los emails Oo

Código PHP:
$sql mysql_query("SELECT usuario_nombre usuario FROM usuarios WHERE usuario_nombre='".$usuario_nombre."' AND email = '".$email."'"); 
Saludos!
Hola, ya lo intenté, pero sigue igual... cambio el nombre y me registra igual la cuenta con el mismo email.
__________________
Tu mente es capaz de todo...
  #4 (permalink)  
Antiguo 01/07/2013, 21:08
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Duda ridicula sobre formulario de registro

pues así como hiciste la consulta para verificar el usuario tienes que hacer la misma consulta a ver si existe alguna persona que tenga ese email, son dos consultas diferentes por el simple hecho de que pude haber registradro un usuario con ese mail e intentar otro usuario con otro mail, normalmente uno coloca estos campos unique para que den error y poder lanzar algo como una excepcion validado directamente por la base de datos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 01/07/2013, 21:28
Avatar de Mosiah16  
Fecha de Ingreso: abril-2010
Ubicación: Antofagasta
Mensajes: 70
Antigüedad: 14 años
Puntos: 1
Respuesta: Duda ridicula sobre formulario de registro

Cita:
Iniciado por carlos_belisario Ver Mensaje
pues así como hiciste la consulta para verificar el usuario tienes que hacer la misma consulta a ver si existe alguna persona que tenga ese email, son dos consultas diferentes por el simple hecho de que pude haber registradro un usuario con ese mail e intentar otro usuario con otro mail, normalmente uno coloca estos campos unique para que den error y poder lanzar algo como una excepcion validado directamente por la base de datos
Lo intento hacer, pero solo me comprueba el nombre de usuario, me puedes orientar con un poco de código?

Por favor.
__________________
Tu mente es capaz de todo...
  #6 (permalink)  
Antiguo 01/07/2013, 21:31
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Duda ridicula sobre formulario de registro

tu mismo código para no entrar en debates, si fuiste capaz de hacer la consulta anterior debiste ser capaz de hacer esta no veo el dilema
Código PHP:
Ver original
  1. $sql = mysql_query("SELECT usuario_nombre usuario FROM usuarios WHERE usuario_email='".$usuario_email."'");  
  2. if(mysql_num_rows($sql) > 0) {  
  3.     echo "El email elegido ya ha sido registrado anteriormente. <a href='javascript:history.back();'>Reintentar</a>";  
  4. }
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #7 (permalink)  
Antiguo 01/07/2013, 21:55
Avatar de Mosiah16  
Fecha de Ingreso: abril-2010
Ubicación: Antofagasta
Mensajes: 70
Antigüedad: 14 años
Puntos: 1
Respuesta: Duda ridicula sobre formulario de registro

Cita:
Iniciado por carlos_belisario Ver Mensaje
tu mismo código para no entrar en debates, si fuiste capaz de hacer la consulta anterior debiste ser capaz de hacer esta no veo el dilema
Código PHP:
Ver original
  1. $sql = mysql_query("SELECT usuario_nombre usuario FROM usuarios WHERE usuario_email='".$usuario_email."'");  
  2. if(mysql_num_rows($sql) > 0) {  
  3.     echo "El email elegido ya ha sido registrado anteriormente. <a href='javascript:history.back();'>Reintentar</a>";  
  4. }
Si, pero eso no me comprueba el nombre de usuario, solo basta con cambiar el email y listo...

La idea es que compruebe los dos.
__________________
Tu mente es capaz de todo...
  #8 (permalink)  
Antiguo 01/07/2013, 21:58
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Duda ridicula sobre formulario de registro

si pensé en hacerlo por separado al principio pero pudieras hacerlo entonces con un or
Código PHP:
Ver original
  1. $sql = mysql_query("SELECT usuario_nombre usuario FROM usuarios WHERE usuario_nombre = '$usuario_nombre' OR usuario_email='".$usuario_email."'");  
  2. if(mysql_num_rows($sql) > 0) {  
  3.     echo "El usuario o el email elegido ya ha sido registrado anteriormente. <a href='javascript:history.back();'>Reintentar</a>";  
  4. }
pero como te digo es simple sql debería de pasarte por una referencia, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way

Etiquetas: formulario, mysql, registro, 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




La zona horaria es GMT -6. Ahora son las 15:09.