Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/10/2004, 18:31
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Puedes sacar una idea completa del procedimiento de:

Autentificator
http://php.cluster-web.com/autentificator

ahí veras como definir variables de sesión y como se validan.

Piensa en una variable de sesión como una simple variable (sólo que su "pesistencia" es por màs tiempo que la duración de ejecución de un script). Bajo esa premisa .. tan sólo tienes que iniciar el uso de sesiones (session_start()) ... y ver o definir el valor de una variable de sesión.

Usando los arrays superglobales sería algo tipo:

seguridad.php
Código PHP:
<?
session_start
();
if (empty(
$_SESSION['usuario'])){
header ("Location: login.php");
exit;
}
?>
En algun script .. tras validar a tu usuario contra tu BD o sitio donde almacenes sus datos de "login" (usuario/contraseña) .. generas las variables de sesiones que requireas, ejemplo "el nombre del usuario":

Código PHP:
<?
session_start
();
//autentificación de tu usuario contra tu BD o donde corresponda
// obtenemos "$usuario" (el valor de este)

// lo registramos en una variable de sesión usando los arrays superglobales (PHP > 4.1.0)
$_SESSION['usuario']=$usuario;

// y redireccionamos a otro sitio .. tal vez la pàgina que requiera autentificaciòn.

?>
pagina_cualquiera_segura.php
Código PHP:
<?
include ("seguridad.php");
// resto script/pàgina ...
?>
Que te funcione todo esto depende de vários factores. La propagaciòn del SID se asume que va a ser por COOKIES en este caso. Lo cual requiere de un navegador que acepte cookies y de la configuración de PHP (php.ini): session.use_cookies = 1

Por el uso de los arrays superglobales .. se requiere de PHP versión 4.1.0 o superior. Cualquier otro tipo de problemas con sesiones se debe principalmente a configuración del tema sesiones, así que no está de más leer la documentación oficial al respecto:

www.php.net/session
(su versión en ingles está más completa)

Un saludo,