PHP - No detecta si un usario ya ha sido registrado

 
Vista:
sin imagen de perfil

No detecta si un usario ya ha sido registrado

Publicado por mactoni (4 intervenciones) el 30/11/2014 20:21:14
Hola a todos,
Tengo un problema con un formulario de registro en php donde quiero que me avise si un usuario ya ha sido registrado. Tengo este código, y utilizo la función if (mysql_num_rows($resultado)>0) pero no consigo que me vaya a la página de fallo.

Dejo aquí el codigo php para ver si me pueden ayudar. Gracias!!

El programa trabaja bien añadiendo a la base de datos sql, pero lógicamente no detecta los repetidos.
He mirado mucho como hacerlo y siempre coincide con la solución que yo propongo.
Muchas gracias de antemano

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
$db_host="localhost";
$db_user="xxx";
$db_password="xxx";
$db_usuario="usuarios";
$db_table_usuario="registro";
   $db_connection = mysql_connect($db_host, $db_user, $db_password);
 
if (!$db_connection) {
	die('Error de conexion');
}
$subs_usuario = utf8_decode($_POST['usuario']);
$subs_password = utf8_decode($_POST['password']);
$subs_email = utf8_decode($_POST['email']);
 
 
 
$resultado=mysql_query("SELECT * FROM ".$db_table_usuario." WHERE usuario = '".$subs_usuario."'", $db_connection);
 
if (mysql_num_rows($resultado)>0)
{
 
header('Location: Fail.html');
 
} else {
 
	$insert_value = 'INSERT INTO `' . $db_usuario . '`.`'.$db_table_usuario.'` (`usuario` , `password` , `email`) VALUES ("' . $subs_usuario . '", "' . $subs_password . '", "' . $subs_email . '")';
 
 
mysql_select_db($db_usuario, $db_connection);
$retry_value = mysql_query($insert_value, $db_connection);
 
if (!$retry_value) {
   die('Error: ' . mysql_error());
}
 
header('Location: Success.html');
}
 
mysql_close($db_connection);
 
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No detecta si un usario ya ha sido registrado

Publicado por xve (6935 intervenciones) el 30/11/2014 21:42:55
Hola Mactoni, despues de cualquier header("location.... es recomendable poner un return;, ya que el código php se sigue ejecutando después del header...

Tu código, parece estar bien...

Has probado a mostrar el contenido de $resultado?
1
print_r($resultado);

Puede ser que haya un error y te devuelva siempre false?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

No detecta si un usario ya ha sido registrado

Publicado por mactoni (4 intervenciones) el 30/11/2014 22:24:54
Hola xve,
Sigue sin funcionar, pero ahora entra como en error y con la pantalla en blanco. Al menos no me actualiza la base de datos.
Es muy extraño. No se me ocurre nada. He puesto el print despues del if y lo mismo.
Estoy frito con esto..
Gracias por el apoyo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar