⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m35.htm

📁 vb教程 vb教程 vb教程 vb教程 vb教程 vb教程 vb教程 vb教程 vb教程 vb教程 vb教程
💻 HTM
📖 第 1 页 / 共 2 页
字号:
          CGI_QueryString = Environ("QUERY_STRING")<br>
          CGI_ContentLength = Environ("CONTENT_LENGTH")<br>
          lContentLength = Val(CGI_ContentLength)<br>
          sBuff = String(lContentLength, Chr$(0))<br>
          OutPut "Content-type: text/html" &amp; vbCrLf ' 输出MIME类型<br>
          OutPut "&lt;FONT SIZE=""+2""&gt;"<br>
          If CGI_RequestMethod = "POST" Then<br>
          sBuff = String(lContentLength, Chr$(0))<br>
          rc = ReadFile(hStdIn, ByVal sBuff, lContentLength, lBytesRead, ByVal 
          0&amp;)<br>
          sFormData = Left$(sBuff, lBytesRead)<br>
          ElseIf CGI_RequestMethod = "GET" Then<br>
          sFormData = CGI_QueryString<br>
          Else<br>
          OutPut "Unknow Form Method !"<br>
          End If<br>
          chinesetail = String(400, " ") '为了在页面上正确显示中文生成一个空格串获取客户端用户的输入<br>
          sName = GetCgiValue("name")<br>
          sEmail = GetCgiValue("email")<br>
          sURL = GetCgiValue("URL")<br>
          sfrom = GetCgiValue("from")<br>
          sComment = GetCgiValue("URL_Comment")<br>
          '对客户端用户的输入进行检查<br>
          If Len(sName) = 0 Then<br>
          OutPut "&lt;P&gt;非常抱歉!您还没有填写姓名!" &amp; chinesetail<br>
          Exit Sub<br>
          End If<br>
          If Len(sComment) = 0 Then<br>
          OutPut "&lt;P&gt;非常抱歉!您还没有提出建议!" &amp; chinesetail<br>
          Exit Sub<br>
          End If<br>
          '获取唯一的临时文件名和留言簿文件并打开它们<br>
          tempFileName = TempFile("c:\windows\temp", "gbk")<br>
          guestbook = "e:\netscape\server\docs\guests.html"<br>
          Open tempFileName For Output As #1<br>
          Open guestbook For Input As #2<br>
          Do '本循环体用于将留言簿中字符串"&lt;! ENDHEAD &gt;"前面的内容写入临时文件<br>
          Line Input #2, tempstring<br>
          Print #1, tempstring<br>
          Loop While tempstring &lt;&gt; "&lt;! ENDHEAD &gt;" And Not EOF(2)<br>
          '向临时文件中插入客户端用户的留言<br>
          Print #1, "&lt;hr&gt;" &amp; vbCrLf<br>
          Print #1, "&lt;ul&gt;" &amp; vbCrLf<br>
          Print #1, "&lt;li&gt;&lt;b&gt;留言时间&lt;/b&gt;:" &amp; Date$ &amp; " " 
          &amp; Time$ &amp; vbCrLf<br>
          Print #1, "&lt;li&gt;&lt;b&gt;姓名: &lt;/b&gt;" &amp; sName &amp; vbCrLf<br>
          If Len(sEmail) &lt;&gt; 0 Then<br>
          Print #1, "&lt;li&gt;&lt;b&gt;E-mail: &lt;/b&gt;&lt;a href=""mailto:" 
          &amp; sEmail &amp; """ &gt;" &amp; sEmail &amp; "&lt;/a&gt;" &amp; vbCrLf<br>
          End If<br>
          If Len(sURL) &lt;&gt; 0 Then<br>
          Print #1, "&lt;li&gt;&lt;b&gt;我的主页: &lt;/b&gt; &lt;a href=""" &amp; 
          sURL &amp; """ &gt;" &amp; sURL &amp; "&lt;/a&gt;" &amp; vbCrLf<br>
          End If<br>
          If Len(sfrom) &lt;&gt; 0 Then<br>
          Print #1, "&lt;li&gt;&lt;b&gt;我来自: &lt;/b&gt;" &amp; sfrom &amp; vbCrLf<br>
          End If<br>
          Print #1, "&lt;li&gt;&lt;b&gt;我的建议: &lt;/b&gt;" &amp; vbCrLf<br>
          Print #1, sComment &amp; vbCrLf<br>
          Print #1, "&lt;/ul&gt;" &amp; vbCrLf<br>
          Do '本循环体用于将留言簿剩余的东西写入留言簿<br>
          Line Input #2, tempstring<br>
          Print #1, tempstring<br>
          Loop While Not EOF(2)<br>
          Close #1<br>
          Close #2<br>
          Kill guestbook '删除旧的留言簿<br>
          Name tempFileName As guestbook '将临时文件改成新的留言簿<br>
          OutPut "&lt;P&gt;非常感谢您的留言!" &amp; chinesetail<br>
          OutPut "&lt;P&gt;欢迎您经常光顾本主页!" &amp; chinesetail<br>
          OutPut "&lt;/FONT&gt;"<br>
          End Sub<br>
          Sub OutPut(s As String) ' 本子程序用于向标准输出写信息<br>
          Dim lBytesWritten As Long<br>
          s = s &amp; vbCrLf<br>
          WriteFile hStdOut, s, Len(s), lBytesWritten, ByVal 0&amp;<br>
          End Sub<br>
          Public Function GetCgiValue(cgiName As String) As String<br>
          ' 本子程序可以获取表单上某一元素的数据<br>
          Dim delim2 As Long ' position of "="<br>
          Dim delim1 As Long ' position of "&amp;"<br>
          Dim n As Integer<br>
          Dim pointer1 As Long,pointer2 As Long,length As Long,length1 As Long<br>
          Dim tmpstring1 As String,tmpstring2 As String<br>
          pointer1 = 1<br>
          pointer2 = 1<br>
          delim2 = InStr(pointer2, sFormData, "=")<br>
          pointer2 = delim2 + 1<br>
          Do<br>
          length = delim2 - pointer1<br>
          tmpstring1 = Mid(sFormData, pointer1, length)<br>
          delim1 = InStr(pointer1, sFormData, "&amp;")<br>
          pointer1 = delim1 + 1<br>
          length1 = delim1 - pointer2<br>
          If delim1 = 0 Then length1 = lContentLength + 1 - pointer2<br>
          If tmpstring1 = cgiName Then<br>
          tmpstring2 = Mid$(sFormData, pointer2, length1)<br>
          GetCgiValue = UrlDecode(tmpstring2)<br>
          Exit Do<br>
          End If<br>
          If delim1 = 0 Then<br>
          Exit Do<br>
          End If<br>
          delim2 = InStr(pointer2, sFormData, "=")<br>
          pointer2 = delim2 + 1<br>
          Loop<br>
          End Function<br>
          Public Function UrlDecode(ByVal sEncoded As String) As String<br>
          ' 本函数可以对用户输入的数据进行URL解码<br>
          Dim pointer As Long ' sEncoded position pointer<br>
          Dim pos As Long ' position of InStr target<br>
          Dim temp As String<br>
          If sEncoded = "" Then Exit Function<br>
          pointer = 1<br>
          Do '本循环体用于将“+”转换成空格<br>
          pos = InStr(pointer, sEncoded, "+")<br>
          If pos = 0 Then Exit Do<br>
          Mid$(sEncoded, pos, 1) = " "<br>
          pointer = pos + 1<br>
          Loop<br>
          pointer = 1<br>
          Do '本循环体用于将%XX转换成字符。对于两个连续的%XX,如果第一个%XX<br>
          '不是某些特指的WEB系统保留字符,将把它们转换成汉字<br>
          pos = InStr(pointer, sEncoded, "%")<br>
          If pos = 0 Then Exit Do<br>
          temp = Chr$("&amp;H" &amp; (Mid$(sEncoded, pos + 1, 2)))<br>
          If Mid(sEncoded, pos + 3, 1) = "%" And (temp &lt;&gt; ":") And (temp 
          &lt;&gt; "/") _<br>
          And (temp &lt;&gt; "(") And (temp &lt;&gt; ")") And (temp &lt;&gt; ".") 
          And (temp &lt;&gt; ",") _<br>
          And (temp &lt;&gt; ";") And (temp &lt;&gt; "%") Then<br>
          Mid$(sEncoded, pos, 2) = Chr$("&amp;H" &amp; (Mid$(sEncoded, pos + 1, 
          2)) _<br>
          &amp; (Mid$(sEncoded, pos + 4, 2)))<br>
          sEncoded = Left$(sEncoded, pos) &amp; Mid$(sEncoded, pos + 6)<br>
          pointer = pos + 1<br>
          Else<br>
          Mid$(sEncoded, pos, 1) = temp<br>
          sEncoded = Left$(sEncoded, pos) &amp; Mid$(sEncoded, pos + 3)<br>
          pointer = pos + 1<br>
          End If<br>
          Loop<br>
          UrlDecode = sEncoded<br>
          Exit Function<br>
          End Function<br>
          Public Function TempFile(sPath As String, sPrefix As String) As String<br>
          '本函数可以获得一个唯一的临时文件名<br>
          Dim x As Long,rc As Long <br>
          TempFile = String(127, Chr$(0))<br>
          rc = GetTempFileName(sPath, sPrefix, ByVal 0&amp;, TempFile)<br>
          x = InStr(TempFile, Chr$(0))<br>
          If x &gt; 0 Then TempFile = Left$(TempFile, x - 1)<br>
          End Function<br>
          <br>
          CGI程序guestbook.bas所要处理的表单如下所示:<br>
          <br>
          &lt;html&gt;&lt;head&gt;&lt;title&gt;贵宾留言簿&lt;/title&gt;&lt;/head&gt;<br>
          &lt;body&gt;<br>
          &lt;h3&gt;贵宾留言簿测试&lt;/h3&gt;<br>
          &lt;form action="/cgi-bin/guest.exe" method="post"&gt; &nbsp;&nbsp; 
          <br>
          您的姓名: &lt;input type="text" name="name"&gt;&lt;br&gt;<br>
          您的Email信箱: &lt;input type="text" name="email"&gt;&lt;br&gt;<br>
          您的主页的URL: &lt;input type="text" name="URL"&gt;&lt;br&gt;<br>
          您的建议:&lt;br&gt; &lt;textarea name="URL_Comment" rows=4 cols=30&gt;&lt;/textarea&gt;&lt;br&gt;<br>
          您来自: &lt;input type="text" name="from"&gt;&lt;br&gt;<br>
          &lt;input type="submit" value=" 留言 "&gt;<br>
          &lt;/form&gt;<br>
          &lt;/body&gt;&lt;/html&gt;<br>
          * 联系地址 清华大学22#楼603房 张移山 邮编 100084<br>
          电子邮件 zhangys@ntl.pim.tsinghua.edu.cn 电话 62782064 </font></span></span>                                  
           <br>
          <br>
          <br>
                                                      </b></font></p>
      </td>
    </tr>
  
  </table>
</div>
<p align="center"><a href="../../pian/vb.htm">回首页</a>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -