什么是艺术?
记录访问者的信息
上一篇 /
下一篇 2007-11-20 00:13:24
/ 个人分类:总结
平时在开发过程中经常会遇到统计访问网站或者是blog的用户信息,而且要求在某一个时间段内再次访问不要求计数! 比如说我有个blog, 其他用户来访问, 当用户第一次来访问的时候记录数据库,同一天再次访问则不再记录,24小时之后再来访问又将再次记录。
这种问题的难点主要再于24小时,要判断是否是同一天访问。解决这种问题的方案之一就是用cookies!首先要判断来访者是否来访问过,而且上次访问过的时间和现在时间是否相差24小时, 如果没有访问过或者访问过的时间和现在相差24小时就将访问者的信息插入数据库,再把用户的时间写入cookies。 否则就不用管!
主要流程就是这样! 那么怎么判断访问者是否来过呢? 我是这样来判断的如果用户来过了我再插入数据库之后把这个用户访问的时间time()写入cookies具体如下: 、
setcookie($userid, time(), time()+24*3600, '/', $_SERVER['SERVER_NAME']);
$userid是用户在数据库中的id号一般用户登录后存在session里,用他作为cookies的名字因为他是唯一的。
time()是cookies的值。
time()+24×3600 设定 cookie 在一天后失效。
/ 指cookie 就在整个domain内有效。
$_SERVER['SERVER_NAME']指该 cookie 有效的域名。
所以程序是这样的:
if(!isset($_COOKIE[$userid]) || time()- $_COOKIE[$userid] > 24*3600) {
//插入数据库语句
setcookie($userid, time(), time()+24*3600, '/', $_SERVER['SERVER_NAME']);
}
相关阅读:
- 2007 3.25 PEA苏州 PHPER 聚会 活动现场 (雷锋, 2007-3-26)
- PEA深圳4月7日与IT茶会联合聚会总结 (雷锋, 2007-4-08)
- 如何修改遗失的MySQL的ROOT用户密码 (相思豆, 2007-5-16)
- 笔试总结--为MYSQL加注释 (rebill, 2007-10-17)
- Discuz中的分页函数初识 (blankyao, 2007-11-08)
- 对PHP缓存的初识 (blankyao, 2007-11-08)
- PHP+JS实现无限级树形菜单 (blankyao, 2007-11-09)
- Ajax 传输方法(实例讲解+源码下载) (blankyao, 2007-11-11)
- 开发经验总结—071114 (黄山狼, 2007-11-13)
- Discuz缓存机制分析(1) (blankyao, 2007-11-16)
导入论坛
收藏
分享给好友
管理
举报
TAG:
总结