Website Data Integrity

I have got a simple questionaire hosted on the internet. It simply has a list of questions with ten multiple choice answers per question. I am looking for to ensure that the data is as genuine as possible, i.e. ensuring users only answer the question once. This is my main concern, but any other methods people use to ensure the quality of their data gained via the internet I would be interested in.

The website uses a SQL database, and uses PHP as well.

Any ideas, and lets hear them
LVL 1
Benjamin297Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

under_dogCommented:
I have a couple of suggestions for you.

First off it's worth saving the IP address of the user when you save their answers to the database. That way you can see if someone has filled out the questionaire more than once. Bear in mind that more than one person might access it from the same location, so don't automatically ignore them.

Make sure your multiple choice questions have an option that is "I don't know" or something similar which is preselected. I have seen many times forms like this that have the first answer selected as default, and if someone submits you don't know if they selected the answer or if they simply did nothing.
0
rdivilbissCommented:
Recognizing that all methods are subject to abuse-misuse...

IP restrictions could lock out users from dial-up sites, and/or AOL where many people could share an IP.

User Agent detection with IP could help, but I could use any of my multiple browsers to hit your form multiple times.

Your best bet, would be to save the answers in a temp table (or set a flag column) and e-mail the person a unique key. If they respond to the link in the e-mail, let the answers go to the main database (or toggle the waiting for confirmation flag column) and add the persons e-mail address and IP to the row.

Of course, one can have multiple e-mail addresses too.

Storing a cookie when the complete the form and checking for that before letting a new form be completed could help as well.

Everything can be circumvented, but storing IP, UserAgent and e-mail, may help you cull the data before summarizing it.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
PHP

From novice to tech pro — start learning today.