[SOLUCIONADO] Consultar si existe un usuario ya en la Base de Datos

Iniciado por EGSEC15, Febrero 08, 2013, 12:56:17 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Febrero 08, 2013, 12:56:17 AM Ultima modificación: Octubre 25, 2013, 11:13:33 PM por Expermicid
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
<?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';
        }

?>

Modifica:

Código: php

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


Por:

Código: php

$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
Sólo el conocimiento te hace libre.