RE: [PHP-DB] Difference in time

2002-10-02 Thread John W. Holmes

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

SELECT 1 FROM table WHERE FROM_UNIXTIME(last_post) < (NOW() - INTERVAL 1
HOUR) AND User_ID = XXX

If a row is returned, then the user is clear to vote, it's been over an
hour.

---John Holmes...



-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




RE: [PHP-DB] Difference in time

2002-10-02 Thread Jason Vincent

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

RE: [PHP-DB] Difference in time

2002-10-02 Thread Jason Vincent

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]] 
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 Mississippi
Internet...(800) MISSISSIPPI...http://www.mississippi.net
Vicksburg Online...(800) MISSISSIPPI...http://www.vicksburg.com





[PHP-DB] Difference in time

2002-10-02 Thread wade

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
Mississippi Internet...(800) MISSISSIPPI...http://www.mississippi.net
Vicksburg Online...(800) MISSISSIPPI...http://www.vicksburg.com