首頁 後端開發 php教程 計數器詳細設計_PHP教程

計數器詳細設計_PHP教程

Jul 21, 2016 pm 04:06 PM
分析 基礎 概述 次數 程式 計數 計數器 設計 訪問 詳細 進行 頁面

概述:
此設計可以在本計數器基礎之上設計計數分析程序,可以對頁面訪問、ip訪問次數進行分析,並形成報表。
一、資料庫設計
資料庫採用mysql
相關檔案:    createDatabase.sql        建立資料庫
   
表名:tpCounter(table of pages counter)
欄位:
姓名    類型    意義
id    Int (10)) auto_increment      Int(10)    計數值

表名:tiCounter(table of ip counter)
欄位:
名稱    類型     意義
id    /10) auto  意義
id    /10) autouto製造序列編號count    Int(10)    此ip造訪次數
date    datetime    近期造訪時間
pages   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-3  10:12:5訪問了5、4、9頁面[頁面的號碼從上一個表中獲得];
7、設計計數的文件(.php),每個頁面都包含這個文件,這個文件包含以下的功能:
        1>session檢查,
        2>連接資料庫,
        2>連接資料庫,
        2>連接資料庫,
計數為頁名、ip、目前時間],
        4>讀寫資料庫,
        5>斷開資料庫的連接; 9、    網站計數在此頭檔中,對頁面計數在所計頁面中。
10、每一個頁面在包含本文件時,如果要對頁面計數,一定要在包含之前使用變數$page_name,並賦值為頁面的名稱,頁面名稱不能重複。

三、介面描述:
相關檔案: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採用文字計數

四、流程
   0/檢查進入頁面的權限
        由於頭檔需要透過引用才可編譯,因此必須檢查是透過引用或直接瀏覽
1/連結資料庫
2/檢視session,若不存在,以建立session,進行網站計數
3/顯示計數
4/進行頁面計數
5/斷開與資料庫的連接[自動實作]

五、使用方法
所有的函數都包含在一個頭檔中,使用時,包含此頭檔即可。
六、附源程式
/**counter.php v1.0
*    by Amio 2001-5-1
*    描述:計數器文件,可對整個網站計數,
*       >*/
/**    介面實作功能:
*    1>session 檢查
*    2>連接資料庫
*    3>計數 連結資料庫
*    3>計數 /**使用方法:
*    此文件必須是包含在其他的php檔案之中使用,
*    在引用前需要設定$inc變數
*    e. inc="inc";
*    include("include.php");  
*     
*    ?>
*/ ?>

//session檢查,返回布林型
//true-此使用者session存在
//false-此使用者session不存在
function check_session(){  existing=true;
    session_start();     if (!session_is_registered("existing")){
    se;     
    } else  return true;     
}


//網頁計數,回頁瀏覽次數,整型
//$flag是是否增加計數的標誌,缺省true
function page_count($connect, $page_name,$flag=true){
    $ip = getenv("REMOTE_ADDR");
    $query=@mysql_query("select id,count from tpcounter where pagename='$nsql_query("select id,count from tpcounter where pagename='$n_names)或 die("invalid page query!");
    if (!(mysql_num_rows($query))){
        mysql_query("insert intpcount) (page    mysql_query("insert infcount) inname. ,$connect)or die("insert page failed");
        $pidquery=@mysql_query("select id from tpcounter where pagename='$page_name'",$connect) 或 die (tpcounter where pagename='$page_name'",$connect) or die( ;
        $pidarray=mysql_fetch_array($pidquery); =1;
    }else {  
        $array=mysql_fetch_array($query) ;
        $num=$array[count];         
        if ($flag)
            $num ;
        mysql_query("update tpcounter set count. $num where pagename='$page_name'",$connect)or die("update page failed");
        $return_num=$ pages from ticounter where ip='$ip'",$connect) or die ("invalid pages query!");
    if (($flag)&(mysql_num_rows($pquery))){         $ps="$parray[pages]";
        $pstr="$parray[pages set pages='$pstr' where ip='$ip'",$connect)or die ("update ip  failed");
    }  
  

//ip計數,回傳ip造訪次數,整數
//功能除了計數還有時間更新
//$flag是是否增加計數的標誌,缺省true
//注意:ip_count的呼叫必須在page_count之前!!!
function ip_count($connect){

    $ip = getenv("REMOTE_ADDR");     $visit_pages="||"."$visit_time"."|";
    $ipquery=@mysql_query("select count,pages from ticounter where ip='$ip'",$connect) 或 die ("invalid ip query!");

    if (!(mysql_num_rows($ipquery))){//新的ip         mysql_query("insert into ticounter (ip,count,date,pages) mysql_query("insert into ticounter (ip,count,date,pages) values (5) valueues ($ip'),_$. $connect)or die("insert ip failed");
        return 1;
    }else{       $parray=mysql_fetch_array($ipquery);
        $ipnum=$parray [count];
        $pageStr="$parray[pages]"."$visit_pages";
        $ipnum $visit_time', pages='$pageStr' where ip='$ip'",$connect)or die("update ip failed");
        return $ipnum;
 }
//網站計數,返回整數,網站造訪次數
function site_count($connect){
    if (!check_session()){    );
        $num=page_count($connect,"website",true); connect,"website",false);
    }     
    return $num;     
}

function 集 return $fileurl ;
}

//顯示計數值,type為顯示類型,length為顯示的長度,缺省6
//type=1圖形形式
//type=2文本形式(缺省)
function show_site_count($num,$length=6,$type=2){

    $outStr=strval($num);     $outStr=strval($num);    $outStr) 1;$i        $outStr="0"."$outStr";
    }             echo " echo displayCount($outStr);
                  case 2:
        default:     
       
}
?>

if (!isset($inc))exit;
$connect=mysql_connect('localhost','root','' );//connect to server
mysql_select_db("damio",$connect); //select database ,database name is damio

$sitecount=site_count($connect);

$sitecount=site_count($connect);
if (issetet ($page_name))
    page_count($connect,$page_name);
?>




http://www.bkjia.com/PHPjc/315284.html

www.bkjia.com

true
http: //www.bkjia.com/PHPjc/315284.html

TechArticle

概述: 此設計可以在本計數器基礎之上設計計數分析程序,可以對頁面訪問、ip訪問次數進行分析,並形成報表。 一、資料庫設計 資料庫採...


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1318
25
PHP教程
1269
29
C# 教程
1248
24
如何在iPhone中使Google地圖成為預設地圖 如何在iPhone中使Google地圖成為預設地圖 Apr 17, 2024 pm 07:34 PM

iPhone上的預設地圖是Apple專有的地理位置供應商「地圖」。儘管地圖越來越好,但它在美國以外的地區運作不佳。與谷歌地圖相比,它沒有什麼可提供的。在本文中,我們討論了使用Google地圖成為iPhone上的預設地圖的可行性步驟。如何在iPhone中使Google地圖成為預設地圖將Google地圖設定為手機上的預設地圖應用程式比您想像的要容易。請依照以下步驟操作–先決條件步驟–您必須在手機上安裝Gmail。步驟1–開啟AppStore。步驟2–搜尋“Gmail”。步驟3–點選Gmail應用程式旁

iPhone中缺少時鐘應用程式:如何修復 iPhone中缺少時鐘應用程式:如何修復 May 03, 2024 pm 09:19 PM

您的手機中缺少時鐘應用程式嗎?日期和時間仍將顯示在iPhone的狀態列上。但是,如果沒有時鐘應用程序,您將無法使用世界時鐘、碼錶、鬧鐘等多項功能。因此,修復時鐘應用程式的缺失應該是您的待辦事項清單的首位。這些解決方案可以幫助您解決此問題。修復1–放置時鐘應用程式如果您錯誤地從主畫面中刪除了時鐘應用程序,您可以將時鐘應用程式放回原位。步驟1–解鎖iPhone並開始向左側滑動,直到到達「應用程式庫」頁面。步驟2–接下來,在搜尋框中搜尋「時鐘」。步驟3–當您在搜尋結果中看到下方的「時鐘」時,請按住它並

首發899元 中興5G隨身Wi-Fi U50S開賣:最高網速500Mbps 首發899元 中興5G隨身Wi-Fi U50S開賣:最高網速500Mbps Apr 26, 2024 pm 03:46 PM

4月26日消息,中興5G隨身Wi-FiU50S目前已經正式開賣,首發899元。外觀設計上,中興U50S隨身Wi-Fi簡約時尚,易於手持和包裝。其尺寸為159/73/18mm,攜帶方便,讓您隨時隨地暢享5G高速網絡,實現暢行無阻的行動辦公與娛樂體驗。中興5G隨身Wi-FiU50S該設備支援先進的Wi-Fi6協議,峰值速率高達1800Mbps,依托驍龍X55高效能5G平台,為用戶提供極速的網路體驗。不僅支援5G雙模SA+NSA網路環境與Sub-6GHz頻段,實測網速更可達驚人的500Mbps,輕鬆滿

無法允許存取 iPhone 中的相機和麥克風 無法允許存取 iPhone 中的相機和麥克風 Apr 23, 2024 am 11:13 AM

您在嘗試使用應用程式時是否收到“無法允許存取攝影機和麥克風”?通常,您可以在需要提供的基礎上向特定物件授予攝影機和麥克風權限。但是,如果您拒絕權限,攝影機和麥克風將無法運作,而是顯示此錯誤訊息。解決這個問題是非常基本的,你可以在一兩分鐘內完成。修復1–提供相機、麥克風權限您可以直接在設定中提供必要的攝影機和麥克風權限。步驟1–轉到“設定”選項卡。步驟2–打開「隱私與安全」面板。步驟3–在那裡打開“相機”權限。步驟4–在裡面,您將找到已要求手機相機權限的應用程式清單。步驟5–開啟指定應用的“相機”

復古潮流! HMD與喜力聯合推出翻蓋手機:透明外殼設計 復古潮流! HMD與喜力聯合推出翻蓋手機:透明外殼設計 Apr 17, 2024 pm 06:50 PM

4月17日消息,HMD攜手知名啤酒品牌喜力以及創意公司Bodega,聯袂推出了一款獨特的翻蓋手機-無聊手機(TheBoringPhone)。這款手機不僅在設計上充滿新意,更在功能上返璞歸真,旨在引領人們回歸真實的人際交往,享受與朋友暢飲的純粹時光。無聊手機採用了獨特的透明翻蓋設計,展現出簡約而不失優雅的美感。其內部配備了2.8英寸QVGA顯示屏,外部則是一塊1.77英寸的顯示屏,為用戶提供了基本的視覺交互體驗。在攝影方面,雖然僅搭載了30萬畫素的鏡頭,但足以應付日常的簡

台電M50 Mini小平板來了:8.7吋IPS螢幕、5000mAh電池 台電M50 Mini小平板來了:8.7吋IPS螢幕、5000mAh電池 Apr 04, 2024 am 08:31 AM

4月3日消息,台電即將推出的M50Mini平板電腦是一款功能豐富、效能強大的裝置。這款8吋小平板新品搭載了8.7吋的IPS螢幕,為用戶提供了出色的視覺體驗。其金屬機身設計不僅美觀,也增強了設備的耐用性。在性能方面,M50Mini搭載了紫光展銳T606八核心處理器,擁有兩個A75核心和六個A55核心,確保了流暢且高效的運作體驗。同時,該平板還配備了6GB+128GB的儲存方案,並支援8GB記憶體擴展,滿足了用戶對於儲存和多任務處理的需求。在續航上,M50Mini配備了5000mAh的電池,支援Ty

榮耀Magic V3首發AI離焦護眼技術:有效緩和近視發展 榮耀Magic V3首發AI離焦護眼技術:有效緩和近視發展 Jul 18, 2024 am 09:27 AM

7月12日消息,榮耀MagicV3系列今日正式發布,搭載全新榮耀視力舒緩綠洲護眼屏,在屏幕本身俱備高規格和高素質的同時,還開創性的引入AI主動式護眼技術。據悉,傳統的緩解近視的方式是“近視鏡”,近視眼鏡度數均勻分佈,保證了視線中心區域成像在視網膜之上,但周邊區域成像在視網膜後,視網膜感應到成像在後,促進眼軸向後生長,從而使度數加深。目前主要的緩解近視發展的方式之一是“離焦鏡”,其中心區域度數正常,週邊區域透過光學設計分區調整,從而使周邊區域成像落在視網膜前,

vivo訊號最強手機! vivo X100s搭載寰宇訊號放大系統:21天線、360°環繞設計 vivo訊號最強手機! vivo X100s搭載寰宇訊號放大系統:21天線、360°環繞設計 Jun 03, 2024 pm 08:41 PM

5月13日消息,vivoX100s今晚正式發布,除了出色的影像,新機在訊號方面表現也十分強悍。根據vivo官方介紹,vivoX100s採用了創新的寰宇訊號放大系統,該系統配備了高達21根天線。這項設計基於直屏進行了重新優化,以平衡5G、4G、Wi-Fi、GPS以及NFC等眾多訊號需求。這使得vivoX100s成為了vivo有史以來訊號接收能力最強的手機。新款手機還採用了獨特的360°環繞設計,天線分佈在機身周圍。這項設計不僅增強了訊號的強度,還針對日常各種握持姿勢進行了優化,避免了因握持方式不當導

See all articles