PHP教程之计数器具体设计
你的留言本应该加入注册以及分页功能了,而如果你更强的话,UI(用户界面)也可以加强,完成之后,感觉是不是特有成就感?不管怎么样,咱好歹是写了一个动态网站程序了,放在自己的网站上耍耍吧。 概述:此设计可以在本计数器基本之上设计计数剖析法式,可以对页面会见、ip会见次数停止剖析,并构成报表。
1、数据库设计
数据库采取mysql
相干文件: createDatabase.sql 创立数据库
createTblCounter.sql 创立计数器表
表名:tpCounter(table of pages counter)
字段:
称号 类型 意义
id Int (10) auto_increment 序列号
pagename varchar(20) 页面标识,缺省为页面文件名
count Int(10) 计数值
表名:tiCounter(table of ip counter)
字段:
称号 类型 意义
id Int(10) auto_increment 序列号
ip varchar(20) Ip标识
count Int(10) 该ip会见次数
date datetime 比来会见工夫
pages text 曾会见过的页面id,用’|’分隔
2、具体申明:
1、 可以对每一个页面停止计数,也能够统计每一个ip会见的次数,比来会见工夫,和每次会见的页面,需求两个表;
2、 统计网站会见人次:tpCounter中设置一个站标识[建议用pagename=’0’标记];
3、 每次翻开页面时都先反省session,若不存在该用户的session,申明是方才入手下手会见本网站,此时创立一个此用户的session,对网站计数增1,对所会见页面计数增1;[翻开或刷新页面时]假如该用户session已存在,网站计数值不增添,然而页面计数值每刷新一次都要增1;
4、 封闭页面时,反省该用户翻开本网站页面数是不是为0,是则烧毁该用户的session,不然不烧毁;[此功效不需编写法式,办事器主动履行]
5、 在会见时假如页面在tpCounter中没有标识,主动在表中拔出一笔记录;
6、 pages是一个文本类型,纪录了阅读者会见的工夫和会见的页面,个中包括相似如许格局的字符串:
||2001-5-1 16:00:00|1|12|5||2001-8-3 10:12:5|4|9|
暗示此ip在2001-5-1 16:00:00会见了1、12、5页面,在2001-8-310:12:5会见了5、4、9页面[页面的号从上一个表中取得];
7、 设计计数的文件(.php),每个页面都包括这个文件,这个文件中包括以下的功效:
1>session反省,
2>毗连数据库,
3>计数[参数为 页面称号、ip、以后工夫],
4>读写数据库,
5>断开与数据库的毗连;
8、对所会见的页面的纪录采取以下体例:
用户翻开一个新的页面时,假如用户session不存在,写入工夫并纪录以后页面,若存在,写入以后页面。写入采取附加的体例。
9、 网站计数在此头文件中,对页面计数在所计页面中。
10、每个页面在包括本文件时,假如要对页面计数,必定要在包括之前利用变量$page_name,并赋值为页面的称号,页面称号不克不及有反复。
3、接口描写:
相干文件:counter.php
1/Boolean check_session()
功效描写:session反省,本来存在前往true;本来不存在前往false,并创立,并注册布尔型变量existing
进口参数:无
出口参数:布尔型
2/site_count($content)
功效描写:网站会见计数
进口参数:数据库毗连
出口参数:计数值
3/page_count($connect,$page_name,$flag=true)
功效描写:网页计数,前往页面会见次数,整型,$flag是是不是增添计数的标记,缺省true
进口参数:$connect:数据库毗连,$page_name:网页称号
出口参数:页面会见次数
4/show_site_count(int type)
功效描写:显示计数
进口参数: type==1采取图形计数
type==2采取文本计数
4、流程
0/反省进入页面的权限
因为头文件需求经由过程援用才可以编译,因而必需反省是经由过程援用仍是直接阅读
1/链接数据库
2/反省session,若不存在,创立session,停止网站计数
3/显示计数
4/停止页面计数
5/断开与数据库的毗连[主动完成]
5、利用办法
一切的函数都包括在一个头文件中,在利用时,包括此头文件便可。
6、附源法式 环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。 装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。 首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。 做为1门年轻的语言,php一直很努力。 学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql 首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。 我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。 Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81 Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81 说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。 在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。 这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。 对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。 要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。 做为1门年轻的语言,php一直很努力。 有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。 建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。 实践是检验自己会不会的真理。 我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
页:
[1]
2