Fill out form once only per visitor

Permalink
Is there a way to give visitors only one go at filling out a form? For example if I have a questionnaire, how would I prevent a visitor from filling it out and submitting it multiple times?

 
JohntheFish replied on at Permalink Reply
JohntheFish
Some of the advanced form addons can be set to add a user to a group after submission. You can then use group membership and block permissions to show the form or an alternate block.

I don't know if the basic form supports such behaviour.
enlil replied on at Permalink Reply
enlil
What John has explained seems to be the best route!! Make the page with the form on it and restrict access to the page for anyone who is in the "formdone" user group.

Then, using a form add-on that places a user in a user group upon submission, set it to place all submitting users into the "formdone" user group. Once they submit the form they will no longer be able to view the form page!!
Oliwally replied on at Permalink Reply
Hmmm. What about anonymous visitors who is not a registered user? Is there a way to set a cookie that will prevent that anonymous visitor from submitting multiple times? Of course more savvy internet users will find a way around this, but for the average user it wold be sufficient.
enlil replied on at Permalink Reply
enlil
you can always set access to restrict "guest" users from seeing the form as well !!
Oliwally replied on at Permalink Reply
That's a good option!

But what if I want to have some feedback from visitors about some issue, but I don't want them to have to become members/users?

I've seen other websites run surveys/forms with that type of function. You get to fill the form out once and then after that you're told that you have already had a go, please go away :)
Unless, of course, you use anonymous/private/incognito browsing. I'm guessing in that mode the cookie just doesn't get set.
enlil replied on at Permalink Reply
enlil
Simply create another form somewhere else on the site for basic feedback or questions!
enlil replied on at Permalink Reply
enlil
Sorry I misunderstood your question. I don't think there is any way other than using cookies based on IP perhaps, to restrict guests from submitting more than once.
Oliwally replied on at Permalink Reply
Thanks for you help enlil.

So then, is there a package/module that will allow setting a cookie based on ip?

This may be getting in much deeper than I can handle ;)
JohntheFish replied on at Permalink Reply
JohntheFish
You really need to browse the forms and questionnaire packages in the marketplace and ask the respective developers directly about this sort of functionality.
brownwingstudio replied on at Permalink Reply
brownwingstudio
Did you ever get this working? I need to do the same thing but can't seem to find a form add-on that will automatically add a user to a group when a form is submitted.
cmerritt replied on at Permalink Reply 1 Attachment
cmerritt
Hi,

I had to set up a competition entry form where visitors could only enter once. I used Advanced Forms add on and set the email field on the form to "validate as unique".
This restricts to form to one submission per email address which worked for us.
This was the simplest solution I could think of to do this.
I hope this helps.

Colin
brownwingstudio replied on at Permalink Reply
brownwingstudio
Thanks. I appreciate the info. :)