600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 网站页面浏览次数代码mysql_php统计网站/html页面浏览访问次数程序

网站页面浏览次数代码mysql_php统计网站/html页面浏览访问次数程序

时间:2020-05-12 14:54:37

相关推荐

网站页面浏览次数代码mysql_php统计网站/html页面浏览访问次数程序

本文章来给大这介绍了php自己写的一些常用的网站统计代码写法,用无数据库的与使用数据库及html静态页面浏览资次数统计代码,大家可进入参考。

实例1

直接使用txt文件进行统计的代码

代码如下

复制代码

session_start();//定义session,同一IP登录不累加

$filepath = 'count.txt';

if ($_SESSION['temp'] == '')//判断$_SESSION[temp]的值是否为空,其中的temp为自定义的变量

{

if (!file_exists($filepath))//检查文件是否存在,不存在刚新建该文件并赋值为0

{

$fp =fopen($filepath,'w');

fwrite($fp,0);

fclose($fp);

counter($filepath);

}else

{

counter($filepath);

}

$_SESSION['temp'] = 1;//登录以后,给$_SESSION[temp]赋一个值1

}

echo '欢迎来到懒人站长素材网站,您是本站第'.file_get_contents($filepath).'位访客';

//counter()方法用来得到文件内的数字

function counter($f_value)

{

//用w模式打开文件时会清空里面的内容,所以先用r模式打开,取出文件内容,保存到变量

$fp = fopen($f_value,'r') or die('打开文件时出错。');

$countNum = fgets($fp,1024);

fclose($fp);

$countNum++;

$fpw = fopen($f_value,'w');

fwrite($fpw,$countNum);

fclose($fpw);

}

//注释下面一行可以实现同一IP登录不累加效果,测试时可以打开

session_destroy();

>

上面使用的是txt文件,下面我们来介绍一个mysql数据库操作实例

代码如下

复制代码

CREATE TABLE `mycounter` (

`id` int(11) NOT NULL auto_increment,

`Counter` int(11) NOT NULL,

`CounterLastDay` int(10) default NULL,

`CounterToday` int(10) default NULL,

`RecordDate` date NOT NULL,

PRIMARY KEY (`id`)

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

函数

代码如下

复制代码

public function ShowMyCounter(){

//定义变量

$IsGone = FALSE;

//读取数据

$querysql = 'SELECT * FROM `mycounter` WHERE id = ?' ';

$queryset = mysql_query($querysql);

$row = mysql_fetch_array($queryset);

//获得时间量

$DateNow = date('Y-m-d');

$RecordDate = $row['RecordDate'];

$DateNow_explode= explode('-',$DateNow);

$RecordDate_explode = explode('-',$RecordDate);

//判断是否已过去一天

if( $DateNow_explode[0] > $RecordDate_explode[0]) $IsGone = TRUE;

else if( $DateNow_explode[0] == $RecordDate_explode[0] ){

if( $DateNow_explode[1] > $RecordDate_explode[1] ) $IsGone = TRUE;

else if( $DateNow_explode[1] == $RecordDate_explode[1] ){

if( $DateNow_explode[2] > $RecordDate_explode[2] ) $IsGone = TRUE;

}else BREAK;

}else BREAK;

//根据IsGone进行相应操作

IF($IsGone) {

$RecordDate = $DateNow;

$CounterToday = 0;

$CounterLastDay = $row['CounterToday'];

$upd_sql = 'update mycounter set RecordDate = '$RecordDate',CounterToday = '$CounterToday',CounterLastDay = '$CounterLastDay' WHERE id = ?' ';

mysql_query($upd_sql);

}

//再次获取数据

$querysql = 'SELECT * FROM `mycounter` WHERE id = ?' ';

$queryset = mysql_query($querysql);

$Counter = $row['Counter'];

$CounterToday = $row['CounterToday'];

$CounterLastDay = $row['CounterLastDay'];

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

if( $_COOKIE['user'] != 'oldGuest' ){

$Counter = ++$row['Counter'];

$CounterToday = ++$row['CounterToday'];

$upd_sql = 'update mycounter set counter = '$Counter',CounterToday = '$CounterToday' WHERE id = ?' ';

$myquery = mysql_query($upd_sql);

}

echo '总访问量:'.$Counter;

echo '

';

echo '今日流量:'.$CounterToday;

echo '

';

echo '昨日流量:'.$CounterLastDay;

}else{//如果数据库为空时,相应的操作

}

}

>

当然,需要在文件第一行开始写出如下代码:

代码如下

复制代码

session_start();

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

setcookie('user','newGuest',time()+3600);

}else {

setcookie('user','oldGuest');

}

>

如果是静态页面我们上面的方法是不可以实现的,但下面再举一个不错的统计实例

代码如下

复制代码

php统计静态html页面浏览访问次数代码

count.php代码

代码如下

复制代码

$aid = isset( $_GET['aid'] )?$_GET['aid']:'';

$t = isset( $_GET['t'] )?$_GET['t']:'';

if(intval( $aid )){

if( $t =='show' ){

echo 'document.write('这里是显示浏览次数,可以从数据库读出来');';

}

else{

$conn = mysql_connect('localhost','root','root') ;

$sql = 'Update count set click_num = click_num+1 where aid ='$aid'';

mysql_db_query('db_test',$sql,$conn);

}

}

>

数据库

代码如下

复制代码

--

-- 表的结构 `count`

--

CREATE TABLE IF NOT EXISTS `count` (

`id` int(11) NOT NULL auto_increment,

`aid` int(11) default NULL,

`click_num` int(11) default NULL,

PRIMARY KEY (`id`)

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。