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)