[PHP] Perdita contenuto cookie al reload della pagina

usura18

Nuovo Utente
10 Ago 2010
4
0
1
Buongiorno a tutti,
ho un problema nel mantenimento di una variabile.

Devo passare ad una pagina il contenuto di una variabile per l'invio email di un file, ma non vi riesco.
Ho provato con una variabile globale, ma probabilmente sbaglio qualcosa nella sintassi.

Così ho deciso di memorizzare la variabile in un cookie, e fin qui tutto bene. Solo che devo ricaricare la stessa pagina php passandole un'altra variabile, e in questo riesco (e la pagina al suo interno ha un controllo che sovrascrive il contenuto del cookie se viene superato, non fa nulla altrimenti). Il problema attuale è che anche se non viene superato il controllo (e dunque non dovrebbe esserci nessuna azione sul cookie) al ricaricamento della pagina il cookie viene svuotato.

Potete aiutarmi cortesemente? Sto impazzendo da giorni...

Posto il pezzo di codice che ho scritto per esplicare meglio la questione:
PHP:
$cookie_name="name";
if(strlen(strstr($_SESSION['name'], "dettaglio"))>0)
{
    setcookie($cookie_name, $name, time()+3600);
}
global $action;
if (!is_null($_COOKIE[$cookie_name]))
{
$GLOBALS['attachment']=$_COOKIE[$cookie_name];
$action=$_COOKIE[$cookie_name];
}
Al primo step, ovvero quando la pagina viene invocata per la prima volta, i valori delle variabili risultano:
PHP:
-   strlen(strstr($_SESSION['name'], "dettaglio")) = 34
-   $_COOKIE[$cookie_name] = dettaglio-clienti_week_16_2018.xls
-   $GLOBALS['attachment'] = dettaglio-clienti_week_16_2018.xls
-   $action = dettaglio-clienti_week_16_2018.xls
-   $_SESSION['name'] = dettaglio-clienti_week_16_2018.xls
Fin qui tutto corretto.
Mentre al secondo passaggio (dopo il refresh della pagina causato da un bottone di submit di un form) le stesse variabili assumono i seguenti valori:
PHP:
-   strlen(strstr($_SESSION['name'], "dettaglio")) = 0
-   $_COOKIE[$cookie_name] = VUOTO
-   $GLOBALS['attachment'] = VUOTO
-   $action = VUOTO
-   $_SESSION['name'] = component/mailto/_week_//pstat.seco.it/QUADRO/index.php/component/mailto/?tmpl=component&template=lt_aircoms&link=f8159dfbe5f215f87d4d567cac1dbccd028_8560.xls
e compaiono i seguenti errori a video dopo il ricaricamento della pagina:
PHP:
Notice: Undefined index: name
Notice: Undefined index: attachment
Grazie mille a tutti per l'aiuto!

Rob
 
Ultima modifica di un moderatore:
@usura18
Da regolamento del forum, come tutti noi sei tenuto ad usare il tag
code.gif
quando posti del codice, oppure la funzione codice dalla barra degli strumenti
box inserisci 2.png.JPG

Inoltre ti prego di leggere attentamente il regolamento generale del forum e quello di sezione dove posti
Grazie
Per questa volta te lo sistemo io ma mi raccomando per il futuro
 
  • Like
Reactions: usura18
@Lorcuci
Non ti devi accodare a discussioni aperte da altri! Quando hai un problema apri una discussione tua nella sezione più adatta
 
@marcus_adi

avevo dimenticato sopra di postare l'assegnazione della variabile:
PHP:
$name="dettaglio-clienti_week_16_2018.xls"

ma il risultato non cambia, anche assegnandoglielo direttamente nel cookie... :(
 
PHP:
setcookie('nome_del_file','dettaglio-clienti_week_16_2018.xls',0,'/');

Sicuro che la tua macchina abbia i valori corretti??? Time()+3600 se impostato in modo errato da l'ora antecedente.... Prova a impostare il time a sessione ossia a 0
 

Discussioni simili