On Thursday 18 October 2001 18:41 pm, p.whiter wrote:
> Hi
> 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.
> Paul

I think you'll find NOW() to be the wrong function to use, as per 
manual:

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;
        -> 19971215235026

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().

regards
-- 
Jason Wong
Gremlins Associates
www.gremlins.com.hk

-- 
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]

Reply via email to