PHP基于cookie與session統(tǒng)計(jì)網(wǎng)站訪問(wèn)量并輸出顯示的方法
本文實(shí)例講述了PHP基于cookie與session統(tǒng)計(jì)網(wǎng)站訪問(wèn)量并輸出顯示的方法。分享給大家供大家參考,具體如下:
<?php
$f_open = fopen("count.txt","r+"); //打開(kāi)指定的文件
$count = fgets($f_open); //讀取文件中的數(shù)據(jù)
if(empty($_COOKIE['cookie_name'])){ //判斷COOKIE的是否存在
setcookie("cookie_name",value,time()+1800); //如果不存在,則創(chuàng)建COOKIE
$count = $count + 1; //將變量$count的值加1
rewind($f_open); //打開(kāi)指定的文件
fwrite($f_open,$count); //向文件中寫入新的數(shù)據(jù)
fclose($f_open); //關(guān)閉文件
}
?>
<?php session_start(); include("conn/conn.php");
$data1=date("Y-m-d"); //獲取當(dāng)前訪問(wèn)時(shí)間
$data2=substr(date("Y-m-d"),0,7);
$ip=getenv('REMOTE_ADDR');
if($_SESSION[temp]=="" || $_SESSION[temp]==NULL){ //判斷$_SESSION[temp]==""的值是否為空,其中的temp為自定義的變量
//使用數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)
$select=mysql_query("select * from tb_count10 where data1='$data1' and ip='$ip'");
if(mysql_num_rows($select)>0){
$query1="update tb_count10 set counts=counts+1 where data1='$data1' and ip='$ip'";
$result1=mysql_query($query1);
}else{
$query="insert into tb_count10(counts,data1,data2,ip)values('1','$data1','$data2','$ip')";
$result=mysql_query($query);
}
$_SESSION[temp]=1; //登錄以后,$_SESSION[temp]的值不為空,給$_SESSION[temp]賦一個(gè)值1
}
?>
<?php
//以圖形的形式輸出數(shù)據(jù)庫(kù)中的記錄數(shù)
$query="select sum(counts) as counts from tb_count04 ";//查詢數(shù)據(jù)庫(kù)中總的訪問(wèn)量
$result=mysql_query($query);
$visitor=mysql_result($result,0,'counts');
echo "----------";
echo "<strong>網(wǎng)站的訪問(wèn)量: </strong>"; //以圖形的方式顯示訪問(wèn)次數(shù)
//對(duì)補(bǔ)位數(shù)字0的處理
$len=strlen($visitor); //獲取字符串的長(zhǎng)度
$str=str_repeat("0",6-$len); //獲取6-$len個(gè)數(shù)字0
for($i=0;$i<strlen($str);$i++){ //獲取變量$str的字符串長(zhǎng)度
$result=$str[$i];
$result='<img src=images/0.gif>';
echo $result; //循環(huán)輸出$result的結(jié)果
}
//對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的處理
for($i=0;$i<strlen($visitor);$i++){ //獲取字符串的長(zhǎng)度
$result=$visitor[$i];
switch($result){
//如果值為"0",則輸出0.gif圖片
case "0"; $ret[$i]="0.gif";break;
case "1"; $ret[$i]="1.gif";break;
case "2"; $ret[$i]="2.gif";break;
case "3"; $ret[$i]="3.gif";break;
case "4"; $ret[$i]="4.gif";break;
case "5"; $ret[$i]="5.gif";break;
case "6"; $ret[$i]="6.gif";break;
case "7"; $ret[$i]="7.gif";break;
case "8"; $ret[$i]="8.gif";break;
case "9"; $ret[$i]="9.gif";break;
}
echo "<img src=images/".$ret[$i].".>"; //輸出訪問(wèn)次數(shù)
}
?>
更多關(guān)于PHP操作cookie與session相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP中cookie用法總結(jié)》及《PHP中session問(wèn)題總結(jié)》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- PHP入門教程之會(huì)話控制技巧(cookie與session)
- PHP會(huì)話控制:Session與Cookie詳解
- PHP5中Cookie與 Session使用詳解
- php中如何同時(shí)使用session和cookie來(lái)保存用戶登錄信息
- php session和cookie使用說(shuō)明
- php設(shè)置session值和cookies的學(xué)習(xí)示例
- 深入理解PHP中的Session和Cookie
- 詳解PHP中cookie和session的區(qū)別及cookie和session用法小結(jié)
- PHP中cookie和session的區(qū)別實(shí)例分析
- php禁用cookie后session設(shè)置方法分析
- 解析PHP的Yii框架中cookie和session功能的相關(guān)操作
- PHP cookie與session會(huì)話基本用法實(shí)例分析
相關(guān)文章
php中mt_rand()隨機(jī)數(shù)函數(shù)用法
這篇文章主要介紹了php中mt_rand()隨機(jī)數(shù)函數(shù)用法,較為詳細(xì)的分析了mt_rand()隨機(jī)數(shù)函數(shù)的常見(jiàn)用法,并結(jié)合數(shù)組遍歷給出了數(shù)組隨機(jī)輸出的實(shí)例,需要的朋友可以參考下2014-11-11
Ajax+PHP實(shí)現(xiàn)的分類列表框功能示例
這篇文章主要介紹了Ajax+PHP實(shí)現(xiàn)的分類列表框功能,涉及php結(jié)合ajax交互查詢數(shù)據(jù)庫(kù)與列表框構(gòu)建相關(guān)操作技巧,需要的朋友可以參考下2019-02-02
10個(gè)可以簡(jiǎn)化php開(kāi)發(fā)過(guò)程的MySQL工具
使用各種精心設(shè)計(jì)的工具來(lái)管理MySQL數(shù)據(jù)庫(kù)要比單純使用傳統(tǒng)的方法輕松得的多。開(kāi)發(fā)人員應(yīng)該不斷尋找那些能夠縮短開(kāi)發(fā)時(shí)間的工具。這也是我們本文整理這10個(gè)能夠簡(jiǎn)化開(kāi)發(fā)過(guò)程的MySQL工具的原因。2010-04-04
PHP常見(jiàn)的幾種攻擊方式實(shí)例小結(jié)
這篇文章主要介紹了PHP常見(jiàn)的幾種攻擊方式,結(jié)合實(shí)例形式總結(jié)分析了php SQL注入、XSS攻擊、文件包含漏洞等php常見(jiàn)攻擊方式,需要的朋友可以參考下2019-04-04

