Reinvio di eMail indesiderate su refresh del browser

Buongiorno a tutti   ;)

Segnalo un inconveniente che può verificarsi quando si spediscono delle email

attraverso una pagina PHP, che acquisisce l'input dell'utente da un modulo. Se questa pagina viene riaggiornata con un refresh da parte dall'utente, l'email viene reinviata.

Se si riesce a cancellare le variabili contenute in $HTTP_POST_VARS o $HTTP_GET_VARS si dovrebbe risolvere la quastione, qualcuno ha qualche idea ?

Un saluto a tutta la comunità di PHPNews, e in particolare all'invincibile Gianni  :bye:

inviato 11 anni fa
SkipperOne
X 0 X
Un saluto a tutta la comunità di PHPNews, e in particolare all'invincibile Gianni  :bye:

 :2funny:

Ciao SkipperOne, il problema che hai sollevato in realtà affligge tutte le pagine che provengono direttamente da un POST. Infatti il browser quando effettua il refresh di una pagina, se questa è stata invocata la prima volta a seguito di un POST (ad es. invio dei dati di un form), rimanda nuovamente questi dati.

Esiste però uno stratagemma abbastanza semplice per risolvere il problema: realizzare 3 pagine.

1) La pagina A crea e mostra il form all'utente

2) la pagina B riceve i dati del form, gli elabora (invia mail, effettua query, ecc) ed effettua un redirect alla pagina C header("location: C.php");

3) La pagina C mostra i risultati ottenuti dalla pagina B

E' interessante notare che la pagina B non viene mai inviata al browser pertanto non sarà soggetta mai a refresh. Le pagine che raggiungono il browser sono la A e la C, ma nessuna di queste è legata direttamente ai dati del form.

Spero di essermi spiegato.

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Ciao Gianni sei stato chiarissimo  O0 grazie per la dritta.

risposto 11 anni fa
SkipperOne
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda