No puedo usar variables de sesión en una página distinta a la que están configuradas, IOW actúan como variables que no son de sesión. He encontrado una pregunta similar publicada en media docena de foros similares, pero la respuesta en esos otros casos siempre resulta no aplicar.Variables de sesión de PHP no conservadas
Éstos son mis archivos:
sess1.php
<?php
session_start();
session_register("userid");
session_register("textvar");
$_SESSION['userid'] = 10333 ;
$_SESSION['textvar'] = TextVariable ;
echo "<p>User ID is: " . $_SESSION['userid'] . "</p>" ;
echo "<p>Another variable is: " . $_SESSION['textvar'] . "</p>" ;
?>
<p>Go to the <a href="sess2.php">next page</a>.</p>
y, sess2.php
<?php
session_start();
echo "<p>The userid session variable is: " . $_SESSION['userid'] . "</p>";
echo "<p>The other session variable is: " . $_SESSION['newvar']. "</p> ";
?>
La salida del navegador en cada caso es:
sess1.php
ID de usuario es: 10333
Otra variable es: textVariable
Ir a la [página siguiente].
y, sess2.php
La variable de sesión ID de usuario es:
La otra variable de sesión es:
Ir a la [última página].
Un par de cosas que no es:
- Tengo session_start() en la parte superior de ambos archivos.
- El directorio de variables es de escritura y las variables de sesión se muestran allí. (Tengo alrededor de un centenar de pequeños archivos llamados sess_b62, que tienen esto dentro: 'userid | i: 10333; textvar | s: 12: "TextVariable";'.)
- phpinfo() me dice que el archivo php.ini se está leyendo correctamente y la duración está establecida en el valor predeterminado, 0, es decir, hasta que se cierre el navegador.
Estoy al final de mi ingenio. ¿Alguna sugerencia?
Muchas gracias.
¿Ha marcado si se usa la misma ID de sesión? – Gumbo
¿Es una de las páginas de SSL? –
¿Qué versión de PHP está ejecutando? (desde phpinfo() también) –