ct_pcounter:页面表
id purl userip usercookie gid vistime
1 1.php 127.0.0.1 20090616122345 gid 20090616122345
2 2.php 127.0.0.1 20090616122350 gid 20090616122350
3 1.php 127.0.0.1 20090617025639 gid 20090617025639
4 1.php 127.0.0.1 20090618010101 gid 20090618010101
5 1.php 127.0.0.1 20090619010101 gid 20090619010101计数器统计问题UV(独立访客)唯一访问者是指在一特定时间内第一次进入网站,具有唯一访问者标识(唯一地址)的访问者。这一特定时间建议为一整天。
UV的度量方法:在同一天内,只记录第一次进入网站的具有唯一访问者标识的访问者,在同一天内再次访问该网站则不计数。
IP(独立IP)一天之内相同IP地址访问您的网站只被计算1次。在一网吧上网,IP是一样的,比如有100机子,这100台机子都来访问你的网站,从中看出就有100个独立用户,现在问题出来,我在计算独立用户访问量的时候,该如何区别独立用户,我上面设计了一个表:
id 自增编号
purl 访问的页面
userid 用户IP
usercookie 独立用户标实
vistime 访问时间我的cookie现在设置的是系统时间,我觉得不可取,因为时间在不断的变化,这样看来,在同一台机子访问我的网站,每秒的记录都的插入到ct_pcounter表中,本来是一个独立用户的,现在变成了多个独立用户,请问有什么方法把这个usercookie唯一性标实出来?
我之前想过取电脑网卡的MAC地址,但是PHP取不到客户端的MAC地址,只能取到服务器端的。
id purl userip usercookie gid vistime
1 1.php 127.0.0.1 20090616122345 gid 20090616122345
2 2.php 127.0.0.1 20090616122350 gid 20090616122350
3 1.php 127.0.0.1 20090617025639 gid 20090617025639
4 1.php 127.0.0.1 20090618010101 gid 20090618010101
5 1.php 127.0.0.1 20090619010101 gid 20090619010101计数器统计问题UV(独立访客)唯一访问者是指在一特定时间内第一次进入网站,具有唯一访问者标识(唯一地址)的访问者。这一特定时间建议为一整天。
UV的度量方法:在同一天内,只记录第一次进入网站的具有唯一访问者标识的访问者,在同一天内再次访问该网站则不计数。
IP(独立IP)一天之内相同IP地址访问您的网站只被计算1次。在一网吧上网,IP是一样的,比如有100机子,这100台机子都来访问你的网站,从中看出就有100个独立用户,现在问题出来,我在计算独立用户访问量的时候,该如何区别独立用户,我上面设计了一个表:
id 自增编号
purl 访问的页面
userid 用户IP
usercookie 独立用户标实
vistime 访问时间我的cookie现在设置的是系统时间,我觉得不可取,因为时间在不断的变化,这样看来,在同一台机子访问我的网站,每秒的记录都的插入到ct_pcounter表中,本来是一个独立用户的,现在变成了多个独立用户,请问有什么方法把这个usercookie唯一性标实出来?
我之前想过取电脑网卡的MAC地址,但是PHP取不到客户端的MAC地址,只能取到服务器端的。
如果想保持唯一性,也可以用cookie保存session_id.如果不关闭当前游览窗口的话,则保证session_id唯一.
ct_tpcounter表:
id purl userip usercookie gid vistime
1 1.php 127.0.0.1 20090616122345 gid 20090616122345
2 2.php 127.0.0.1 gid 20090616122350
3 3.php 127.0.0.1 gid 20090616122350
4 1.php 127.0.0.1 20090616122345 gid 20090617025639
5 1.php 127.0.0.1 20090616122345 gid 20090618010101
6 1.php 127.0.0.1 20090616122345 gid 20090619010101当用户第一次登录网站时,记录当前时间COOKIE值,访问其它页面做如下判断:
if(cookie值 || 是否同一天){//不为空
插入一条usercookie=null的记录
}else{//为空
插入一条usercookie=time()的记录
}这样的话某个时间段:
独立IP访问量:select count(distinct(userip)) as ipcount from ct_pcounter where vistime>2009-06-16 and vistime<2009-06-19
结果是1独立用户访问量:select count(distinct(usercooike)) as usercount from ct_tpcounter where vistime>2009-06-16 and vistime<2009-06-19
结果是5 再减去1=4即可Pageview:select count(id) as counts from ct_pcounter
结果是6
各位可以指点指点
保持每个Cookie的唯一性,与第一次访问写入的相同,在服务段做个记录(数据库),然后每次访问判断一下就知道啦。当然用SESSION也可以,SESSION也是用了Cookie的唯一ID的。