La tabla db_discos.usuarios la he creado yo para ir almacenando los usuarios.
Código:
¿Qué puede ir mal? He dado mil vueltas al código y no me percato de nada. <?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 * FROM db_discos.usuarios WHERE nombre='$name'", $con); $num = mysql_num_rows ($res); if ($num==1){ // 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ístrese con otro nombre.<br>En 5 segundos volverá a la pá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éntelo de nuevo en unos minutos.<br>En 5 segundos volverá a la página de entrada.</font></div></body></html>"; } mysql_close ($con); ?>