|
Forum Flash, Actionscript, PHP e MySQL
|
|
|
|
|
|
| Autore |
Messaggio |
Eugene
principiante


Età: -1969
Registrato: 08/09/06 14:48
Messaggi: 60
Località: Dagobah
|
Oggetto: Cancellare dati form
Inviato: 23.09.07 | 19:00 |
|
|
Buonasera.
Ho un bellissimo form nel quale i campi vengono controllati lato server.
Se qualche campo non è stato correttamente compilato, si viene reindirizzati ad una pagina nella quale si informa dell'errore e si invita a tornare al form per completarne la compilazione.
Quindi, usando il tasto "indietro" si torna al form nel quale i campi eventualmente già compilati restano tali, limitando la compilazione a quelli lasciati vuoti inizialmente.
Fin qui tutto bene.
Ma nel caso in cui il form sia stato correttamente compilato, si viene mandati ad una pagina nella quale si informa dell'invio di un'email di conferma.
Se facciamo "indietro" da questa pagina, ritorniamo al form ancora compilato, ma stavolta non dovrebbe essere così, dal momento che una volta inviato il form si dovrebbe svuotare.
Nella speranza di aver esposto chiaramente la faccenda, qualcuno potrebbe indicarmi come risolvere quest'imprevisto?
Grazie. ____________________________________________________________ <-- Fare. O non fare. Non c'è provare. -->
www.yodastudio.com
segui YODA Studio su facebook |
|
| Torna in cima |
|
|
Sponsor
|
|
 |
AngaraT
intermedio


Registrato: 23/03/04 21:10
Messaggi: 152
|
Oggetto:
Inviato: 24.09.07 | 15:31 |
|
|
Ciao, forse non ho capito benissimo il tuo problema, ma se fosse dovuto al tasto "indietro" del browser dovresti inviare degli header supplementari come nell'esempio qui sotto
http://it.php.net/header
| Codice: | /*http://it.php.net/header
Spesso gli scrit PHP generano contenuti dinamici, se volete evitare che i contenuti vengano mantenuti nella cache di browser o proxy,
potete forzare il loro comportamento con questa direttiva:*/
//inizio direttiva
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
//fine direttiva
if(isset($_POST["azienda"])){$azienda=htmlentities($_POST["azienda"]);}else{$azienda=NULL;}
if(isset($_POST["nome"])){$nome=htmlentities($_POST["nome"]);}else{$nome=NULL;}
if($azienda==NULL || $nome==NULL){ // se non ho nessun valore vedo il form
if($azienda=="" && isset($_POST['invia'])){echo ('<div>Compila il campo azienda</font></div>');}
if($nome=="" && isset($_POST['invia'])){echo ('<div>Compila il campo nome</font></div>');}
echo ('<form name="form1" method="post" action="">
Nome <input name="nome" type="text" id="nome" size="45" value="'.$nome.'" /><br />
Azienda <input name="azienda" type="text" id="azienda" size="45" value="'.$azienda.'" /><br />
<input name="cancella" type="reset" value="Reimposta" />
<input name="invia" type="submit" value="Invia" />
</form>
');
} else { // altrimenti se ho premuto invio ed ho compilato tutti i campi inviola mail
mail("info@eugene.eu","Oggetto","
Nome: ".$_POST["azienda"]."
Azienda: ".$_POST["azienda"]."
", "From: info@eugene.eu" );
echo "Grazie, sarai ricontattato entro breve.";
} |
spero di esserti stato utile, fammi sapere
Angarat |
|
| Torna in cima |
|
|
Eugene
principiante


Età: -1969
Registrato: 08/09/06 14:48
Messaggi: 60
Località: Dagobah
|
Oggetto:
Inviato: 11.10.07 | 18:20 |
|
|
Non ho avuto modo di provare il codice che hai indicato, ma mi sembra di capire che venga cancellato tutto il contenuto del form al momento dell'invio tramite la direttiva riportata.
In quale momento agisce questa direttiva?
Perchè l'ideale sarebbe se venisse eseguita solo all'invio della mail e non al caricamento della pagina php, dal momento che la pagina php potrebbe contenere dei controlli sui campi e quindi potrebbe essere necessario tornare indietro per modificare i campi non corretti.
In questo caso sarebbe opportuno ritrovare il form compilato.
In ogni caso grazie per l'aiuto. ____________________________________________________________ <-- Fare. O non fare. Non c'è provare. -->
www.yodastudio.com
segui YODA Studio su facebook |
|
| Torna in cima |
|
|
AngaraT
intermedio


Registrato: 23/03/04 21:10
Messaggi: 152
|
Oggetto:
Inviato: 11.10.07 | 18:40 |
|
|
| Eugene ha scritto: | | ...l'ideale sarebbe se venisse eseguita solo all'invio della mail.... |
mi sembra una modifica elementare da apportare allo script quella da te richiesta, prova lo scriptino che ti ho postato prima.
....
| Codice: | if($azienda==NULL || $nome==NULL){
//qui ci metto il form
} else {
// qui metto tutto il resto l'invio mail e forse la direttiva... ;-)
} |
.... |
|
| Torna in cima |
|
|
Eugene
principiante


Età: -1969
Registrato: 08/09/06 14:48
Messaggi: 60
Località: Dagobah
|
Oggetto:
Inviato: 13.10.07 | 15:42 |
|
|
| AngaraT ha scritto: | | mi sembra una modifica elementare da apportare allo script quella da te richiesta... |
Lo pensavo anche io, non appena mi sarà possibile fare qualche prova ti farò sapere.
Grazie mille. ____________________________________________________________ <-- Fare. O non fare. Non c'è provare. -->
www.yodastudio.com
segui YODA Studio su facebook |
|
| Torna in cima |
|
|
|
|
Non puoi inserire nuovi Topic in questo forum Non puoi rispondere ai Topic in questo forum Non puoi modificare i tuoi messaggi in questo forum Non puoi cancellare i tuoi messaggi in questo forum Non puoi votare nei sondaggi in questo forum Non puoi allegare files in questo forum Non puoi downloadare gli allegati in questo forum
|
|