【发布时间】:2013-11-22 22:57:13
【问题描述】:
我需要更多关于脚本的帮助。我从几个示例中拼凑了以下内容,但在比较结果以及 IP 地址和时间戳时我做得不够。就目前而言,如果用户访问我网站上的某个区域超过 10 分钟,我会尝试将他们重定向到另一个页面。
我的 MySQL 表由以下列组成:
ID、client_ip、submitted_time
这是我当前的代码:
<?php
$ipaddress = $_SERVER["REMOTE_ADDR"];
$link=mysqli_connect("localhost","root","password","visitors");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$query = "SELECT count(`id`) AS 'count' FROM `visits` WHERE `client_ip` = '$ipaddress'
AND 'submitted_time' = CURRENT_TIMESTAMP - INTERVAL 10 MINUTE
LIMIT 1";
$result = mysql_query($link, $query);
if ($result['count'] > 0) {
echo "You have accessed this site in the last 10 minutes -- you are blocked!";}
else
{
echo "You have access";
exit;
}
?>
我应该得到“你在过去 10 分钟内访问过这个网站的回声......但我得到你每次都可以访问。根据我当前的代码,关于我做错了什么有什么想法吗?提前致谢!
【问题讨论】:
-
用
var_dump($var);或print_r($var, true);检查变量的内部 -
好吧,我终于明白了.. 必须对我的查询进行以下更改: $query = "SELECT count(
id) AS 'count' FROMvisitsWHEREclient_ip= '$ipaddress' ANDsubmitted_time