problema con form scrittura su mysql

master1986

Utente Attivo
8 Ott 2012
234
0
16
ciao a tutti, ho un problema che sicuramente qualcuno di voi sarà risolvere, poichè penso ci sia una soluzione


possiedo un form in cui scrivo in una texterea un contenuto, successivamente cliccando sul tasto "submit" invio il contenuto tramite metodo post a un file php "scrivi.php" che si occupa di inviare tramite mysql query il dato al mysql.


fino a qui tutto bene funziona, il problema è il refresh, cioè può capitare che un utente "per sbaglio" clicchi sul file scrivi.php riaggiornandolo. se succede questo il file sovrascrive il dato sul database in bianco :(


devo assolutamente rendere eseguibile il file scrivi.php solo cliccando su "submit" nel form. se un utente aggiorna il file deve comparlirli un messaggio che lo rimanda alla pagina del form "senza aggiornare il database"


è possibile tutto questo?
 
Basta fare una cosa:
Nel file scrivi.php una volta effettuato l'aggiornamento e l'inserimento dei dati nel db indirizza l'utente alla pagina di prima (quella con il form) o alla home magari con un messaggio 'inserimento effettuato con successo'.
In questo modo puoi evitare che ci sia quel problema e rendi il funzionamento più efficace.

P.S. Ricordati di controllare i dati prima di inserirli nel db.
 
Basta fare una cosa:
Nel file scrivi.php una volta effettuato l'aggiornamento e l'inserimento dei dati nel db indirizza l'utente alla pagina di prima (quella con il form) o alla home magari con un messaggio 'inserimento effettuato con successo'.
In questo modo puoi evitare che ci sia quel problema e rendi il funzionamento più efficace.

P.S. Ricordati di controllare i dati prima di inserirli nel db.



mi hai fatto venire una bella idea longo, si infatti mettendo questo messaggio e poi un redirect dopo 2/3 secondi il tutto è più funzionale
 
:)
Ti dirò di più. Se fai la redirect subito e fai uscire il messaggio di inserimento effettuato con successo sulla pagina dove si trovava prima è ancora meglio.
Magari il messaggio te lo passi di nuovo via get e fai gli opportuni controlli.
 

Discussioni simili