訪問量統計代碼
public class Counter {
private int count;
// 每訪問一次,計數器自加一
public int getCount() {
return ++count;
}
public void setCount(int count) {
this.count = count;
}
}
<%-- 定義一個 session 范圍內的計數器 記錄個人訪問信息 --%>
<jsp:useBean id="personCount" class="com.helloweenvsfei.jspweb.bean.Counter" scope="session" />
<%-- 定義一個 application 范圍內的計數器 記錄所有人的訪問信息 --%>
<jsp:useBean id="totalCount" class="com.helloweenvsfei.jspweb.bean.Counter" scope="application" />
<div align="center">
<form action="method.jsp" method="get">
<fieldset style='width: 300'>
<legend>計數器</legend>
<table align="center" width="400">
<tr>
<td width=150 align="right" style="font-weight:bold; ">您的訪問次數:</td>
<td>
<%-- 獲取個人的 訪問次數 --%>
<jsp:getProperty name="personCount" property="count" /> 次
</td>
</tr>
<tr>
<td width=150 align="right" style="font-weight:bold; ">總共的訪問次數:</td>
<td>
<%-- 獲取所有人的 訪問次數 --%>
<jsp:getProperty name="totalCount" property="count" /> 次
</td>
</tr>
</table>
</fieldset>
</form>
</div>
希望你能幫到你
2. html的統計訪客人數的代碼
靜態頁面的程序本身是不能調用資料庫來實現當前頁面訪問量統計的,包括實現被訪問次數、訪問次數增加等功能。但是靜態頁面如果沒有這么一個功能,卻又總覺得比動態頁面少了些什麼。
通過js後台ajax請求修改訪問數。
基於jquery:
<script>
$(function() {
$.get('update.php?id=1',{r:Math.random()});
//當然$.post()、$.ajax()等都可以咯。
//然後要記得加一個隨機數,因為如果不加的話,有的瀏覽器會認為是同一個請求,然後不請求。
});
</script>
這樣寫:
<script src="update.php?id=1"></script>
經測試,這樣也是可行的。
至於文章的id,在靜態化的過程中,可以直接賦值到頁面要請求的網址參數後。
update.php的話,就是連接資料庫,通過傳過來的文章id,更新訪問量的處理咯。
如果要實現在靜態頁面馬上顯示更新的數目的話:
方法一需要在ajax請求後調用回調函數,然後update.php返回新的訪問量,然後在回調函數中定位到顯示訪問量位置,替換成新的訪問量。
代碼實現:
$(function() {
$.get('update.php?id=1',{r:Math.random()},function(num) {
$('#hit').html(num);
});
});
方法二則需要在update.php中,添加一句話:
document.write(<?php echo $num; ?>);
3. 統計當前網頁被訪問次數的Jquery代碼:
最簡單的辦法:
<scripttype="text/javascript">
if(localStorage.pagecount){localStorage.pagecount=Number(localStorage.pagecount)+1;}else{localStorage.pagecount=1;}document.write("訪問數:"+localStorage.pagecount+"time(s).");</script>4. php流量統計功能的實現代碼
流量統計功能
顯示效果:
總訪問量:399
今日流量:14
昨日流量:16
本代碼僅供學習交流,其中必有不妥之處。請見諒!
--
--
表的結構
`mycounter`
--
復制代碼
代碼如下:
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
;
函數過程如下:
復制代碼
代碼如下:
<?PHP
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{//如果資料庫為空時,相應的操作
}
}
?>
當然,需要在文件第一行開始寫出如下代碼:
復制代碼
代碼如下:
<?PHP
session_start();
if(
!isset($_COOKIE["user"])
){
setcookie("user","newGuest",time()+3600);
}else
{
setcookie("user","oldGuest");
}
?>
5. PHP網站怎麼加網站訪問量統計
1、本地新建一個空白文檔,命名為cnt.php
2、用記事本打開cnt.php,然後將代碼復制到cnt.php裡面。代碼如下:
<?php
$n=file_get_contents('cnt.txt');
$n++;
file_put_contents('cnt.txt',$n);
echo "document.write($n);";
?>
3、保存cnt.php文件,並上傳到伺服器。
4、然後在主頁或者其它頁面裡面這樣調用計數器:
」你是第<script type=text/javascript src=cnt.php></script>位訪問者「
就可以了。
5、這樣就可以清楚的知道了有多少訪客來訪了。這個除了在首頁可以使用外,其他頁面也可以通過這個方法進行調用,只需要在你需要統計的地方添加上這個」你是第<script type=text/javascript src=cnt.php></script>位訪問者「就可以輕松知道你需要統計的地方有多少訪客了。
6. java如何統計網站訪問量
步驟一、建一個表,表名任意,這里取名為:visitorcounter,表的結構如下所示:
+-------+------------------+------+-----+------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+------------------+------+-----+------------+----------------+
| id | int(11) unsigned | NO | PRI | NULL | auto_increment |
| vdate | date | NO | | 2000-01-01 | |
| vnum | int(11) | NO | | 0 | |
+-------+------------------+------+-----+------------+----------------+
步驟二、建立一個java類,名字也為:visitorcounter,類的內容如下:
package com.hdzx.pub;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.Date;
public class VisitorCounter {
private final static String TABLE_NAME = "visitorcounter";
private static String today = null;
private static long today_num = 0;
private static long total_num = 0;
//載入訪問量
public static void loadNum(){
if(total_num<1)
loadTotalNum();
if(today_num<1)
loadToadyNum();
}
//載入今日訪問量
private static void loadToadyNum() {
// TODO Auto-generated method stub
DBConnect db = null;
ResultSet rs = null;
if(today==null)
today = getTodayDate();
String sql = "select vnum from "+TABLE_NAME+" where vdate='"+today+"'";
try {
db = new DBConnect();
rs = db.executeQuery(sql);
if(rs.next()){
today_num = rs.getLong("vnum");
}
else
{
sql = "insert into "+TABLE_NAME+"(vdate,vnum) values('"+today+"',0)";
db.executeUpdate(sql);
today_num = 0;
}
} catch (Exception e) {
// TODO: handle exception
today_num = 0;
System.out.println("com.hdzx.pub~VisitorCounter.incTotalCounter:獲得訪問人數");
}
}
//載入總訪問量
private static void loadTotalNum() {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
DBConnect db = null;
ResultSet rs = null;
if(today==null)
today = getTodayDate();
String sql = "select vnum from "+TABLE_NAME+" where id=1";
try {
db = new DBConnect();
rs = db.executeQuery(sql);
if(rs.next()){
total_num = rs.getLong("vnum");
}
else
{
total_num = 0;
}
} catch (Exception e) {
// TODO: handle exception
total_num = 0;
System.out.println("com.hdzx.pub~VisitorCounter.incTotalCounter:獲得訪問人數");
}
}
//增加總的訪問量
private static int incTotalCounter(){
int k = 0;
DBConnect db = null;
loadNum();
total_num = total_num+1;
String sql = "update "+TABLE_NAME+" set vnum="+total_num+" where id=1";
try {
db = new DBConnect();
k = db.executeUpdate(sql);
} catch (Exception e) {
// TODO: handle exception
System.out.println("com.hdzx.pub~VisitorCounter.incTotalCounter:增加訪問人數");
}
return k;
}
//增加今日的訪問量
public static int incTodayCounter(){
int k = 0;
DBConnect db = null;
String sql = null;
loadNum();
today_num += 1;
sql = "update "+TABLE_NAME+" set vnum="+today_num+" where vdate='"+today+"'";
try {
db = new DBConnect();
k = db.executeUpdate(sql);
if(k > 0)
incTotalCounter();
} catch (Exception e) {
// TODO: handle exception
System.out.println("com.hdzx.pub~VisitorCounter.incTotalCounter:增加訪問人數");
}
return k;
}
//獲得今天的日期
private static String getTodayDate(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(new Date());
}
///獲得今日訪問量
public static long getTodayNum(){
loadNum();
return today_num;
}
//獲得總的訪問量
public static long getTotalNum(){
loadNum();
return total_num;
}
}
步驟三、經過以上的步驟後,在頁面中加入以下的代碼,就可以實現網站訪問量的統計工作:
if(session.isNew())
{
VisitorCounter.incTodayCounter();
}
%>
今日訪問量:<%=VisitorCounter.getTodayNum() %><br/>
總的訪問量: <%=VisitorCounter.getTotalNum() %>
7. 如何使用python 統計網站訪問量並生成報表
統計網站訪問量
統計出每個IP的訪問量有多少?(從日誌文件中查找)
#!/usr/bin/env python
#!coding=utf-8
list = []
f = file('/tmp/1.log')
str1 = f.readlines()
f.close()
for i in str1:
ip = i.split()[0] //split()通過指定分隔符對字元串進行切片,默認為所有的空字元;split分隔後是一個列表,[0]表示取其第一個元素;
list.append(ip)//追加
list_num = set(list)
for j in list_num:
num = list.count(j)
print '%s : %s' %(j,num)
生成報表
#_*_coding:utf-8_*_
import MySQLdb
import xlwt
from datetime import datetime
def get_data(sql):
# 創建資料庫連接.
conn = MySQLdb.connect(host='127.0.0.1',user='root'\
,passwd='123456',db='test',port=3306,charset='utf8')
# 創建游標
cur = conn.cursor()
# 執行查詢,
cur.execute(sql)
# 由於查詢語句僅會返回受影響的記錄條數並不會返回資料庫中實際的值,所以此處需要fetchall()來獲取所有內容。
result = cur.fetchall()
#關閉游標
cur.close()
#關閉資料庫連接
conn.close
# 返給結果給函數調用者。
return result
def write_data_to_excel(name,sql):
# 將sql作為參數傳遞調用get_data並將結果賦值給result,(result為一個嵌套元組)
result = get_data(sql)
# 實例化一個Workbook()對象(即excel文件)
wbk = xlwt.Workbook()
# 新建一個名為Sheet1的excel sheet。此處的cell_overwrite_ok =True是為了能對同一個單元格重復操作。
sheet = wbk.add_sheet('Sheet1',cell_overwrite_ok=True)
# 獲取當前日期,得到一個datetime對象如:(2016, 8, 9, 23, 12, 23, 424000)
today = datetime.today()
# 將獲取到的datetime對象僅取日期如:2016-8-9
today_date = datetime.date(today)
# 遍歷result中的沒個元素。
for i in xrange(len(result)):
#對result的每個子元素作遍歷,
for j in xrange(len(result[i])):
#將每一行的每個元素按行號i,列號j,寫入到excel中。
sheet.write(i,j,result[i][j])
# 以傳遞的name+當前日期作為excel名稱保存。
wbk.save(name+str(today_date)+'.xls')
# 如果該文件不是被import,則執行下面代碼。
if __name__ == '__main__':
#定義一個字典,key為對應的數據類型也用作excel命名,value為查詢語句
db_dict = {'test':'select * from student'}
# 遍歷字典每個元素的key和value。
for k,v in db_dict.items():
# 用字典的每個key和value調用write_data_to_excel函數。
write_data_to_excel(k,v)
8. 有統計網站訪問量的代碼嗎
假定數據存在 abc.mdb中
abc.mdb中欄位如下:
序號(自動)
日期(訪客進入時間)
電腦(IP地址)
來自(如果訪客從www.0086it.com/?f=hello 進入本站,那會顯示「hello」)
地址(通過對IP地址分析後知道的地址(如:中國網通或北京大學))
在網站首頁中插入以下代碼:
《%
if session("0086it")<>1 then
'上面一行防止刷新給統計造成不準。
dsntemp=server.mappath("abc.mdb")
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&dsntemp
set rs=server.createobject("adodb.recordset")
rs.open "db",conn,1,3
rs.addnew
rs("日期")=now()
rs("電腦")=request.servervariables("remote_addr")
rs("來自")=request.querystring("f")&"◆"&request.serverVariables("Http_REFERER")
rs("地址")=session("laizi")
'session("laizi")的值的取得不作具體介紹,是由另一程序將訪者ip地址與另外一個資料庫對比中得出來「詳細漢字地名,相當於IP地址查詢軟體中的功能)
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
session("0086it")=1
end if
%》
這樣,每次訪客訪問我站,就可以記錄他的信息。
當然,我還需要有一個程序來讀後台。
程序如下:
《%
'**********************************
'
' 訪 客 統 計 系 統'
'
' 程序設計 : 姜川
' [email protected]
' COPY請保留以上信息
'
'*********************************
'
response.expires=0
Response.Buffer=True
dim id
id=request.querystring("id")
if id="" then
id=50
end if
%》
《html》
《style type="text/css"》
《link rel="stylesheet" href="../css/one.css" type="text/css"》
《!--
.jiangc { font-size: 9pt; line-height: 12pt}
a { color: #FF0000; text-decoration: none}
a:hover { text-decoration: underline}
--》
《/style》
《body bgcolor="#FFFFFF"》
《%
dsntemp=server.mappath("abc.mdb")
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};uid=admin;password=hello;dbq="&dsntemp
if request.querystring("cha")《》"" then
sql ="select * from db where 來自 like '%"&request.form("cha")&"%' order by 日期 DESC"
else
sql ="select * from db order by 序號 DESC"
end if
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
%》
《p align="center"》《br》
《font face="黑體"》訪 問 統 計 系 統《/font》《/p》
《table width="700" border="0" cellspacing="1" cellpadding="0" align="center" class="jiangc" bgcolor="#000000"》
《form name="form1" method="post" action="?cha=1"》 《tr》
《td height="24" bgcolor="#ECF9FF" align="center"》 [ 共 《font color=red》《%=rs.recordcount%》《/font》
條記錄 ] 列出最近 《a href="?id=100"》100《/a》 《a href="?id=300"》300《/a》 《a href="?id=500"》500《/a》
《a href="?id=1000"》1000《/a》 《a href="?id=3000"》3000《/a》 《a href="?id=5000"》5000《/a》
《a href="?ID=《%=rs.recordcount%》&ID2=all"》所有《/a》 記錄
《input type="text" name="cha" class="jiangc" size="12"》
《input type="submit" name="Submit" value="查" class="jiangc"》
《/td》
《/tr》 《/form》
《/table》
《table width="100%" border="0" cellspacing="0"》
《tr》
《td height=2》《/td》
《/tr》
《/table》
《table border="0" cellspacing="1" cellpadding="2" bordercolorlight="#CCCCCC" bordercolordark="#FFFFFF" class="jiangc" align="center" bgcolor="#999999"》
《tr bgcolor="#CCCCCC"》
《td》 序號《/td》
《td》記錄中總編號《/td》
《td》訪問者進入日期《br》
0000000000000000000《/td》
《td》 訪問者電腦IP地址《/td》
《td》 地區《/td》
《td》 來自《/td》
《/tr》
《%
while not rs.eof and i《 cint(id)
i=i+1
%》
《tr bgcolor="#FFFFFF"》
《td align="center"》《font color=cccccc》《%=i%》《/font》《/td》
《td align="center"》 《%=rs("序號")%》 《/td》
《td》
《%
if rs("日期") 》 date() then
response.write "《font color=red》"&rs("日期")&"《/font》"
else
response.write rs("日期")
end if%》
《/td》
《td》
《%if rs("電腦")="221.215.99.61" then response.write "*" else response.write rs("電腦") end if%》
《/td》
《td》
《%=rs("地址")%》
《/td》
《td》
《%if instr(rs("來自"),"◆")《》0 then
response.write "《a href='"&right(rs("來自"),len(rs("來自"))-instr(rs("來自"),"◆"))&"' target='_blank'》"&rs("來自")&"《/a》"
end if%》
《/td》
《/tr》
《%
rs.movenext
wend
%》
《/table》
《br》
《table width="700" border="0" cellspacing="1" cellpadding="10" align="center" class="jiangc" bgcolor="#CCCCCC" bordercolor="#0000CC"》
《tr》
《td bgcolor="#EFEFEF"》備 註:《%if request.querystring("id2")=all then%》只列出最近的 《font color=red》《%=id%》《/font》 條記錄《br》
《%else%》
系統列出了所有訪問記錄《br》
《%end if%》
設 計:[email protected](MSN)《br》
設計日期:2003年03月《/td》
《/tr》
《/table》
《/html》