Hola a todos
tengo una web a la que estoy intentando poner acceso con usuario y contraseña que esta encriptada en md5. pero siempre me dice que usuario o contraseña son incorrectos , cuando si lo son, no se cual es el fallo alguien podria ayudarme???
haciendo un seguimiento de la ejecucion veo que no entra en if ($row) {
switch (METODO_ENCRIPTACION_CLAVE) {
y no veo el error METODO_ENCRIPTACION_CLAVE vale md5
????????
<?php
function login($usuario,$password) {
//usuario y password tienen datos?
if (empty($usuario)) return false;
if (empty ($password)) return false;
$link = mysql_connect(SERVIDOR_MYSQL, USUARIO_MYSQL, PASSWORD_MYSQL);
if (!$link) {
trigger_error('Error al conectar al servidor mysql: ' . mysql_error(),E_USER_ERROR);
}
$db_selected = mysql_select_db(BASE_DATOS, $link);
if (!$db_selected) {
trigger_error ('Error al conectar a la base de datos: ' . mysql_error(),E_USER_ERROR);
}
$query='SELECT '.CAMPO_USUARIO_LOGIN.', '.CAMPO_CLAVE_LOGIN.' FROM '.TABLA_DATOS_LOGIN.' WHERE '.CAMPO_USUARIO_LOGIN.'="'. mysql_real_escape_string($usuario).'" LIMIT 1 '; //la tabla y el campo se definen en los parametros globales
$result = mysql_query($query);
if (!$result) {
trigger_error('Error al ejecutar la consulta SQL: ' . mysql_error(),E_USER_ERROR);
}
$row = mysql_fetch_assoc($result);
if ($row) {
switch (METODO_ENCRIPTACION_CLAVE) {
case 'sha1'|'SHA1':
$hash=sha1($password);
break;
case 'md5'|'MD5':
$hash=md5($password);
break;
case 'texto'|'TEXTO':
$hash=$password;
break;
default:
trigger_error('El valor de la constante METODO_ENCRIPTACION_CLAVE no es válido. Utiliza MD5 o SHA1 o TEXTO',E_USER_ERROR);
}
if ($hash==$row[CAMPO_CLAVE_LOGIN]) {
@session_start();
$_SESSION['USUARIO']=array('user'=>$row[CAMPO_USUARIO_LOGIN]); return true;
} else {
@session_start();
unset($_SESSION['USUARIO']);
return false;
echo $hash;
}
} else {
return false;
}
}
function estoy_logeado () {
@session_start();
if (!isset($_SESSION['USUARIO'])) return false;
$_SESSION['USUARIO']. No logeado.
if (!is_array($_SESSION['USUARIO'])) return false;
$_SESSION['USUARIO']. No logeado.
if (empty($_SESSION['USUARIO']['user'])) return false;
el usuario en $_SESSION['USUARIO']. No logeado.
return true;
}
function logout() {
@session_start();
unset($_SESSION['USUARIO']);
session_write_close();
return true;
}
?>