通过COOKIE统计网站的访问量

一 代码

<?php 
$f_open = fopen("count.txt","r+");				//打开指定的文件
$count = fgets($f_open);						//读取文件中的数据
if(empty($_COOKIE['cookie_name'])){				//判断COOKIE的是否存在
	setcookie("cookie_name",value,time()+1800);	//如果不存在,则创建COOKIE
	$count = $count + 1;						//将变量$count的值加1
	rewind($f_open);							//打开指定的文件
	fwrite($f_open,$count);						//向文件中写入新的数据
	fclose($f_open);							//关闭文件
}	
?>
<HTML>
<HEAD>
<TITLE>通过COOKIE统计网站的访问量</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<style type="text/css">
<!--
.STYLE1 {font-size: 12px}
.STYLE2 {color: #FF0000}
-->
</style>
</HEAD>
<BODY BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0>
<!-- ImageReady Slices (图书管理系统浏览目录修改.jpg) -->
<TABLE WIDTH=1003 BORDER=0 CELLPADDING=0 CELLSPACING=0>
	<TR>
		<TD><img src="images/bg.jpg" width="1003" height="119"></TD>
	</TR>
	<TR>
		<TD height="32" background="images/bg1.jpg">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="STYLE1">此时是:
<script language = "JavaScript" type = "text/javascript">
</script>
 &nbsp;&nbsp;您已经是<span class="STYLE2">第<?php 
$f_open = fopen("count.txt","r+");				//打开指定的文件
$count = fgets($f_open);						//读取文件中的数据
echo "$count";		//输出文件中的数据
?>次</span>访问本系统!</span></TD>
	</TR>
</TABLE>
<!-- End ImageReady Slices -->
</BODY>
</HTML>

 

二 运行结果
当首次登录时,网站访问量加1,并显示当前网站访问量。
当在cookie过期时间内再次访问该网站时,不会再加1,只显示当前网站访问量。

 

 

  • 大小: 5.9 KB
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 实现页面访问量统计可以使用 Servlet 技术,具体实现步骤如下: 1.创建一个 Servlet 类,实现 doGet() 方法来处理 GET 请求。 2.在 doGet() 方法中,创建一个计数器变量,用来记录页面访问量。 3.通过 Cookie 技术来避免用户刷新页面导致访问量重复计算的问题。如果用户没有访问过该页面,则创建一个新的 Cookie,并将计数器变量赋值为 1。如果用户已经访问过该页面,则读取该用户的 Cookie 中的计数器变量值,并将其加 1。 4.将计数器变量的值输出到页面上,用来显示当前页面的访问量。 下面是一个示例代码: ```java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class PageVisitCounter extends HttpServlet { private int counter = 0; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 从请求中获取用户的 Cookie Cookie[] cookies = request.getCookies(); Cookie counterCookie = getCookie(cookies, "counter"); if (counterCookie == null) { // 如果用户没有访问过该页面,则创建一个新的 Cookie counterCookie = new Cookie("counter", "1"); counter = 1; } else { // 如果用户已经访问过该页面,则读取该用户的 Cookie 中的计数器变量值,并将其加 1 counter = Integer.parseInt(counterCookie.getValue()); counter++; counterCookie.setValue(String.valueOf(counter)); } // 将 Cookie 添加到响应中 response.addCookie(counterCookie); // 输出当前页面的访问量 response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html><body>"); out.println("<h2>Page visit counter</h2>"); out.println("<p>Current page visits: " + counter + "</p>"); out.println("</body></html>"); } private Cookie getCookie(Cookie[] cookies, String name) { if (cookies != null) { for (Cookie cookie : cookies) { if (cookie.getName().equals(name)) { return cookie; } } } return null; } } ``` 在 web.xml 文件中配置 Servlet 映射: ```xml <servlet> <servlet-name>PageVisitCounter</servlet-name> <servlet-class>PageVisitCounter</servlet-class> </servlet> <servlet-mapping> <servlet-name>PageVisitCounter</servlet-name> <url-pattern>/pageVisitCounter</url-pattern> </servlet-mapping> ``` 这样,当用户访问 /pageVisitCounter 页面时,就会触发 PageVisitCounter Servlet 的 doGet() 方法,从而实现页面访问量统计

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值