Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/01/2005, 07:21
josemi
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,
Cita:
nada más me lee el primer usuario y nose porqué, gracias..
Sencillo:
Código PHP:
$query "SELECT * FROM usuarios";
$rs mysql_query($query$conexion); 
Realizas una consulta que devuelve todos los registros de la tabla.
Código PHP:
$row mysql_fetch_array($rs); 
Lees el primer registro.

Y nada mas. solo ejecutas el mysql_fetch_array() una vez.

Hasta aqui el por que. Ahora como deberias plantearlo.

Debes dejar que MySQL te haga el trabajo sucio. Si tienes una tabla con 1000 usuarios, y intenta logearse el numero 996, ¿vas a hacer que mysql te devuelva un array de 1000 elementos y luego vas a recorrerlo desde el comienzo comparando todos? Lo mismo que si coges las paginas amarillas y para encontrar el telefono de Perez, empiezas a revisar desde el comienzo de la A.

¿No es mas sencillo decirle a MySQL: dame el registro cuyo nick sea tal y su contraseña tal?
Código PHP:
$query "SELECT * FROM usuarios WHERE nick='$nick' AND password='$password'";
$rs mysql_query($query$conexion); 
Luego en el if no tienes que comparar por el valor, si existe ese par nick-pass, la consulta te habra devuelto 1 registro, si no existe te habra devuelto 0 registros:
Código PHP:
if(1=mysql_num_rows($rs))
{
$_SESSION['nick'] = $nick;
$_SESSION['password'] = $password;
header("Location: index.php");

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.