Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

No me identifica usuarios ya registrados

Estas en el tema de No me identifica usuarios ya registrados en el foro de Mysql en Foros del Web. buenas, aqui pongo el formulario y la pagina que utilizo para verificar si los datos que me pasan del formulario son correctos. el problema es ...
  #1 (permalink)  
Antiguo 13/12/2005, 10:43
 
Fecha de Ingreso: noviembre-2005
Mensajes: 139
Antigüedad: 18 años, 5 meses
Puntos: 0
No me identifica usuarios ya registrados

buenas,
aqui pongo el formulario y la pagina que utilizo para verificar si los datos que me pasan del formulario son correctos. el problema es que estoy probando y aunque ponga el mismo nombre y apellido me sigue registrando...el problema debe ser como realizo la busqueda de usuarios ya registrados($consulta,$consulta2,$consulta3)
Formulario
<html>
<head>
<title>insertar datos de usuarios</title>


</head>
<body>
Introduzca sus datos para darse de alta
<form action="creadora.php" method=post>
<p>Introduzca sus datos:<br />
Nombre: <input type="text" name="nombre" size="20" maxlength="255" /><br />
Apellido: <input type="text" name="apellido" size="20" maxlength="255" /><br />
Fecha de Nacimiento: <input type="date" name="nacimiento" size="20" maxlength="255" /><br />
Email: <input type="text" name="email" size="25" maxlength="255" /><br />
Nombre de usuario: <input type="text" name="usuario" size="20" maxlength="255" /><br />
Contraseña: <input type="text" name="contrasenia" size="20" maxlength="255" /><br />
<input type="submit" value="ALTA" /></p>
</body>
</html>
tratamiento
<html>

<head>
<title>creadora</title>
</head>

<body>
<?php
/*Esta pagina recibe los datos del index y los mete en la tabla usuarios de la base de datos proyecto*/
function comprobar_mail($mail)
{
if (!ereg("^([a-zA-Z0-9._]+)@([a-zA-Z0-9.-]+).([a-zA-Z]{2,4})$",$mail)){
return FALSE;
} else {
return TRUE;
}
}
$host= "localhost";
$user="root";
$password="";
$nombreBD="proyecto";
$tabla="usuarios";


$consulta = "SELECT * FROM $tabla WHERE 'usuario' LIKE $usuario";
$consulta2 = "SELECT * FROM $tabla WHERE 'nombre'=$nombre AND 'apellido'=$apellido";
$consulta3="SELECT * FROM $tabla WHERE 'email' LIKE $email";

if (empty($nombre) or empty($apellido) or empty($nacimiento) or empty($usuario) or empty($contrasenia))
{
header ("Location:revacio.php");
}
elseif($resultado = mysql_query($consulta)) {
header ("Location:reyausu.php");
}
elseif($resultado = mysql_query($consulta2)) {
header ("Location:reyareg.php");
}
elseif($resultado = mysql_query($consulta3)) {
header ("Location:reyamail.php");
}
elseif(comprobar_mail($email)){/*Si la funcion devuelve TRUE, osea que si esta correcto ,ejecuto ordenes*/
$link=mysql_connect($host, $user, $password);
mysql_select_db($nombreBD,$link);
$query="INSERT into $tabla values ('','$nombre','$apellido','$nacimiento','$email',' $usuario','$contrasenia')";
if (mysql_db_query($nombreBD,$query,$link))
{
mysql_close($link);
header ("Location:bien.php");
}
else
{
header ("Location:remalbase.php");
}
}
else{
header ("Location:remalmail.php");
}
?>
</body>
</html>

gracias
  #2 (permalink)  
Antiguo 15/12/2005, 12:24
 
Fecha de Ingreso: diciembre-2005
Mensajes: 122
Antigüedad: 18 años, 4 meses
Puntos: 0
mira, estas enviando querys a la base de datos antes de siquiera estar conectado. como consecuencia, todos los resultados dan falso. por último se comprueba que el mail sea correcto, con eso basta para que el script lo inserte.
como última recomendación: cuando escribes los querys, en los lugares donde van los datos, pon comillas simples. (SELECT.... nombre = '$nombre')
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:00.