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

    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

  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
    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...

  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
    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?

  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
    Ho cambiato ['auth'] con ['autenticato'] ma non va lo stesso. non ho da nessuna parte una variabile $auth o $autenticato

  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

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.