Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    121

    [PHP] evitare post data nel refresh

    ho una pagina php in cui c'è un form che richiama la stessa pagina e intanto aggiorna il database.

    se faccio refresh della pagina, mi avverte che ci sono post data e se dò ok intesrisce nuovamente i dati nel db creando un doppione.

    c'è un modo per evitare questa situazione?
    oltre che dire annulla nel messaggio di avvio?

  2. #2
    io di solito faccio una cosa del genere:
    ho un form che faccio processare nella stessa pagina, faccio tutti i controlli del caso (su campi obbligatori, forme del testo etc) e solo quando non ci sono errori faccio l'inserimento nel db. Se l'inserimento è andato a buon fine il form non lo faccio più vedere e faccio comparire una scritta che mi dice che l'inserimento è completato, dopodiché faccio un redirect di modo che i dati in post vengano "persi".

    Poi se uno si mette a giocare con i back del browser troverà ancora i dati, ma se uno vuole rompere per forza non so che farci

    comunqe a volte ho risolto in maniera diversa, ossia una volta fatto l'inserimento mi setto una variabile di sessione (un flag tipo true o false) e se la variabile è a true vuol dire che l'inserimento è avvenuto e non ne faccio più in seguito.





    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  3. #3
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    121
    ottime le tue soluzioni, per ora ho risolto più semplicemente
    facendo un refresh della pagina con il submit, pare funzionare.

  4. #4
    Originariamente inviato da stabilo
    ottime le tue soluzioni, per ora ho risolto più semplicemente
    facendo un refresh della pagina con il submit, pare funzionare.
    si in effetti il redirect che facevo io era una cosa del genere:
    header("location: ".$_SERVER['PHP_SELF'])


    quindi alla fin fine un refresh.



    Ciao!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

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.