On Wed, 2010-06-16 at 20:36 +0200, David Cesal wrote:

> Please, don't forget IP address can be same for many users. I see only way 
> with cookies. When user deletes cookies, form pops up again. I don't know any 
> better way.
> David
> Sent from my HTC
> -----Original Message-----
> From: Juan Rodriguez Monti <j...@rodriguezmonti.com.ar>
> Sent: 16. cervna 2010 20:26
> To: php-general@lists.php.net
> Subject: [PHP] User's IP Validation
> Hi people,
> I would like to know the best way to perform some kind of validation
> for an application that I've written.
> I have a system that ask through an HTML Form some questions to users.
> I use some cookies to save some information from the user side.
> However, I would like to implement some code in PHP that would let me
> limit to 1 the number of times that the page with the questions was
> executed.
> I mean, the user fills the HTML's Form, then send it through an HTML
> Button, then PHP receives this informations and send an Email
> containing the replies to the questions. I would like to limit to one,
> the times one single user is able to execute this form.
> I thought getting the IP Address, then doing some kind of validation
> with it. However I don't know if using cookies is the best idea. I
> don't have access to a DataBase for this. So I thought might be a good
> idea write to a file in the server the IP, then perform some if to
> know if the user already replied the form.
> As far as I don't know which is the best way to code this, I felt free
> to ask you guys.
> Thanks a lot.
> Juan
> -- 
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php

Like others have said, unless you have specific user logins, there's no
way to prevent people from viewing the form more than once. As you are
emailing them the answers, I assume there is some form of login system
being used, so you could use that, with some sort of flag to indicate
the email has been sent. If you want to future-proof the system, you
could use some sort of binary bit flag to indicate what forms they've
been sent answers to, for example:

0 - no answers have been sent
1 - only the first set of answers
4 - the 3rd set of answers only
5 - the 3rd and 1st set of answers

etc. This would allow you to use one field to hold sent info on as many
forms as you need.


Reply via email to