先来看一个简易的php计数器,代码如下:

复制代码 代码示例:

//php简易计数器

function displayCounter() {

$counterFile = "include/counter.txt";  //定义路径变量

if (!file_exists($counterFile)) {  //如果不存在,则创建文件并写入初值0

exec( "echo 0 > $counterFile");

}

$fp = fopen($counterFile,"rw");        //指向文件

$num = fgets($fp,10);                  //读取内容

$num += 1;

print "您是第"." $num"."位sweety!";

exec( "rm -rf $counterFile");          //删除旧文件

exec( "echo $num > $counterFile");     //创建新文件

}

displayCounter();

?>

以上代码实现了一个简单的php文本计数器,每次浏览都会自行加一。

需要判别访问的人是新用户还是老用户。

很容易想到在$num += 1;这条语句上下手。

if(是新用户) { $num += 1;}

新用户的条件如何设定呢?

用到了$_COOKIE这个缓冲的小文件。它是保存在浏览器当中的东东,可以以此判断了!

必须html标签前设置setcookie()函数,语法如下:

setcookie(name, value, expire, path, domain);

只用到前三个参数,比如:

复制代码 代码示例:

setcookie("user","newguest",time()+3600);

首先,当一个新用户访问时,浏览器中没有设定相应的cookie,所以给他设定一个user,值为newguest,然后if()判断。

再一次访问时,此时设定了相应的cookie,也就是这个网站和浏览器认识,那么就改变user的值,变为oldguest,然后if()判断。

复制代码 代码示例:

//前面一段代码要放在网页的html标签前面。

if( !isset($_COOKIE["user"]) ){

setcookie("user","newguest",time()+3600);

}else {

setcookie("user","oldguest");

}

......

function displayCounter() {     //php简易计数器

$counterFile = "include/counter.txt";

if (!file_exists($counterFile)) {

exec( "echo 0 > $counterFile");

}

$fp = fopen($counterFile,"rw");

$num = fgets($fp,10);

if( $_COOKIE["user"] != "oldguest" ){

$num += 1;

}

print "您是第"." $num"."位sweety!";

exec( "rm -rf $counterFile");

exec( "echo $num > $counterFile");

}  //by www.jbxue.com

displayCounter();

?>

但是,有个空间是不允许在服务器创建、读写文件的。所以,这就是第二种方法......

第二种实现php网页计数器的方法,使用数据库(mysql) 。

判断的流程基本一样,看代码:

复制代码 代码示例:

if( !isset($_COOKIE["user"]) ){

setcookie("user","newguest",time()+3600);

}else {

setcookie("user","oldguest");

}

......

function displayCounter() {         //php简易计数器

$querysql = "select * from mycounter where id = 1";

$queryset = mysql_query($querysql);

while($row = mysql_fetch_array($queryset)){

$num = $row[counter];

if( $_COOKIE["user"] != "oldguest" ){

$num = ++$row[counter];

$upd_sql = "update mycounter set counter = '$num' WHERE id = '1' ";

$myquery = mysql_query($upd_sql);

}

print "您是第"."$num"."位sweety!";

}

}

displayCounter();

?>

附,数据库表的结构:

复制代码 代码示例:

CREATE TABLE `mycounter` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`counter` int(11) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

就是这些了,本文介绍了一个简单的php文本计数器,与一个用数据库实现的计数器,希望对大家有所帮助。

php带数据库的网页计数,php网页计数器的例子(文本与数据库)相关推荐

  1. application实现网页计数_利用百度ai实现文本和图片审核

    之前做平台内容发布审核都是自己构建一套违禁词库,在代码中利用词库判断用户发布的内容,现在可以使用百度ai api完成这个功能.接下来就简单说下怎么做吧: 首先打开百度ai 开发平台 注册一个账号 进入 ...

  2. application实现网页计数_手把手教你利用爬虫爬网页(Python代码)

    本文主要分为两个部分:一部分是网络爬虫的概述,帮助大家详细了解网络爬虫:另一部分是HTTP请求的Python实现,帮助大家了解Python中实现HTTP请求的各种方式,以便具备编写HTTP网络程序的能 ...

  3. JSP房地产门户管理系统myeclipse开发mysql数据库BS模式java编程网页结构详细设计

    一.源码特点      JSP 房地产门户管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8 ...

  4. HTML期末作业课程设计期末大作业——体育排球5页面带注册HTML+CSS+JS(学生网页设计作业源码)...

    HTML期末作业课程设计期末大作业--体育排球5页面带注册HTML+CSS+JS(学生网页设计作业源码) 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手 ...

  5. edge浏览器打不开本地html,手把手分析win10自带浏览器Edge打不开网页的解决伎俩...

    我们不管是办公,还是娱乐,大部分用户都是用的是win10系统,如今有一位用户遇到了win10自带浏览器Edge打不开网页的问题,要是你是一名才接触win10系统的用户,可能处理win10自带浏览器Ed ...

  6. 基于JAVA网页小游戏交流论坛计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA网页小游戏交流论坛计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA网页小游戏交流论坛计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开 ...

  7. JSP餐饮连锁店管理系统myeclipse开发mysql数据库BS模式java编程网页结构详细设计

    一.源码特点      JSP餐饮连锁店管理系统 是一套完善的web设计系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发,开发环境为TOMCAT7.0,Myeclipse8.5开发,数据 ...

  8. Ubuntu:PHP语言实现网页登录并保存用户cookie,使用mysql数据库

    Ubuntu:PHP语言实现网页登录并保存用户cookie,使用mysql数据库 网页主要实现功能 建立网页mysql数据库信息 网页登录及反馈页面代码 登录页面 登录反馈界面 输入URL在地址栏登录 ...

  9. 带你认识最基本的网页和网站,什么是静态网页和动态网页,有什么区别?

    一,网站和网页的认识 网页就是一个文件,后缀名通常为HTML,htm,php,aspx,jsp的文件. 其本质就是将文字+图片+超链接以一种和谐,美观的方式排列在页面上: 网站就是由网页及其其他资源文 ...

最新文章

  1. 再谈 Java中Runnable和Thread的区别
  2. pandas中如何选取某几列_【python】pandas中 loc amp; iloc用法及区别
  3. nodejs 图片处理模块 rotate_学会Pillow再也不用PS啦——Python图像处理库Pillow入门!...
  4. php服务划分,云计算提供的服务分为哪三个层次
  5. 小白学docker(1)---docker安装
  6. mysql 约束条件 外键 forigen key 介绍
  7. ZooKeeper官方文档学习笔记01-zookeeper概述
  8. 扩展JavaScript数组(Array)添加删除元素方法
  9. C++20 模式下将启用协程支持 CC 11
  10. ClassNotFoundException和NoClassDefError之间的区别
  11. 树莓派3 安装谷歌物联网系统-Android Things
  12. 计算机网络中为什么引入IP地址?
  13. 条码标签打印软件连接不了数据库怎么办?
  14. AccuMark 7.6.2 格柏服装软件
  15. CRT 字体颜色设置不生效
  16. 异步处理-Promise解决回调地狱
  17. 搭档之家:就离谱!!! “假通知书”在淘宝突然泛滥 阿里:已处罚,欢迎大家举报
  18. 微信小程序 --- 不在以下合法域名列表中请参考文档
  19. 浅谈MySQL查询优化
  20. python基础-进制

热门文章

  1. jar包瘦身的方法和思考
  2. 手机上免费的C语言,C语言秘笈手机软件免费阅读可下载
  3. 案例分享,RTC电池寿命探讨,才半年就提示更换电池
  4. netsh 获取计算机名,Windows中Netsh命令的典型应用
  5. 修改android SDK 模拟器(avd) 内存大小
  6. 关于棋牌游戏的福建十三水的一个工具类(牌型分析、大小对比、自动摆牌、获取所有牌型组合)
  7. 快速高效的小程序反编译教程
  8. 【T+】畅捷通T+设置收入成本配比结转
  9. 经营性房产的管理范围
  10. Linux 命令小记ps, kill