Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/08/2008, 06:03
Avatar de Mort20
Mort20
 
Fecha de Ingreso: junio-2008
Ubicación: Roca Casterly
Mensajes: 141
Antigüedad: 16 años, 8 meses
Puntos: 2
Respuesta: registrando usuarios en mysql

Yo diría que el problema es que una fila como "Empty set" contabiliza como tal, y por lo tanto te entra en el else.

Prueba esto:
Código PHP:
<?PHP
    
// Se obtienen los parámetros de conexión enviados desde el POST
    
$name $_POST['taname'];
    
$pass $_POST['tapass'];
    
// Conectamos como el usuario que tiene permisos para crear otros usuarios
    
$con mysql_connect ("localhost""root""root");
    
    if (
$con){ 
        
mysql_select_db ("db_discos"$con);    
        
// Si hemos conectado correctamente, comprobamos que el usuario no exista en la BD
        
$res mysql_query ("SELECT nombre FROM db_discos.usuarios WHERE nombre='$name' LIMIT 1"$con);
        
$row mysql_fetch_assoc($res);
        if (!empty(
$row['nombre'])){ // Se ha encontrado al menos un usuario con el mismo nombre
            
echo "<html><head><meta http-equiv=\"refresh\" content=\"5; url=entrada.html\"></head><body><div align=\"center\"><font face=\"Courier New\">El usuario de nombre $name ya se encuentra registrado en el sistema.<br>Reg&iacute;strese con otro nombre.<br>En 5 segundos volver&aacute; a la p&aacute;gina de entrada. RESULTADO: $num</font></div></body></html>";        
        }
        else{ 
// En este caso no se encontraron usuarios con el mismo nombre. Lanzamos la secuencia para dar de alta
            
mysql_query ("GRANT SELECT, INSERT, UPDATE ON db_discos.discos TO $name IDENTIFIED BY '$pass'"$con);
            
mysql_query ("INSERT INTO usuarios (nombre, password) VALUES ('$name', '$pass')"$con);
            echo 
"<html><head><meta http-equiv=\"refresh\" content=\"5; url=entrada.html\"></head><body><div align=\"center\"><font face=\"Courier New\">Registro completado satisfactoriamente ($name, $pass).<br>Ahora puede usar su nombre y contraseña para acceder.</font></div></body></html>";
        }
    }
    else{ 
// En este caso no hemos conseguido conectar
        
echo "<html><head><meta http-equiv=\"refresh\" content=\"5; url=entrada.html\"></head><body><div align=\"center\"><font face=\"Courier New\">Lo sentimos, no se ha podido conectar con la BD.<BR>Reint&eacute;ntelo de nuevo en unos minutos.<br>En 5 segundos volver&aacute; a la p&aacute;gina de entrada.</font></div></body></html>";
    }
    
mysql_close ($con);
?>
__________________
Un Lannister siempre cumple sus promesas