Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/01/2004, 16:24
naty_24
 
Fecha de Ingreso: octubre-2003
Mensajes: 139
Antigüedad: 20 años, 6 meses
Puntos: 0
un pequeño error

hola estoy tartando de utilizar un autentificador pero tengo este problemita cuando verifica el usuario y su contraseña

este es parte del codigo original

$db_conexion= mysql_connect("$sql_host", "$sql_usuario", "$sql_pass") or die(header ("Location: $redir?error_login=0"));
mysql_select_db("$sql_db");

// realizamos la consulta a la BD para chequear datos del Usuario.
$usuario_consulta = mysql_query("SELECT ID,usuario,pass,nivel_acceso FROM $sql_tabla WHERE usuario='".$_POST['user']."'") or die(header ("Location: $redir?error_login=1"));

// miramos el total de resultado de la consulta (si es distinto de 0 es que existe el usuario)
if (mysql_num_rows($usuario_consulta) != 0) {

// eliminamos barras invertidas y dobles en sencillas
$login = stripslashes($_POST['user']);
// encriptamos el password en formato md5 irreversible.
$password = md5($_POST['pass']);

// almacenamos datos del Usuario en un array para empezar a chequear.
$usuario_datos = mysql_fetch_array($usuario_consulta);

// liberamos la memoria usada por la consulta, ya que tenemos estos datos en el Array.
mysql_free_result($usuario_consulta);
// cerramos la Base de dtos.
mysql_close($db_conexion);

// chequeamos el nombre del usuario otra vez contrastandolo con la BD
// esta vez sin barras invertidas, etc ...
// si no es correcto, salimos del script con error 4 y redireccionamos a la
// página de error.
if ($login != $usuario_datos['usuario']) {
Header ("Location: $redir?error_login=4");
exit;}

// si el password no es correcto ..
// salimos del script con error 3 y redireccinamos hacia la página de error
if ($password != $usuario_datos['pass']) {
Header ("Location: $redir?error_login=3");
exit;}

aqui esta el problema siempre que entro me dice password incorrecta (los datos en la tabla estan correctos)
se supone que en $password rescate la password que ingrese en el formulario para que la compare con la de la tabla en la base de datos , bueno no se porque pero no la reconoce, como prueba le cambie lo siguiente
if ($password != "12345") {
Header ("Location: $redir?error_login=3");
exit;}

12345 es la clave asi me funciona , pero me gustaria saber porque no me compara de la otra forma con los datos de la tabla
gracias por su ayuda