Stel een bezoeker heeft net een formulier verzonden en daarna vernieuwt hij de pagina. Als je geen controle inbouwt, worden de gegevens twee keer verzonden. Ik wil eens een elegante manier verzinnen om dat op te vangen.
Als het bijvoorbeeld gaat om het invoegen van de formuliergegevens in een db, zou je kunnen checken op dubbele records, maar misschien zijn er veel mooiere manieren. Ik ben benieuwd naar jullie gedachtes hierover?
Op mijn website maak ik gebruik van een "anti-flood" systeem... Maw, 30 seconden tussen elke post, of je krijgt een melding dat je nog x aantal seconden moet wachten :)
Vroeger heb ik dit ook eens gedaan door gewoon een directe refresh na het posten, dat werktte toen ook wel, maar was niet zo handig.
Of je kan de stijl die men hier toepast gebruiken, posten, pagina dat het in orde is, en doorlinken, dan is vernieuwen ook niet meer mogelijk (tenzij je vernieuw op de pagina met tekst dat het in orde is ;))
Of je kan iets met sessions doen..
Dat je een session aanmaakt bij het verzenden van de form, en als hij dan op een andere pagina komt, als het afgerond is, dat je hem dan unset ;)
En als hij dan refresh't, kijk dan of die session bestaat :P
Als je in je database één veld of een combinatie hebt van velden die 'uniek' zijn zal er geen dubbele invoer plaatshebben. En dan bedoel ik dus niet het id veld.
@Jip: Je bent wel lastig jij...(geintje) Maar je hebt wéér gelijk. Vijf keer hetzelfde mailtje versturen is inderdaad een mogelijkheid. Tja, nou moet ik écht na gaan denken.
Waarom stuur je de bezoeker niet gewoon opnieuw naar de pagina, waarom een refresh?
Jip schreef op 06.11.2005 15:17
Volgens mij bedoeld Jan dat wanneer de gebruiker zelf refresht, dan een dubbel iets krijgt...
Klopt, dat bedoel ik. Ze klikken submit, of typen enter. Om de één of andere reden gaat het traag of ze snappen niet wat er gebeurt, en dan gaan ze zélf refreshen. Ik heb nog niet alle antwoorden op deze post gelezen, ga ik nu doen.