Ver Mensaje Individual
  #17 (permalink)  
Antiguo 18/01/2008, 09:35
Avatar de Zenbaku
Zenbaku
 
Fecha de Ingreso: enero-2008
Mensajes: 1
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: que siginifica este error:Warning: mysql_select_db...

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)