Ver Mensaje Individual
  #5 (permalink)  
Antiguo 05/07/2006, 06:38
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por pepitoperez1
Buenas eveliz30

La solucion a tu problema es el siguiente, ya que yo lo tengo así y funciona muy bien.

Crea un fichero php,llamese control.php
Este fichero debe estar al principio de cada página que quieras controlar por sesion.

Código PHP:
<? include ("control.php"); ?>
P.Ej: Puede que necesites controlar que solo puedan entrar a un formulario si está autenticado pero no hace falta que lo esté para ver una página de créditos.

Si esto queda claro vamos a ver el contenido del fichero:

Código PHP:
<?php
//Inicio la sesión
     
session_start();
//Aqui controlo que no haya cookies maliciosos ni antigüos
     
session_set_cookie_params(0"/"$_SERVER["HTTP_HOST"], 0); 
//Comprueba que el usuario no está  autentificado
     
if ($_SESSION["Autentificado"] != "SI")
      {
//si no existe, envio a la página de autentificacion
       
header("Location: Index.php");
 
//ademas salgo de este script
       
exit();
      }
//Si está autentificado pones aqui lo que sea si precisa
// Yo tengo puesto un control de tiempo
// Si pasado un tiempo no hay actividad, destruye la sesion y redirige a pagina principal
// .....
// y aqui acaba el fichero
?>
Espero que te sirva
Para "redondear" tu ejemplo .. te faltó mencionar parte importate referente a como "propagas el SID" (como en mi anterior mensaje comenté ya).

A su vez .. ya que "ajustas" algunas propiedades de la cookie que PHP va a generar (por ende "asumes" que propagas el SID en cookies) .. no estaría de más "forzar" a PHP para que propague el SID en cookies y así completar tu ejemplo. Esto lo puedes hacer vía funcion ini_set() (y así no depender de la configuración puntual de php.ini de cada servidor)

más info:
www.php.net/ini_set
(se trata de usar o mejor dicho forzar el estado de las directivas de PHP que mencioné antes).

También se puede ajustar esta configuración a nivel php.ini o .htaccess u otros médios más "generales" para todo script que corra en ese servidor o lugar concreto y así no tener que ir colocando dicho código en todos los scripts de PHP (además que hay ciertas configuraciones de PHP que no se pueden alterar por ini_set())

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.