Situazione 1:
Immaginiamo di avere una pagina A con un form che chiama la stessa pagina A che controlla i dati e crea un record con i dati inseriti.

Ogni volta che viene premuto F5, la pagina A cerca di creare un nuovo record.

Oppure, se continuo nella navigazione, una volta che viene premuto il tasto "indietro", arrivando nella pagina A, la pagina cercherà di creare un nuovo record.

Situazione 2:
La pagina A contiene un form di aggiunta/modifica/correzione record. Premendo il tasto "invia", viene chiamata una pagina B che controlla i dati, li salva se sono corretti ed effettua un redirect ad un'altra pagina.

Se i dati invece sono errati, la pagina B effettua il redirect verso la pagina A.

In questo modo i tasti "indietro" e "avanti" non intercetteranno mai la pagina B, quindi non ci saranno modifiche involontarie ai dati.

Purtroppo però l'unico modo che mi viene in mente per mandare i dati errati dalla pagina B alla pagina A è attraverso variabili di sessione. Se lo stesso utente effettua due modifiche da due finestre del browser, le variabili di sessione sono sempre le stesse e penso che tutto si incasini.

Avete qualche suggerimento da darmi?