for mySQL, the table would look like...
 
CREATE TABLE polls(
 pollID INT NOT NULL AUTO_INCREMENT,
 ipAddress VARCHAR (50) NULL,
 insertTime DATETIME NULL,
 etc...
 
 PRIMARY KEY (pollID)
);
 
===========================================================
the code would look like...

$statement = "select pollID from polls where insertTime > (now() - INTERVAL
1 HOUR)";  //see mySQL date time functions for a description of this
$result = mysql_query($statement);
$rowsReturned = mysql_num_rows($result);
 
if($rowsReturned){
 print "Sorry you already voted in the last hour";
}else{
 "insert into polls (ipAddress,insertTime) values ('$ipAddress',now())";
}
 

P.S. - "now()" is a database function that will insert the time for you
(mySQL is usually yyyy-dd-mm hh:mm:ss)

-----Original Message-----
From: wade [mailto:[EMAIL PROTECTED]] 
Sent: Wednesday, October 02, 2002 2:56 PM
To: Vincent, Jason [BRAM:1334:EXCH]
Subject: Re: [PHP-DB] Difference in time


MYSQL 

Here is a sample of what I am doing 
  


$ip = $_SERVER['REMOTE_ADDR']; 
        $time_now = mktime(); 
  
        // open connection to database 
        $connection = mysql_connect($hostname, $user, $pass) or die ("Unable
to connect!"); 
  
        // get the IP and stored DB time 
        $query = "SELECT ip_address, server_time 
                 FROM stats 
                WHERE ip_address = '$ip'"; 
        $result = mysql_db_query($database, $query, $connection) or die
("Error in query: $query. " . mysql_error()); 
  
        $row = mysql_fetch_array($result); 
        $get_ip = $row['ip_address']; 
        $get_server_time = $row['server_time']; 
  
        // close connection 
        mysql_close($connection); 
        mysql_free_result($result); 
  
        if ($ip == $get_ip) 
                { 
                $connection = mysql_connect($hostname, $user, $pass) or die
("Unable to connect!"); 
                $query="select * from stats where server_time > 'now()- 1
hour' and ip_address = '$ip'"; 
                $result = mysql_db_query($database, $query, $connection) or
die ("Error in query: $query. " . mysql_error()); 
  
                $row = mysql_fetch_array($result); 
                $get_ip2 = $row['ip_address']; 
                $get_server_time2 = $row['server_time']; 
                // close connection 
                mysql_close($connection); 
                mysql_free_result($result); 
  
                if ($get_server_time2) 
                        { 
                        echo "Sorry cannot vote"; 
                        exit; 
                        } 
                } 


Jason Vincent wrote: 


  

what kind of database are you using? 


-----Original Message----- 
From: wade [mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> ] 
Sent: Wednesday, October 02, 2002 2:47 PM 
To: Vincent, Jason [BRAM:1334:EXCH] 
Subject: Re: [PHP-DB] Difference in time 


One question on this issue. What should I store in the database mktime( ).
time( )? 


Jason Vincent wrote: 


> yeah - the mktime function is returning unix style time (seconds since 
> 1970) which is why only the last few numbers are changing.  I would 
> recommend letting the database decide who is able to submit... i.e. 
> 
> select * from database where lastSubmitDate > 'now()- 1 hour' and IP = 
> '$ipaddress' 
> 
> if there is a returned record from the database, you know that this 
> person has made a submission in the last hour.  Otherwise, let them 
> submit again 
> 
> Obviously, you will need to figure out the sytax for the now() -1 hour 
> part depending on your database. 
> 
> -----Original Message----- 
> From: wade [mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> ] 
> Sent: Wednesday, October 02, 2002 1:29 PM 
> To: [EMAIL PROTECTED] 
> Subject: [PHP-DB] Difference in time 
> 
> Hello all, 
> 
> I am fighting a time issue(don't we all). I have a online poll set up. 
> I need a way to stop a person from submitting more than once an hour. 
> As of now I have the time .. mktime( 
> ) .. being stored in a database along 
> with the users IP. 
> 
> I want to be able to say if 1 hour has passed from the time .. mktime( 
> ) .. that is stored in the db they can vote once again. This also has 
> to account that if someone goes to the poll tomorrow at the same time 
> (same 
> hour) the script knows it's a different hour and different day. 
> 
> Scenario: I submit to the poll at 12:00 PM, one hour from now will be 
> 1:00 PM and I can submit again. Now lets say it's 12:00 PM the next 
> day. The database stored time will say 12:00 PM of the day before, It 
> will not let me submit because it thinks that it has to be at least 
> 1:00 PM before I can submit again. Which is wrong. 
> 
> I was trying to use the mktime( ) function but it keeps giving me 
> these results.(( 1033578795 )) The last few numbers change but the 
> first few (that as suppose to be the hour) does not change? mktime(int 
> hour, int minute, int second, int month, int day, int year). How can I 
> use this mktime( ) function to do what I need it to? Am I going in the 
> wrong direction? 
> 
> Thank you very much 
> Wade 
> 
> -- 
> Should you have any questions, comments or concerns, feel free to call 
> me at 318-338-2033. 
> 
> Thank you for your time, 
> 
> Wade Kelley, Design Engineer 
> ================================================ 
> Bayou Internet...(888) 30-BAYOU...http://www.bayou.com
<http://www.bayou.com>  Mississippi 
> Internet...(800) MISSISSIPPI...http://www.mississippi.net
<http://www.mississippi.net>  
> Vicksburg Online...(800) MISSISSIPPI...http://www.vicksburg.com
<http://www.vicksburg.com>  
> ================================================ 


-- 
Should you have any questions, comments or concerns, feel free to call me at
318-338-2033. 


Thank you for your time, 


Wade Kelley, Design Engineer
================================================ 
Bayou Internet...(888) 30-BAYOU...http://www.bayou.com
<http://www.bayou.com>  Mississippi Internet...(800)
MISSISSIPPI...http://www.mississippi.net <http://www.mississippi.net>  


Vicksburg Online...(800) MISSISSIPPI...http://www.vicksburg.com
<http://www.vicksburg.com>  
================================================ 
 

-- 
Should you have any questions, comments or concerns, feel free to call me at
318-338-2033. 


Thank you for your time, 


Wade Kelley, Design Engineer 
================================================ 
Bayou Internet...(888) 30-BAYOU...http://www.bayou.com
<http://www.bayou.com>  
Mississippi Internet...(800) MISSISSIPPI...http://www.mississippi.net
<http://www.mississippi.net>  
Vicksburg Online...(800) MISSISSIPPI...http://www.vicksburg.com
<http://www.vicksburg.com>  
================================================ 
  

Reply via email to