[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:

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.250
324
83
@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

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.250
324
83
@Lorcuci
Non ti devi accodare a discussioni aperte da altri! Quando hai un problema apri una discussione tua nella sezione più adatta
 

usura18

Nuovo Utente
10 Ago 2010
4
0
1
@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... :(
 

macus_adi

Utente Attivo
5 Dic 2017
1.266
82
48
IT/SW
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