变态重口极致另类在线-波多久久夜色精品国产-波多野结衣在线观看一区-波多野结衣在线观看一区二区-污污的网站免费阅读-污污视频网址

當前位置:首頁文章首頁 IT學院 IT技術

Asp技巧和實用方法分享

作者:  來源:  發布時間:2011-6-3 16:33:11  點擊:

本文向大家分享到的是關于一些Asp技巧和實用解決方法,ASP初學者們可以學習一下。

隨機數:
  <%randomize%>
  <%=(int(rnd()*n)+1)%>
  查詢數據時得到的記錄關鍵字用紅色顯示:
  <% =replace(RS("字段X"),searchname,"<font color=#FF0000>" & searchname & "</font>") %>
  通過asp的手段來檢查來訪者是否用了代理
  <% if Request.ServerVariables("HTTP_X_FORWARDED_FOR")<>"" then
  response.write "<font color=#FF0000>您通過了代理服務器,"& _
  "真實的IP為"&Request.ServerVariables("HTTP_X_FORWARDED_FOR")
  end if
  %>
  判斷上一頁的來源
  request.servervariables("HTTP_REFERER")
  java script: document.referrer
  清除緩存,重新加載頁面
  <%response.expires = 0
  response.expiresabsolute = now() - 1
  response.addHeader "pragma","no-cache"
  response.addHeader "cache-control","private"
  Response.cachecontrol = "no-cache"
  %>
  在下拉菜單中顯示年和月
  <select name="select">
  <%
  Dim M_Year
  Dim M_Month
  Dim M_MonthJ
  Dim M_TheMonth
  Dim M_YM
  For M_Year = 2000 To Year(Date)
  M_Month = 12
  If M_Year = Year(Date) Then
  M_Month = Month(Date)
  End If
  For M_MonthJ=1 To M_Month
  If M_MonthJ < 10 Then
  M_TheMonth = "0" & M_MonthJ
  Else
  M_TheMonth = M_MonthJ
  End If
  M_YM = M_Year& "-" & M_TheMonth %>
  <option value="<%= M_YM %>"><%= M_YM %></option>
  <%
  Next
  Next %>
  </select>
  檢索并刪除數據庫里的重復記錄
  conn.execute("delete from table where id not in (select distinct from table)")

   在做一個在線交流的網站時,有個問題很令我頭疼,就是關于實時統計在線用戶的問題,客戶要求:統計當前在線人數、游客人數、會員人數、在線用戶列表,包括游客、會員和管理員(如果是游客,則自動生成游客的ID,如果是會員,則顯示會員姓名)。因為它要求有實時性,則首先我將用global.asa解決的想法pass掉。
  問題的關鍵是如何判斷用戶已經離開,和當用戶離開時如何執行一個文件或一個函數。
  經過和網上一些朋友的探討,終于解決了這個問題。
  解決的原理為:編寫一個通用頁面,所謂的通用頁面,就是應用里的每個頁面都包含這個頁面,例如:header.ASP,在這個頁面里,用XMLHTTP寫一段代碼,這段代碼的作用是每隔10秒或20秒就向服務器發送一個請求,目的是更新當前用戶的在線時間并刪除在線時間超過一定時間的用戶,使數據庫中的在線用戶記錄保持一定的實時性。
  主要實現方法為:
  新建一數據庫,字段名稱分別為:id(字符),name(字符),user(數字)tt(日期),admin(權限代碼,0-普通用戶,1-管理員)
  表名:online
  header.asp ↓
  ============================================================
  <%
  ... ...
  if session("s_in")<>1 and session("s_name")="" then ’如果用戶是第一次登陸
  rs.open "select * from online",conn,3,3
  rs.addnew
  rs("id")=session.sessionID
  rs("name")="游客" & session.sessionID
  rs("user")=0 ’0表示用戶未登陸,是游客身份
  rs("tt")=now
  rs.update
  rs.close
  session("s_in")=1 ’設置用戶的資料已經存入數據庫,表示已經在線
  end if
  if session("s_name")<>"" then ’如果用戶已經通過登錄框登錄
  rs.open "select * from online where id=’" & session.sessionID & "’",conn,3,3
  rs("name")=session("s_name")
  rs("admin")=session("s_admin") ’將用戶的姓名更新為會員名稱
  rs("user")=1 ’表示用戶已經登陸,是會員身份
  rs("tt")=now ’將當前系統時間設置為用戶的登陸時間
  rs.update
  rs.close
  end if
  ... ...
  %>
  ... ...
  <head>
  ... ...
  <script language=java script>
  function Test()
  {
  var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP");
  xmlhttp.open("POST","onceonline.asp",false); // 向onceonline.asp發送更新請求
  xmlhttp.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");
  xmlhttp.send();
  }
  setInterval("Test();",10); // 10秒鐘發送一次更新請求
  </script>
  ... ...
  </head>
  ... ...
  ==========================================================
  onceonline.asp
  <%
  rs.open "select tt from online where id=’" & session.sessionID & "’",conn,3,3
  rs("tt")=now() ’更新當前在線用戶的在線時間
  rs.update
  rs.close
  rs.open "delete from online where datediff(’s’,tt,now())>60",conn,3,1 ’刪除超時用戶
  %>
  ==============================================================
  這樣,基本保證了數據庫中用戶列表的實時性,誤差取決于更新時間和刪除時間的差值大小和服務器的處理速度,建議不要將刪除超時用戶的時間間隔取的過于小,那樣有可能會導致在線用戶0人的失誤。

相關軟件

文章評論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
主站蜘蛛池模板: 热99re久久精品2久久久 | 放荡的美妇一区二区三区 | 午夜国产小视频 | 一级片免费在线观看 | 日韩性公交车上xxhd免费 | 综合网激情五月 | 国产激情毛片 | 热热热色 | 欧美日韩免费在线视频 | 黄色录像在线免费观看 | 国产精品乱 | 久在线| 久久精品中文字幕第一页 | 涩涩免费网站 | 偷亚洲偷国产欧美高清 | 国产精品一区在线观看 | 国产午夜免费视频 | 亚洲欧美黄色片 | 成人激情视频 | 久久久www免费人成看片 | 秋霞国产在线 | 色狠狠xx | 黄色小视频观看 | 狠狠搞视频 | a人片在线观看 | 午夜影院污网页入口 | 国内精品免费一区二区观看 | 久久99精品国产麻豆不卡 | 日韩一区二区免费视频 | 99re热视频这里只有精品5 | 天天做天天爱夜夜爽 | 翁熄系列乱吃奶小玲 | 日本特交大片免费观看 | 人成午夜视频 | 国产成人网 | 亚洲图片在线欧美专区图片 | 国产免费叼嘿在线观看 | 手机免费在线看毛片 | 两个人看的www高清免费视频 | 黄色一级大片免费看 | 亚洲va欧美va国产 |