亚洲色蝴蝶中文娱乐网,在线亚洲欧美一区二区中文字幕,无人视频在线观看视频高清视频,99午夜国产精品一区二区,人人妻人人爽人人狠狠

用html+css+php+mysql+jquery實(shí)現(xiàn)統(tǒng)計(jì)當(dāng)前在線人數(shù)

時(shí)間:2017-07-30 16:11:49 類型:PHP
字號:    

我們在實(shí)際的項(xiàng)目開發(fā)過程中,經(jīng)常會有這樣的需求,就是開發(fā)的平臺,需要做一個(gè)在線訪問人數(shù)的一個(gè)統(tǒng)計(jì),這個(gè)有什么作用呢?最重要的就是可以讓網(wǎng)站管理者知道這個(gè)網(wǎng)站平臺的活躍度,是否受歡迎?以及怎樣更好的對這個(gè)平臺進(jìn)行宣傳推廣提供數(shù)據(jù)化依據(jù)。

我們要統(tǒng)計(jì)在一段時(shí)間內(nèi)訪問站點(diǎn)的人數(shù),可以使用PHP,結(jié)合Mysql以及jQuery,展示一個(gè)統(tǒng)計(jì)在線人數(shù)以及訪客地區(qū)分布的示例。

通常,當(dāng)訪客訪問網(wǎng)站時(shí),頁面記錄用戶的cookie信息,當(dāng)cookie過期即認(rèn)為用戶不在線。本文中我們使用PHP記錄訪客IP,并在客戶端記錄cookie及過期時(shí)間,同時(shí)通過新浪IP地址接口,獲取訪客的地理位置(本例只記錄省份),一并寫入mysql表中,即可統(tǒng)計(jì)一段時(shí)間內(nèi)的訪客總數(shù),也可以查看訪客的地區(qū)分布。

HTML
我們在頁面上放置一個(gè)顯示當(dāng)前在線人數(shù)的div#total以及一個(gè)用于展示訪客地區(qū)分布的列表#onlinelist,默認(rèn)我們在列表中放置一張與加載動(dòng)畫圖片,后面我們用jQuery控制當(dāng)鼠標(biāo)滑向時(shí)展示詳細(xì)列表。


CSS
我們用CSS來渲染顯示效果,為了就是不讓我們的示例很難看,下面的代碼中,我們使用了CSS3,時(shí)代在進(jìn)步啊,所以建議使用現(xiàn)代瀏覽器預(yù)覽效果。

Mysql
我們要準(zhǔn)備一張數(shù)據(jù)表online,用來記錄訪客IP、地區(qū)及訪問時(shí)間。整個(gè)示例統(tǒng)計(jì)過程都依賴這張表,其結(jié)構(gòu)如下:

PHP
online.php用來記錄訪客信息,包括IP地址和地區(qū)。首先檢測數(shù)據(jù)表中是否有訪客IP記錄,如果有,則只更新訪問時(shí)間,否則,獲取用戶省份區(qū)域,并將用戶IP即省份區(qū)域插入到表中。在此,可以判斷是否存在訪客的cookie記錄,如果不存在則向新浪IP地址庫請求獲取訪客的區(qū)域信息,并設(shè)置cookie值和過期時(shí)間。最后,我們刪除表中已經(jīng)過期的記錄,統(tǒng)計(jì)總記錄數(shù)并輸出,詳細(xì)請看代碼注釋。

函數(shù)get_client_ip()用來獲取用戶真實(shí)IP。

geo.php用來統(tǒng)計(jì)各省份(區(qū)域)訪客人數(shù)分布。通過查詢數(shù)據(jù)庫,并按省份分組排序即可,注意我們將最終的數(shù)據(jù)集以JSON的形式輸出,便于前端ajax交互。

jQuery
前端頁面需要做的是,頁面加載時(shí)展示訪客總數(shù),即使用ajax請求online.php即可。然后當(dāng)鼠標(biāo)滑向統(tǒng)計(jì)箭頭時(shí),通過ajax請求geo.php獲取各區(qū)域省份的在線人數(shù),并以下拉的方式展現(xiàn)效果。

溫馨提示:該示例依賴jquery,所以別忘了在頁面中請先加載jquery庫。

南昌雅騰教育專注IT職業(yè)技術(shù)培訓(xùn),主要培養(yǎng):PHP軟件開發(fā)工程師、WEB前端開發(fā)工程師

學(xué)習(xí)熱線:15079188802(程老師)

QQ:1939594233