On Thursday 18 October 2001 18:41 pm, p.whiter wrote:
> I am trying to set-up a type of anti-flood block on one of my forms,
> the way I am doing this is that when the first submission is made I
> log various details into a user_log table including IP no and a
> Timestamp (14) column called log_time. Now if the button is clicked
> again the php script will run the following query:
> SELECT user_ip FROM clinic_log WHERE user_ip = '$pw_userIP' AND
> (((NOW()+0) - clinic_log.log_time ) < 300)
> What I am (trying) doing here is to check the users IP ($pw_userIP)
> against the user_ip column in the database and if it matches then
> check to see whether it has been there for less than 300 seconds.
> I have just spent the last couple of hours trying to get this
> working......it doesn't want to know. It keeps finding the matching
> IP and disregarding the time calculation......
> Thanks for any help.
I think you'll find NOW() to be the wrong function to use, as per
Returns the current date and time as a value in 'YYYY-MM-DD HH:MM:SS'
or YYYYMMDDHHMMSS format, depending on whether the function is used in
a string or numeric context:
mysql> select NOW();
-> '1997-12-15 23:50:26'
mysql> select NOW() + 0;
As you can see what it returns is clearly unsuitable for what you have
in mind. Your best bet is probably to use UNIX_TIMESTAMP().
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]