Non riesco a utilizzare le variabili di sessione su una pagina diversa da quella in cui sono impostate, IOW agisce come variabili non di sessione. Ho trovato una domanda simile pubblicata in una mezza dozzina di altri forum simili, ma la risposta in questi altri casi risulta sempre non applicabile.Variabili di sessione PHP non conservate
Qui sono i miei file:
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>
e, 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> ";
?>
L'uscita del browser in ogni caso è:
sess1.php
ID Utente: 10333
Un'altra variabile è: textvariable
Vai alla [pagina successiva].
e, sess2.php
La variabile di sessione userid è:
L'altra variabile di sessione è:
Vai alla [ultima pagina].
Un paio di cose non è così:
- devo session_start() nella parte superiore di entrambi i file.
- La directory delle variabili è scrivibile e le variabili di sessione vengono visualizzate lì. (Ho circa un centinaio di piccoli file chiamati sess_b62, che hanno questo all'interno: 'userid | i: 10333; textvar | s: 12: "TextVariable";'.)
- phpinfo() mi dice che il file php.ini viene letto correttamente e la durata è impostata sul valore predefinito, 0, cioè fino alla chiusura del browser.
Sono alla fine del mio spirito. Eventuali suggerimenti?
Grazie mille.
Hai controllato se viene utilizzato lo stesso ID di sessione? – Gumbo
Una delle pagine è su SSL? –
Quale versione di PHP stai usando? (anche da phpinfo()) –