Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    sessione gestita con cookie e logout da IE 10

    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_namebase64_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_nameNULLtime()-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.
    Non ho sbagliato: ho invece scoperto mille modi per fare lampadine che non funzionano...
    (Thomas Alva Edison)

  2. #2
    Volevo aggiungere una piccola prova che ho fatto.
    Ho modificato il mio logoff.php nella seguente maniera:
    Codice PHP:
    if (! $nick->remove_cookie (COOKIE_NAME)) die('rimozione cookie non riuscita!');
    echo 
    'utente: ' $_SESSION_VALUES['_USER'] . '
    '
    ;
    die (
    'va a ' BASE_DIR '/'); 
    Questo mi dà un output del tipo:
    codice:
    utente:  
    va a /public/test_nuovo/
    e si ferma...
    Se (a mano) vado a /public/test_nuovo/, la pagina risulta in logoff!
    Non ho sbagliato: ho invece scoperto mille modi per fare lampadine che non funzionano...
    (Thomas Alva Edison)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.