Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: EGSEC15 en Febrero 08, 2013, 12:56:17 AM

Título: [SOLUCIONADO] Consultar si existe un usuario ya en la Base de Datos
Publicado por: EGSEC15 en Febrero 08, 2013, 12:56:17 AM
Hola a todos soy nuevo en php y estoy aprendiendo a programar ..

Lo que estoy haciendo es un registro y el problema es que si ya existe el usuario en la base de datos me sale el usuario EGSEC15 fue registrado correctamente pero el usuario ya estaba antes registrado asi que hice una consulta si el usuario ya existe mande un echo diciendo el usuario EGSEC15 ya está registrado pero la cual me sale lo mismo usuario EGSEC15 fue registrado  correctamente .. Aqui les dejo mi codigo para que vean cual es el problema Gracias =) ..

Código (php) [Seleccionar]
<?php
include ('config.php');

if(isset(
$_POST['nombre']) && !empty($_POST['nombre'])&&
   isset(
$_POST['usuario']) && !empty($_POST['usuario'])&&
   isset(
$_POST['password1']) && !empty($_POST['password1'])&&
   isset(
$_POST['password2']) && !empty($_POST['password2'])&&
   isset(
$_POST['email']) && !empty($_POST['email'])&&
        
$_POST['password1'] == $_POST['password2']){

        
//enviar archivos al sistema  

        
$name     strip_tags($_POST['nombre']);
        
$nick     strip_tags($_POST['usuario']);
        
$password strip_tags(sha1($_POST['password1']));
        
$correo   strip_tags($_POST['email']);   
        
$ip       $_SERVER['REMOTE_ADDR']; 
        
$query mysql_query('SELECT * FROM usuario WHERE USER("'.mysql_escape_string($nick).'")');

       if(@
mysql_fetch_object($query)){


                        echo 
'El usuario'.' '.$nick.' '.'ya existe';

                     
mysql_free_result($query); //liberar la memoria de la query de la base de Datos     

               
}

          else{

                      
//recibir informacion 

                     
$rinformacion = @mysql_query('INSERT INTO usuario (NOMBRE,USER,PASSWORD,EMAIl,IP) VALUES("'.mysql_real_escape_string($name).'",
                        "'
.mysql_real_escape_string($nick).'" , "'.mysql_real_escape_string($password).'" , "'.mysql_real_escape_string($correo).'",
                        "'
.$ip.'")');

                        echo 
'El usuario'.' '.$nick.' '.'se ha registrado correctamente';    

          }       

 }       
        else{


                echo 
'Es posible que el formulario no este rellenado completamente y/o verifique las passwords';
        }

?>
Título: Re:PROBLEMA[CONSULTAR SI EXISTE UN USUARIO YA EN LA BASE DE DATOS]
Publicado por: 2Fac3R en Febrero 08, 2013, 01:45:27 AM
Modifica:

Código (php) [Seleccionar]

$query = mysql_query('SELECT * FROM usuario WHERE USER("'.mysql_escape_string($nick).'")');


Por:

Código (php) [Seleccionar]

$query = mysql_query("SELECT * FROM usuarios WHERE USER = '".mysql_real_escape_string($nick)."';");


Te recomiendo empezar a usar PDO, la API mysql_* será removida en futuras versiones de PHP.

para verificar si hay un usuario con ese nick, puedes usar mysql_num_rows() o en PDO rowCount() ;), curratela un poco y me dices si tienes dudas...
Zalu2
Título: Re:[Problema] Consultar si existe un usuario ya en la Base de Datos
Publicado por: EGSEC15 en Febrero 08, 2013, 04:16:37 PM
Muchas Gracias me sirvio el codigo =) ..