Tengo instalado en mi máquina php 4.2.3 en windows, estoy ocupando sesiones en mis páginas para autentificar a los usuarios, pero estas páginas van a ser implementadas en un servidor linux con php 4.0.4.
Cuando pase estas paginas al servidor linux obviamente no funcionaban las sesiones porque ocupaba $_SESSION en lugar de $HTTP_SESSION_VARS, sin embargo, al cambiar esta instruccion, creo que no me propaga el SID, ya que me direcciona a otra página que me muestra un mensaje de error.
A continuación les muestro parte del código:
(Una vez que se ha encontrado al usuario en la BD)
Código PHP:
session_start();
$HTTP_SESSION_VARS['clave']=$clave;
$HTTP_SESSION_VARS['nivel']=$reg['nivel'];
$HTTP_SESSION_VARS['zona']=$reg['cve_zona'];
header('Location: ../inicio.php');
session_start();
session_cache_limiter('nocache,private');
if (!isset($HTTP_SESSION_VARS['clave'])){ //Si no se ha iniciado sesión
header('Location: error_valida.php?error=4'); //Manda a página de error
exit();
}
//continua con la carga de la página
include('cgi-bin/cabecera.php');
Estos cambios (de $_SESSION a $HTTP_SESSION_VARS) los hice en las páginas del servidor en linux, sin embargo en la página inicio.php siempre me manda a la página de error, y con ello me indica que no me propaga el SID.
He leido en este foro que puede haber un error en la configuracion, en el archivo php.ini , los valores de este archivo son los siguientes:
session.use_cookies=1
session.use_trans_sid = 1
Si alguien me pudiera explicar algo mas acerca de la configuración de este archivo o haya detectado algun error en el escaso codigo que puse y que yo no he visto, por favor que me lo haga saber... Gracias