Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885

    sessioni unsettate, ma se torno in un form le trovo ricompilate

    ciao a tutti, non so più a cosa pensare e vi chiedo aiuto..

    io ho una pagina dove un utente inserisce una serie di dati e le invia al server.
    il server esegue i controlli del caso e se corretti li scrive in un database e reinderizza ad un altro form
    se ce qualcosa che non va torna indietro e mostra errori.

    in entrambi i casi io salvo le variabili inserite dall'utente nelle sessioni.

    questi dati salvarti in sessioni mi servono per:
    in caso di errore --> restituisce il dato nel campo della form
    in caso di successo --> visualizza un riepilogo di tutti i dati appena inseriti.

    nel secondo caso (il successo) il riepilogo lo visualizzo in una pagina e al fondo una volta stampati i valori faccio un
    unset($_SESSION['nome_della_segmento_della_sessione'])
    in maniera da svuotare solo quella sessione che contiene i dati salvati dal form.

    ora ...

    il mio problema è che dopo il riepilogo se io torno nel form di inserimento dati i campi li trovo pieni degli stessi valori letti nel riepilogo.

    ho effettuato un prin_r($_SESSION) per vedere se gli array della sessione venivano svuotati con unset.
    ed effettivamente non li visualizza, vedo solo i dati salvati nella login.

    ma se entro nel modulo di inserimento(ossia il vecchio form) e se riuso print_r($_SESSION) li trovo belli carichi delle variabili salvate...

    ora mi chiedo e chiedo, ma se io precedentemente ho fatto un unset sulla sessione specificata non dovrebbe averli cancellati ?

    spero di ricevere risposte perchè non so più cosa pensare...
    Grazie anticipatamente!

  2. #2
    Sicuro anzitutto che non sia l'autocompletamento del browser?
    Comunque sia, è possibile vedere il codice?

  3. #3
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da FrancescoCiracì
    Sicuro anzitutto che non sia l'autocompletamento del browser?
    O magari la cache....
    come ci torni, alla pagina del form? Con il tasto 'indietro' del browser?

  4. #4
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    non saprei , ma se visualizzo con print_r($_SESSION) mi tira fuori le stesse sessioni che ho creato e valorizzate come dovrebbero prima di unsettare.

    questo è il modulo di riepilogo
    Codice PHP:
    //qui sopra ci sono le tabelle che visualizzano queste sessioni caricate precedentemente
    unset($_SESSION['a']);
         unset(
    $_SESSION['b']);
        unset(
    $_SESSION['c']);
        unset(
    $_SESSION['d']);
         unset(
    $_SESSION['e']);
        unset(
    $_SESSION['f']);
        unset(
    $_SESSION['g']);
      unset(
    $_SESSION['h']);
      unset(
    $_SESSION['i']);
        unset(
    $_SESSION['l']);
         unset(
    $_SESSION['m']);
         unset(
    $_SESSION['n']);
         unset(
    $_SESSION['o']);
         unset(
    $_SESSION['p']);

    //questo è il risultato del codice 
    echo "<pre>";
    print_r($_SESSION); echo "
    "
    ;
    echo 
    "</pre>";

    Array
    (
        [
    id] => 1
        
    [nome] => 0000
        
    [fisd] => 
        [
    id_soggetto] => 0000
        
    [star] => 
        [
    js] => 
        [
    idtabe] => 18
    )
    //questi sono i dati che devono sempre esistere ossia quelli di accesso 
    Questo è il risultato che mi trovo una volta tornato nel modulo del form
    Codice PHP:
    //il risultato del print_r è questo

     
    Selezionare il tipo di Persona  
    Persona giuridica 
    :   
    Persona fisica :   
      

    Array
    (
        [
    id] => 1
        
    [nome] => 0000
        
    [fisd] => 
        [
    id_soggetto] => 0000
        
    [star] => 
        [
    js] => 
         [
    a] => sadsadsda
        
    [b] => sadassd
        
    [c] => dsadas
        
    [d] => dsad
        
    [e] => ds
        
    [f] => 
        [
    g] => 12312312212
        
    [h] => 
        [
    i] => 
        [
    l] => 2
        
    [m] => 
        [
    n] => 
        [
    o] => 
        [
    p] => 
        [
    idtabe] => 18
        
    [tabelle] => Array
            (
                [
    1] => Array
                    (
                        [
    1] => SADD
                        
    [2] => 2010-01-04
                        
    [3] => 2010-01-27
                        
    [4] => 15.23
                        
    [5] => 
                        [
    6] => 15,23
                        
    [7] => 
                        [
    8] => 
                        [
    9] => tab[1]
                        [
    10] => 
                    )

                [
    2] => Array
                    (
                        [
    1] => SAD
                        
    [2] => 2010-01-12
                        
    [3] => 2010-01-27
                        
    [4] => 152.00
                        
    [5] => 
                        [
    6] => 152,00
                        
    [7] => 
                        [
    8] => 
                        [
    9] => tab[2]
                        [
    10] => 
                    )

            ) 
    le tabelle l'aray multidimensionale è caricato dopo il primo modulo (sesioni a,b,c,d,etc...)

    come vedi sono 'rigenerate'.
    non penso sia l'autocompletamento del browser quello ... poi non so bene come funzioni, ma dubito che sia quello... ho anche provato a chiudere browser, ma magari non basta... elimino i cookies....

    grazie della risposta rapida!

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da luca200
    come ci torni, alla pagina del form? Con il tasto 'indietro' del browser?

  6. #6
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    no , uso i link che ho messo nel menù!
    domanda ...
    ma se io unsetto alla fine della pagina non dovrebbe eliminarle ugualmente?

  7. #7
    si, ma potrebbe comunque dipendere dalla cache

    svuota la cache e l'autocompletamento dei form (per quei browser che te lo fanno fare), chiudi TUTTE le instanze del browser e riapri la pagina

  8. #8
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    ok , ora ci proverò ... ma non sapevo che la cache riempisse e ricaricasse le sessioni !

  9. #9
    non è la cache che ricarica le sessioni ma il browser che ti mostra la pagina uguale perché lui pensa, in base agli headers, che non sia cambiato nulla

    infatti è conveniente spedire gli headers per bloccare la cache del browser dal conservare le pagine, soprattutto per firefox che è un attimo troppo aggressivo

  10. #10
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    infatti è conveniente spedire gli headers per bloccare la cache del browser
    ahh ok ora è leggermente piu chiaro
    io utilizzo gli header per reindirizzare ad altre pagine e poi un link sulla pagina visualizzata per rimostrare il modulo (form).

    come faccio a usare gli headers per bloccare la cache?

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.