0

徒步旅行...我再次堆叠...

我试着做一个简单的访客统计,但我有一个问题。

如果用户刷新页面,如何使统计信息不更新?

这是我的片段

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'");
    }
}

谢谢 :)

问候, 斯泰西

4

2 回答 2

0

检查IP地址是否在某个时间范围内存在于表中,如果存在则不输入,只需更新时间即可。这是你无法计算出确切数字的东西,只是一个大概的数字。

于 2011-06-20T06:15:52.163 回答
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

如果您想要多于/少于一天的时间范围来决定计算新视图,您可能需要更改选择日期的方式。

于 2011-06-20T06:20:13.237 回答