php.ini
[session]
session.save_handler = files
session.save_path = "E:/PHP/sessions/"
session.use_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 100
session.bug_compat_42 = 1
session.bug_compat_warn = 1
session.referer_check =
session.entropy_length = 0
session.entropy_file =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 1
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fields et="
Un ejemplo del código que uso para esté todo más claro sería:
acceso.php
Código PHP:
<?php
session_start(); // Inicio la sesión
$_SESSION['estado'] = "logeado";
header("Location: ./leervariable.php");
?>
Código PHP:
<?php
session_start(); // Inicio la sesión
echo "El estado es: " .$_SESSION['estado'];
?>
He estado leyendo y en la documentación oficial se dice algo así:
"PHP puede porgagar un "session id" de dos formas, Cookies y URL.El módulo de sesiones admite ambas formas. Las Cookies son la mejor opción, pero como no son fiables (los clientes no están obligados a aceptarlas), no podemos confiar en ellas. El segundo método incrusta el "session id" directamente en las URLs.
PHP es capaz de hacerlo de forma transparente al usuario cuando se compila con --enable-trans-sid. Si activa esta opción, las URIs relativas serán modificadas de forma que contengan el session id automáticamente. Alternativamente, puede usar la constante SID que está definida, si el cliente no envía la cookie adecuada."
Bien tras leer esto he pensado que podría ser que tuviese algo que ver con la compilación con --enable-trans-sid, quizá mi php 4.4.4 para windows no está así complilado. Pero está idea es más por desesperación que por convencimiento al no saber cómo comprobarlo.
No se, agradezco cualquier ayuda para poder progar el SID trasparentemente.
Un Saludo compañeros.