Foros del Web » Programando para Internet » PHP »

Autentificador error

Estas en el tema de Autentificador error en el foro de PHP en Foros del Web. Hola a todos. Estoy usando el autentificador para que diferentes usuarios tengan acceso a diferentes partes de la misma página. Se trata de una galería ...
  #1 (permalink)  
Antiguo 11/12/2005, 12:19
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 13 años, 10 meses
Puntos: 0
Autentificador error

Hola a todos. Estoy usando el autentificador para que diferentes usuarios tengan acceso a diferentes partes de la misma página. Se trata de una galería de fotos en la que dependiendo del nivel de acceso podran añadir comentarios o subir fotos, y necesito que tanto el formulario de registro como lo demas estén en el mismo archivo. He estado haciendo pruebas y me funciona, pero cuando accedo al archivo sin haber iniciado antes sesion me sale el mensaje de error Error cod.:1 - Acceso incorrecto!.

Aquí teneis cómo he usado el código; el archivo lo he llamado galerias2.php. Espero una ayudita

Código PHP:
<?

require("aut_verifica.inc.php");
$nivel_acceso=5;
if (
$nivel_acceso == $_SESSION['usuario_nivel']){
header ("Location: $redir?error_login=5");
exit;
}
?>

<html>......
....

<?
if ($nivel_acceso $_SESSION['usuario_nivel']){

echo 
"Esto es una página con acceso restringido.<br><br>";} ?>
......
....
<? if (empty ($_SESSION['usuario_nivel'])) {?>  <br>
           <form action="galerias2.php" method="post"><br>
              <?
                          
// Mostrar error de Autentificación.
                          
include ("aut_mensaje_error.inc.php");
                          if (isset(
$_GET['error_login'])){
                              
$error=$_GET['error_login'];
                          echo 
"<font face='Verdana, Arial, Helvetica, sans-serif' size='1' color='#FF0000'>Error: $error_login_ms[$error]";
                          }
                         
?>
        Usuario:<br>         <input type="text" name="user" size="15" class="imputbox"><br>    
        Contraseña:<br>      <input type="password" name="pass" size="15" class="imputbox"><br><br>
                              <input name="submit" type="submit" value="  Entrar  "> <? ?>
                            
                             
    <? if (isset ($_SESSION['usuario_nivel'])) {?>  <br>
           <form action="aut_logout.php" method="post"><br>
           <input name="submit" type="submit" value="  salir  "> <? ?>
  #2 (permalink)  
Antiguo 12/12/2005, 12:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Autentificator en su aut_verifica.inc.php (no sé si has visto su código pero debes examinarlo) ya valida dos cosas por defecto si o si:

A) que al script le lleguen las variables "user" y "pass" de un formulario en POST.
ó
B) que estén definidas las variables de sesión que se crean cuando el usuario se autentifica (y es válido).

Por ende .. la filosofía de trabajo que quieres hacer para Autentificator no corresponde usando el código tal cual.

Tendras que "desglosar" el código de aut_verifica.inc.php en sus dos partes: validación y autentificación del usuario para poder usarlo como pretendes.

En consecuencia .. tampoco puedes hacer validaciones como:
$nivel_acceso=5;
if ($nivel_acceso == $_SESSION['usuario_nivel']){
header ("Location: $redir?error_login=5");
exit;
}

si en ese script tienes un formulario de login .. es lógico que en algún momento un usuario NO autentificado pretenda hacer su "login" (autentificarse) ..

Un saludo,
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 19:36.