Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di sir daniel
    Registrato dal
    Dec 2007
    residenza
    Romania
    Messaggi
    379

    Perdita di sessioni in firefox

    Ho un login scritto da me, mi loggo e tutto funziona, in tutte le pagine.
    Vado nella pagina della lista delle notizie e mi riporta alla pagina del login dicendomi nome utente e password errati, come se avesse perso i dati contenuti nella sessione.
    Questo però me lo fa solo con firefox, se faccio con ie va tutto bene.

    lo script che controlla il login è inserito in ogni pagina del pannello amministratore ed è questo:

    Codice PHP:
    <?php
    function auth()
    {
        if(empty(
    $_SESSION['auth']))
        {
            
    header("Location: index.php?alert=1");
            die();
        }
        else
        {
            
    session_regenerate_id(true);
        }
    }
    ?>
    Ora provo a cambiarlo mettendogli $_SESSION['auth'] != 1
    Non so che fare, è una cosa veramente fastidiosa!

    EDIT: fa lo stesso errore
    BUT. Honestly - Clarity without the comfortHonest writing by Nicola Mustone on the messy overlap between humans and tech.

  2. #2
    Ciao, la sessione viene avviata in ogni pagina che viene eseguita?
    In $_SESSION['auth'] cosa viene inserito?
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  3. #3
    Se ogni pagina del sito è indipendente devi inserire il session_start() in ognuna di esse...

    Altrimenti ovvio che ti perde la sessione

  4. #4
    Utente di HTML.it L'avatar di sir daniel
    Registrato dal
    Dec 2007
    residenza
    Romania
    Messaggi
    379
    si session_start() c'è in ogni pagina.

    In $_SESSION['auth'] viene inserito 1 in caso positivo altrimenti 0.

    Session_start ci deve essere, altrimenti non avrebbe senso che con gli altri browser funziona...
    BUT. Honestly - Clarity without the comfortHonest writing by Nicola Mustone on the messy overlap between humans and tech.

  5. #5
    Hai provato a controllare il contenuto dell'array $_SESSION mediante: print_r($_SESSION);

    Altra cosa session_start() viene chiamata prima di un eventuale output?
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  6. #6
    Utente di HTML.it L'avatar di sir daniel
    Registrato dal
    Dec 2007
    residenza
    Romania
    Messaggi
    379
    si, viene richiamata appena dopo i tag di apertura di php.

    Devo provare a stampare i contenuti di $_SESSION.

    Ma io non riesco a capire perchè con ie, crome, opera, netscape, safari funziona e con firefox no.
    Se ci sono errori nel codice, dovrebbero verificarsi anche con gli altri browser o sbaglio?
    BUT. Honestly - Clarity without the comfortHonest writing by Nicola Mustone on the messy overlap between humans and tech.

  7. #7
    Quello che dici è vero, però ricordo che molto tempo fà (se ricordo bene) ho avuto anche io un problema del genere, ovvero su firefox non funzionava qualche volta la sessione. Mi pare che il problema fu, ma non ne sono sicuro, che per sessioni che avevano lo stesso nome di variabili c'era un problema, ovvero se in una pagina avevo una variabile $variabile, e mi trovavo con una sessione $_SESSIONE['variabile'], mi generava problemi, quindi modificai il nome della sessione.
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  8. #8
    Utente di HTML.it L'avatar di sir daniel
    Registrato dal
    Dec 2007
    residenza
    Romania
    Messaggi
    379
    Ho cambiato ['auth'] con ['autenticato'] ma non va lo stesso. non ho da nessuna parte una variabile $auth o $autenticato
    BUT. Honestly - Clarity without the comfortHonest writing by Nicola Mustone on the messy overlap between humans and tech.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    204
    Se invece di utilizzare la funzione empty() utilizzassi isset? Cambia qualcosa?

    Codice PHP:
    <?php
    function auth()
    {
        if(!isset(
    $_SESSION['auth']))
        {
            
    header("Location: index.php?alert=1");
            die();
        }
        else
        {
            
    session_regenerate_id(true);
        }
    }
    ?>
    Hai provato a svuotare cronologia e cache del browser?

  10. #10
    Utente di HTML.it L'avatar di sir daniel
    Registrato dal
    Dec 2007
    residenza
    Romania
    Messaggi
    379
    ho provato entrambe le cose e non cambia niente
    BUT. Honestly - Clarity without the comfortHonest writing by Nicola Mustone on the messy overlap between humans and tech.

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.