日期:2010-05-10  浏览次数:23490 次

  一、让网站和用户实现交互 
   
   你可以制作一个像SendUserInfo.htm似的网页,只用把<form method="POST" action="--WEBBOT-SELF--">改成<form method="POST" action="UserInfo.asp">就可以把你所提交的数据传送给UserInfo.asp处理。 

    UserInfo.Asp的源代码 Request.Form("UserName")、Request.Form("UserGender")、Request.Form("UserInfo")中UserName、UserGender、UserInfo就是SendUserInfo.htm中要提交数据的name表示。你可以把SendUserInfo.htm和UserInfo.asp对比来看。下面是UserInfo.asp的源代码的部分解释
  
  <% ASP采用的是VBScript语言,你也可以更改为JavaScript语言。 %>
  <%@ Language=VBScript %>
  
  <% 'UserInfo.asp
  
  Option Explicit
  Response.Expires=0
  
  Dim StrName, StrGender, StrM, StrMsg
  
  '获取SenderUserInfo.htm中姓名:name="UserName"传送过来的数据
  StrName = Trim(Request.Form("UserName")) 'Trim函数用来除首尾空格
  
  '获取SenderUserInfo.htm中性别::name="UserGender"传送过来的数据
  StrGender = Trim(Request.Form("UserGender"))
  
  '获取SenderUserInfo.htm中留言::name="UserInfo"传送过来的数据
  StrM = Trim(Request.Form("UserInfo"))
  StrMsg = Replace(StrM,vbcrlf,"<Br>" & vbcrlf)
  %>
  <HTML><BODY>
  
  <% '显示获取的数据 %>
  
  姓名: <%= StrName%><Br><Br>
  性别: <%= StrGender%><Br><Br>
  留言: <Br><Br>
  <%= StrM%><Br><Br>
  
  </BODY></HTML>

  二、网站计数器

   功能:所有访问过本网页的IP地址

   实现方法:把所有访问过本网页的IP地址存放在Count.Asp中,每过一段时间,查看一下,登陆到本网站的IP地址,如果在Count.ASP中不存在,说明这个用户以前没有来过,加入到Count.asp,如果已经存在,则说明该用户以前已经登陆过本网站,可以忽略。
  
  1:获得访问过本网页的IP地址,存入OLdIP数组中
    CountFile=Server.mappath("Count.Asp")
    Set StreamF=CreateObject("Scripting.FileSystemObject")
    dim OldIP()
  
    Set ThisFile=StreamF.OpenTextFile(CountFile,1,False)
    do while not ThisFile.AtEndOfStream
    Thisline = ThisFile.readline
    '使用了 Preserve 关键字,就只能调整数组最后维的大小,并且不能改变数组的维数。
    '数组只有一维,该维是最后的也是仅有的一维,就可以修改该数组的大小.
    Redim preserve OldIP(Countly)
    OldIP(Countly) = Thisline
    'Countly 记载这ThisFile的行数
    Countly = Countly + 1
    loop
    ThisFile.Close
  
  2:开始检查当前访问者是否把当前的IP地址加入到Count.ASP中,用OLDIP数组来判断
    Flage =1
    ArriveIP = Request.ServerVariables("REMOTE_ADDR")
    'Response.Write ArriveIP
    for I = 1 to Countly
    'Request.ServerVariables("REMOTE_ADDR") 获得发出请求机器的IP
    if (ArriveIP = OldIP(I-1)) then
    Flage=0
    end if
    next
  
  3:如果当前的IP步在Count.asp中,加入到Count.asp,判断是否加入到Count.asp是根据2中的Flags来判断
    Set WriteF = StreamF.OpenTextFile(CountFile, 8, 0)
    if Flage=1 Then
    Countly = Countly +1
    WriteF.WriteLine ArriveIP
    End if
    WriteF.Close
  
  4:显示访问过本网页的IP地址
    <%
    Set ThisFile=StreamF.OpenTextFile(CountFile,1,False)
    do while not ThisFile.AtEndOfStream
    Thisline = ThisFile.readline
    Response.Write ThisLine&chr(13)
    loop
    This