how to avoid multiple submission of form?

simak82 06 Mar, 2013
Hello,

we have a kind of voting competition on our website. And I need to find a way to allow the voters to fill in and submit the form only once. It is not intended for registered users so I can identify them probably only by ip address or email.

The form contains the following fields which are saved to the database when the form is submitted:
First Name, Surname, postal address, email. I would like to check the email on submit if it is already stored in the database and if yes then cancel the submission and display a message like "You have already voted"

Is there a simple way how avoid users from multiple submission of a form? If yes, could somebody give me an example to show me what to do? I am really desperate from it, I cant figure it out for two days...
GreyHead 07 Mar, 2013
Hi simak82,

When they vote:

a) put a cookie on their computer;

b) save their email address and IP address to a database table with their vote.

When you get a new form load: check for (a) on the On Load event and for (b) on the On Submit event.

Bob

PS In some places IP addresses can be shared and/or change from time to time so this is a less reliable check
simak82 07 Mar, 2013
Hi Bob,

thank you for the reply. I had a very similar rugh idea as you proposed, but how to do that? I always save their email and Ip address to the database. But I dont know how to check it on submit.
My PHP and MYSQL skills are quite limited. Is there a specific action in chronoforms or I have to write some custom code? Please could you give some more detailed example how to do that. E.g. some basic code or whatever😟 Thank you in advance
GreyHead 08 Mar, 2013
Hi simak82,

There is nothing build in to ChronoForms to do the checks for you. You'd need a few lines of MySQL and PHP to do the checks, probably in a Custom Serverside Validation action.

Bob
This topic is locked and no more replies can be posted.