Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/10/2004, 16:19
Avatar de ProgramadorMax
ProgramadorMax
 
Fecha de Ingreso: diciembre-2003
Ubicación: Ciudad de Mexico.
Mensajes: 47
Antigüedad: 20 años, 11 meses
Puntos: 0
El autentificator maneja varibles de sesion ya definidas por el mismo y puedes llamarlas en cualquier momento, ya sea para introducirlas como nuevos datos o para dar un saludo como el que se presenta en este foro.

Para llamar estas variables de sesion puedes utilizar el ejemplo que ya trae el autentificator <<pag1_restringido>>:

Código HTML:
<html>
<head>
<title>Un ejemplo de las variables de sesion</title>
</head>
<body>
<p>Acceso Autorizado:</p>
Esto es una página con acceso restringido.<br><br>
Nombre de la sesion => <? echo session_name(); ?> <br>
El ID del usuario es => <? echo $_SESSION['usuario_id'] ?><br>
Hola,<? echo $_SESSION['usuario_login'] ?>¿como estas?<br>
Usuario Nivel de Acceso => <? echo $_SESSION['usuario_nivel'] ?><br><br>
<br>
<a href="aut_gestion_usuarios.php">Gestionar usuarios</a>
<br><br>
<a href="aut_logout.php">Salir zona restringida</a>
</body>
</html> 
Cada vez que insertas el codigo PHP de autentificacion, verificas si ya se ha iniciado sesion y si no la inicias. Ademas de tener disponibles estas variables.

Código PHP:
<?
//  Autentificator
//  Gestión de Usuarios PHP+Mysql+sesiones
//  by Pedro Noves V. (Cluster)
//  [email][email protected][/email]
// ------------------------------------------
require("aut_verifica.inc.php");
$nivel_acceso=10// Nivel de acceso para esta página.
// se chequea si el usuario tiene un nivel inferior
// al del nivel de acceso definido para esta página.
// Si no es correcto, se mada a la página que lo llamo con
// la variable de $error_login definida con el nº de error segun el array de
// aut_mensaje_error.inc.php
if ($nivel_acceso <= $_SESSION['usuario_nivel']){
header ("Location: $redir?error_login=5");
exit;
}
?>
Puedes aumentar las varibles de sesion que ya trae el autentificator, solo es cuaestion de ver el codigo e incrementar los campos que verifica.

En el archivo <<aut_verifica.inc.php>> puedes ver donde estan estas variables que se activan.

Aqui te señalo donde estan, claramente encerradas entre ##### ....je je je.

Código PHP:
if (isset($_POST['user']) && isset($_POST['pass'])) {

// Conexión base de datos.
// si no se puede conectar a la BD salimos del scrip con error 0 y
// redireccionamos a la pagina de error.
$db_conexionmysql_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;}

    
// Paranoia: destruimos las variables login y password usadas
    
unset($login);
    unset (
$password);

    
// En este punto, el usuario ya esta validado.
    // Grabamos los datos del usuario en una sesion.
    
     // le damos un mobre a la sesion.
    
session_name($usuarios_sesion);
     
// incia sessiones
    
session_start();

    
// Paranoia: decimos al navegador que no "cachee" esta página.
    
session_cache_limiter('nocache,private');
    
    
// Asignamos variables de sesión con datos del Usuario para el uso en el
    // resto de páginas autentificadas.
#####################AQUI ESTAN LAS VARIABLES ###########
    // definimos usuarios_id como IDentificador del usuario en nuestra BD de usuarios
    
$_SESSION['usuario_id']=$usuario_datos['ID'];
    
    
// definimos usuario_nivel con el Nivel de acceso del usuario de nuestra BD de usuarios
    
$_SESSION['usuario_nivel']=$usuario_datos['nivel_acceso'];
    
    
//definimos usuario_nivel con el Nivel de acceso del usuario de nuestra BD de usuarios
    
$_SESSION['usuario_login']=$usuario_datos['usuario'];

    
//definimos usuario_password con el password del usuario de la sesión actual (formato md5 encriptado)
    
$_SESSION['usuario_password']=$usuario_datos['pass'];

#####################AQUI TERMINAN LAS VARIABLES ###########
    // Hacemos una llamada a si mismo (scritp) para que queden disponibles
    // las variables de session en el array asociado $HTTP_...
    
$pag=$_SERVER['PHP_SELF'];
    
Header ("Location: $pag?");
    exit;
    
   } else {
      
// si no esta el nombre de usuario en la BD o el password ..
      // se devuelve a pagina q lo llamo con error
      
Header ("Location: $redir?error_login=2");
      exit;}

Bueno hice mi mejor esfuerzo, espero que sirva....
__________________
Tonto es aquel que tiene el conocimiento y no sabe como usarlo...
Solo destripando creo mostruos de soluciones.