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.
Sì, è un po' complicato come cookie, ma dovrebbe andare bene!Codice PHP:setcookie($cookie_name, base64_encode(serialize($_SESSION_VALUES)), time()+3600, '/')
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:
e tutto quello che segue, tra cui la miaCodice PHP:session_start();
Credo che non dovrebbe cambiare nulla rispetto a un minuto fa quando questa session non era settata.Codice PHP:$_SESSION['variable'] = 'pippo';
La procedura di logout, in buona sostanza non fa altro che:
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!Codice PHP:if (! setcookie ($cookie_name, NULL, time()-1, '/')) die('rimozione cookie non riuscita!');
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.

Rispondi quotando