Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] identificación de usuario

Estas en el tema de identificación de usuario en el foro de PHP en Foros del Web. Hola! Tengo un problema con una autentificación de usuarios qeu estoy haciendo para una web y no se donde puede estár el fallo. Por mas ...
  #1 (permalink)  
Antiguo 02/02/2013, 05:27
 
Fecha de Ingreso: diciembre-2011
Mensajes: 29
Antigüedad: 12 años, 3 meses
Puntos: 3
identificación de usuario

Hola! Tengo un problema con una autentificación de usuarios qeu estoy haciendo para una web y no se donde puede estár el fallo. Por mas que le doy vueltas no se identificarlo. Pienso que debe estar entre la consulta SELECT y el siguiente IF porque siempre se me va al ELSE y no me da problemas con el acceso a la base de datos ni nada de eso. El código es el siguiente:

<?php

/**
* Script para comprobar y conectar el usuario a la aplicación.
*/
/**
* Compruebo que me lleguen los parámetros (login y pass)
*/

if (!isset($_POST["login"]) || !isset($_POST["pass"])) {
header("Location: ../index.php?seccion=7error=");
return;
}

$Login = $_POST["login"];
$Pass = $_POST["pass"];

/* Crea la conexión */
include_once 'funcion_conexion.php';
$dbh = abrir_conexion();

/*
* Cosultas la BD si tiene ese registro
*/

$Pass2 = md5($Pass);
$result = mysql_query("SELECT login FROM usuarios WHERE login='{$Login}' AND pass='{$Pass2}'", $dbh)
or die ('No se ha podido acceder a la base de datos para actualizar registro, consulte con su administrador:' . mysql_error());

/* Compruebo que el usuario existe en la base de datos y que coincide la contraseña */

If ($Login == $result) {

/**
* Creo la sesión
*/

session_start();

/**
* No limito el tiempo de sesión
*/

ini_set('session.cookie_lifetime', 0);
ini_set("session.gc_maxlifetime", "15578463");

/* ************************************************** ********************** */

/**
* Pongo en la sesión el login que se ha identificado y el idPermiso que tiene
*/

$_SESSION["Login"] = $usuario["Login"];
$_SESSION["CodUsuario"] = $usuario["CodUsuario"];

/**
* Una vez que está todo listo, lo llevo a la aplicación
*/

header("Location: ../index.php?seccion=7&identificado=ok");
} else {
header("Location: ../index.php?seccion=7&error=");
}
?>

Gracias de antemano! Un saludo
  #2 (permalink)  
Antiguo 02/02/2013, 05:39
 
Fecha de Ingreso: noviembre-2012
Ubicación: Vigo
Mensajes: 9
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: identificación de usuario

Lo que puedes hacer es imprimir la variable $result en el else para ver que valor te esta devolviendo y despues comparar si es realmente igual a $Login.

De todas formas, el SELECT devuelve un resource y no es valido para comparar con la variable result.

Despues de la consulta puedes poner:

Código:
$valor_devuelto = mysql_fetch_array($result);

/* Y despues en el if pones asi */

if($Login == $valor_devuelto['login'])

.....
  #3 (permalink)  
Antiguo 02/02/2013, 05:52
 
Fecha de Ingreso: diciembre-2011
Mensajes: 29
Antigüedad: 12 años, 3 meses
Puntos: 3
Respuesta: identificación de usuario

Justo Eso! Muchisimas gracias Sinkolas!

Etiquetas: login, password
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:19.