我创建了简单的点击计数器,它发送ajax请求以确定访问者查看页面的时间。
在JS中,我每隔几秒就会点击一次PHP文件:
var ajaxreq = new XMLHttpRequest();
ajaxreq.open("GET", "visitlogger.php", true);
ajaxreq.send();
PHP文件(visitlogger.php)将数据存储在MySQL数据库中。 - 存储“第一次打击时间戳” - 存储HTTP_REFERER,用户代理,IP等。 - 如果存在会话ID,则更新“最后命中时间戳”(以检查用户打开页面的时间)
现在我需要一些cookie或其他东西来组织独特访问者的访问。
怎么做?
答案 0 :(得分:0)
我要做的是保存两个cookie,第一个会有很小的过期时间和其他长时间说4-6个月,如果设置了第二个cookie,你知道他不是一个独特的访问者,但仍有缺点:
1)如果禁用了cookie?
2)如果cookie被清除了?
编辑代码:
if (!isset($_COOKIE["visit_id"])) { //short cookie
//log in db
setcookie("visit_id", session_id(), time()+60*60*1, "/"); //set cookie for a day
}
if (!isset($_COOKIE["visit_long"])) { //long cookie
//log in db
setcookie("visit_long", session_id(), time()+60*60*24*30*6, "/"); //set cookie long for 6 months
} else {
if (!isset($_COOKIE["visit_id"])) {
//not a unique visitor
setcookie("visit_id", session_id(), time()+60*60*1, "/"); //set cookie for one day
}
}