Mi succede una cosa strana: nella mia procedura l'utente si registra con il settaggio di un cookie. Questo mi dà il vantaggio di poter avere più sessioni del medesimo utente dallo stesso browser senza interferenze.
Purtroppo il sito è Windows e debbo usare PHP su Windows.
Viene comunque creato un cookie e non servirebbe alcuna session.
Codice PHP:
setcookie($cookie_name, base64_encode(serialize($_SESSION_VALUES)), time()+3600, '/')
Sì, è un po' complicato come cookie, ma dovrebbe andare bene!
Il problema nasce da quando (per una procdura collaterale) ho dovuto settare una variabile nella super globale $_SESSION: ho trovato del codice già fatto che usa $_SESSION e per me andava anche bene così.
Nelle pagine in cui mi serve ho pertanto aggiunto in cima:
Codice PHP:
session_start();
e tutto quello che segue, tra cui la mia
Codice PHP:
$_SESSION['variable'] = 'pippo';
Credo che non dovrebbe cambiare nulla rispetto a un minuto fa quando questa session non era settata.
La procedura di logout, in buona sostanza non fa altro che:
Codice PHP:
if (! setcookie ($cookie_name, NULL, time()-1, '/')) die('rimozione cookie non riuscita!');
Ok, questo funziona bene con qualsiasi browser, tranne con Internet Explorer 10. A dire il vero IE 10 è quello che ho io, non so come si comporti con gli atri IE!
Ho anche provato ad aggiungere un session_unset(), ma con nessun risultato.
Ah! Dimenticavo di dire che non vedo alcun errore durante l'esecuzione. Apparentemente il cookie viene distrutto. Invece, se vado nella pagina richiamata subito dopo la distruzione, il cookie è bello integro e con tutti i valori settati! Questo, solo su IE, naturalmente.
Qualche idea?
Grazie.