Ver Mensaje Individual
  #21 (permalink)  
Antiguo 18/01/2008, 09:43
diazhh
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: que siginifica este error:Warning: mysql_select_db...

Cita:
Iniciado por Zenbaku Ver Mensaje
Creo que estás saltando algo, ese sistema de logins es por usuarios?
Si es así te estás olvidando de la ID. Por eso, cuando haces el "SELECT mail" en realidad estás seleccionando todos los mails de la base de datos.

Suponiendo que en tu base de datos los usuarios tienen estas tablas
1) id
2) email
3) password

La forma de obtener los datos sería algo así

Código PHP:
/* Asegurate de cambiar estos */
$host 'localhost';
$user 'root';
$pass '*****';
$db 'usuarios';
$tabla 'usuarios';

$con mysql_connect($host,$user,$pass) or die('O excepción, como prefieras');
if (
$con) {mysql_select_db($db,$con); }


/* Ahora supondremos los siguientes campos */
$user_id $_POST['id'];
$user_email $_POST['email'];
$user_pass $_POST['pass'];
/* Ahí tu haces la limpieza de variables como veas */

$query "SELECT email, password FROM $tabla WHERE id = $user_id"/* se asume que $user_id es un número */

$result mysql_query($query$con);
while (
$row mysql_fetch_assoc($result)) {
  
$email $row['email'];
  
$pass $row['password'];
}


if ( 
$email == $user_email  AND  $pass == $user_pass ) {
  
header('Location:start.php');
  exit();

else {
  
header('Location:login2.html');
  exit();

Esto en sí soluciona algunos problemas. Primero, el email y el password se consiguen mediante una ID, así que sólo recibimos el valor que queremos y no todos (como antes lo hacía). También se podría usar el nombre de usuario, o el email como clave de acceso a la db, pero eso ya es otra cosa. Además, si la pass o el email no coinciden no se produce un error de mysql, sino que simplemente se redirige a login2.html.
Por otro lado, siempre después de usar header() usa exit() eso asegura que el script se acaba correctamente.

Saludos, cualquier cosa estoy para ayudarte en lo que me sea posible ^^'

PD: He asumido que la id la coges de una cookie o de una sesión, pero si no es así tendrás que obtener los resultados usando el nickname del usuario (o su mail)

tu forma puede funcionar... pero si te fijas al hacer una consulta que cumpla ciertos criterios como son el password y el enail igual a lo que viene del formulario.. pueden pasar 21 cosas.. uno que de una consulta vacia... y una que de una consulta llena... si esta vacia es que no coninside.. lo que lo manda a una pagina n la q le dic q correo o password errado.. y la otra... es que si existe.. asi q lo manda a la pagina start.