[PHP] The session is lost

ypsilo

Nuovo Utente
27 Apr 2016
9
1
3
Hi!
Please, a little help to solve this problem.
The scenario is complex, but in the essence it is:

1. content of first-file.php
<?php
session_start();
$_SESSION['s_Foo'] = "pippo";
// this is only a twisted way of producing the header('location: second-file.php'), because unfortunately often I obtain the error "headers already sent".
echo "<!DOCTYPE html><html>";
echo "<head><meta charset='utf-8'></head>";
echo "<body onload='go()'>";
echo "<script>function go(){location.replace(\"second-file.php\")}</script>";
echo "</body>";
echo "</html>";
exit;
?>

2. content of second-file.php
<?php
session_start();
$foo = isset($_SESSION['s_Foo']) ? $_SESSION['s_Foo'] : "nothing";
echo "_".$foo."_";
... here a line that require to use $_SESSION['s_Foo']
?>

Now, I read (in the secon file) "_pippo_", but only for half or one second...
Then disappears "_pippo_", and it is written "_nothing_" whit the php log "Notice: Undefined index: s_Foo in [...]/second-file.php on line 4

Thank you in advance,
Francesco

.
 
Ho provato a ricreare i tuoi file in ambiente xampp e tutto funziona correttamente.
Richiamando "first-file.php" vengo indirizzato subito a "second-file.php", e a schermo compare
Codice:
_pippo_

Hai detto che lo scenario è complesso... scusami la domanda banale, ma hai provato a creare due script come quelli che hai postato?
 
  • Like
Reactions: ypsilo
In effetti no... ora provo! Grazie.
Fatto: si', funziona tutto.
Mi sa che passero' il weekend a diventare matto.
Comunque grazie per la risposta, ciao.
 
  • Like
Reactions: livellacri
Forse perche' nel primo file in realta': 1) apro la sessione, 2) passo alcuni valori di sessione a variabili, 3) distruggo la sessione (perche' devo fare pulizia con un approccio generale), 4) resuscito la sessione che popolo con quelle variabili di prima, 5) rimando all'altra pagina php dove capita il fenomeno anzidetto.
 
È strano il fenomeno che descrivi, che inizialmente viene visualizzato correttamente e dopo sparisce...
Senza vedere lo script completo l'unico suggerimento che posso darti è di controllare il javascript della seconda pagina.
 
Stavo provando a scriverti un messaggio privato ma non vedo per allegare file.
Non mi fido a postarti codice con tag (prima avevo messo gli &-#-60-; per sostituire il <).
Un attimo :rolleyes:
 
Se preferisci puoi anche inviarmelo via mail.
Ti ho scritto in privato.
Due osservazioni:
  1. Il forum è fatto per avere discussioni e soluzioni pubbliche che siano utili a tutta la communità e non per soluzioni private a discussioni pubbliche
  2. Questo è un forum Italiano ed è vietato post in Inglese
Leggere il regolamento grazie
 

Discussioni simili