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

    Invio form: quando si ritorna indietro al form, i valori dei campi si cancellano

    Mi spiego meglio:

    Ho una pagina A, contenente un form pieno di campi testuali; Dalla pagina A si passa, inviando il form, alla pagina B.

    Nella pagina B si fa un controllo, e se il controllo non passa, viene dato un messaggio di errore e viene chiesto di tornare indietro al form A.
    Qui il problema: i campi si sono svuotati tutti, e il povero utente è costretto a reinserire tutti i dati!

    Vedo che in molti siti il problema non sussiste: come mai?


    p.s. non sono sicuro che il 3d riguardi esclusivamente il php; in tal caso chiedo scusa ai mods

  2. #2
    salva i dati nelle sessioni e richiamali nel form

  3. #3
    fai un controllo in javascript direttamente nella pagina A, in questo modo, se i valori non superano il controllo non viene neanche richiamata la pagina B...

  4. #4
    X dvjack:
    il controllo javascript (lato client) non è possibile farlo, in quanto ad es. si deve controllare che l'user non esista già: questo è un controllo che si può fare solamente accedendo al database (lato server)

    X robertes:
    sì, ci ho pensato, così dovrebbe funzionare, ma sono sicuro che c'è un modo esplicito di dire che i dati devono rimanese se si torna indietro. Anche nel forum, se si clicca su "ricerca", si inseriscono dei campi, poi si clicca su "cerca" e immediatamente si torna indietro, i campi rimangono


  5. #5
    ragazzi, ho focalizzato il problema, ed ho capito che in generale, i valori dei campi RIMANGONO MEMORIZZATI.
    Nel mio caso ciò non avviene perché nel file php eseguo l'istruzione session_start()
    Non so perché avviene ciò, ho solo fatto delle prove, ed ho constatato che se tolgo questa istruzione, allora i valori dei campi compilati non si perdono quando si torna indietro dalla pagina.


    Qualcuno mi sa dare una spiegazione ed una soluzione?

  6. #6
    Ho risolto il problema!


    scrivo per aiutare chiunque possa incappare nello stesso problema:

    dunque, ho cercato sul sito php.net l'istruzione session_start, e nei commenti aggiuntivi ho trovato proprio ciò che faceva per me.
    Anche se non ho capito il perché di tutto ciò, se dopo l'istruzione session_start() si imposta questo header:

    header("Cache-control: private");

    tutto funge!


    grazie lo stesso raga, e se qualcuno sa dare spiegazioni mi farebbe piacere

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.