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

先来看一个简易的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文本计数器,与一个用数据库实现的计数器,希望对大家有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值