hiks ...我再次叠加......
我尝试制作一个简单的访客统计数据,但我遇到了问题。
如果用户刷新页面,如何使统计信息不会更新?
这里是我的代码段
public function saveData($sid)
{
global $database;
$reff = parse_url($_SERVER['HTTP_REFERER']);
$referrer = isset($reff['host']) ? $reff['host'] : 'direct';
$own = $_SERVER['HTTP_HOST'];
if($referrer!=$own){
$ip = ip2long($_SERVER['REMOTE_ADDR']);
$time = time();
$page = $_SERVER['REQUEST_URI'];
$add = $database->tableAdd("eu_shop_pageview", "shop_id, ip, timestamp, page, referrer", "'$sid', '$ip', '$time', '$page', '$referrer'");
}
}
谢谢:)
此致,Stecy
答案 0 :(得分:0)
检查表中是否存在时间范围内的IP地址,如果确实没有输入,只需更新时间。这是你不能计算确切数字的东西,只是一个近似计数。
答案 1 :(得分:0)
就个人而言,当我查看跟踪时,我有以下列:
`id`
`identifier` : this is either the person's username or if they don't have an account, their IP
`date` : inserted using CURDATE()
`page_url`
在添加到此表之前,我运行以下查询,如果没有返回任何行,则插入该表以向该页面添加视图:
SELECT id FROM views WHERE identifier = '$user_id' AND date = CURDATE() AND page_url = '$url' LIMIT 1
如果您想要更多/少于一天的时间范围来决定计算新观看次数,您可能希望更改日期的选择。