用ASP設計一個留言薄

來源:互聯網
上載者:User
設計

  首先,我們在做留言薄之前,先做出一個輸入屏的介面效果,也就是產生留言部輸入螢幕的htmL頁,然後在這些htmL原始碼中加入ASP指令碼,我這裡得到的htmL代碼如下。

  *檔案名稱:book.htm  

<html>
<head>
 <title>留言薄</title>

</head>

<body bgcolor="#BED9FC" background="images/bg.gif">


<p align="center"><img src="http://www.webjx.com/htmldata/2005-03-11/images/gbook.gif" alt="GBook.gif (12142 bytes)" WIDTH="374"
HEIGHT="83"> </p>

<p align="center">[<a href="disp.asp">我要看留言板</a>]  [<a href="../index.asp">返回首頁</a>]</p>

<form method="POST" action="book.asp">
<input type="hidden" name="task" value="insert"><div align="left"><table>
<tr>
<td align="right">姓名</td>
<td><img src="http://www.webjx.com/htmldata/2005-03-11/images/bottom-b.gif" alt="BUTTOM-B.GIF (179 bytes)" WIDTH="16" HEIGHT="16"></td>
<td><input name="name" size="46"></td>
</tr>
<tr>
<td align="right">性別</td>
<td><img src="http://www.webjx.com/htmldata/2005-03-11/images/bottom-g.gif" alt="BUTTOM-G.GIF (179 bytes)" WIDTH="16" HEIGHT="16"></td>
<td><input name="sex" size="46"></td>
</tr>
<tr>
<td align="right">來自</td>
<td><img src="http://www.webjx.com/htmldata/2005-03-11/images/bottom-b.gif" alt="BUTTOM-B.GIF (179 bytes)" WIDTH="16" HEIGHT="16"></td>
<td><input name="from" size="46"></td>
</tr>
<tr>
<td align="right">首頁URL</td>
<td><img src="http://www.webjx.com/htmldata/2005-03-11/images/homepage.gif" alt="HomePage.gif (1232 bytes)" WIDTH="30" HEIGHT="30"></td>
<td><input name="url" size="46"></td>
</tr>
<tr>
<td align="right">      
         
     
E-mail</td>
<td><img src="http://www.webjx.com/htmldata/2005-03-11/images/email.gif" alt="Email.gif (1197 bytes)" WIDTH="30" HEIGHT="30"></td>
<td><input name="email" size="46"></td>
</tr>
<tr>
<td align="right">留言</td>
<td colspan="2"><textarea wrap="off" name="comments" cols="49" rows="9"></textarea></td>
</tr>
<tr>
<td>     </td>
<td colspan="2"><dl>
<dd align="center">     <input type="submit" value="我寫好了">
      <input type="reset" value="重新再寫"></dd>
</dl>
</td>
</tr>
</table>
</div>
</form>

<p align="center"> </p>
</body>
</html>


  您可以按這裡看一下這個介面的效果(需要強調一點,這些htmL代碼還是完全沒有功能的)你可以把它儲存為book.htm,然後用FRONTPAGE98來開啟它,開啟後,可以查看網頁中的那個輸入FORM的屬性,在這個留言薄中。我們使用兩個檔案來處理,一個是book.asp,另一個是disp.asp,前者是一個輸入介面,後者是一個顯示介面,用於顯示留言資訊。

  現在說說book.htm,讓大家瞭解一下其中的那個輸入FORM的作用,它的action對象是本身,book.asp(等一會兒需要把book.htm改名為book.asp)這個檔案,也就是說。表單提交後,由本身來作處理。在這個FORM中,有幾個文本輸入框,它們分別是name,sex,from,url,email,以及多行文本輸入框comments。

  現在把book.htm改名為book.asp,往檔案中添加ASP代碼。如下:(單引號表示ASP的注析,編譯器是不處理的。

  *book.asp

<% @language="vbscript" %>
<%
‘'判斷請求方式,當用戶端請求檔案時,比如直接輸入網址:http://active.silversand.net/index.htm這樣,就會產生一個GET的請求資訊。而提交表單時(表單的方式設為POST),就會產生POST的請求方式,現在判斷book.asp這個檔案是使用者用瀏覽器開啟頁面,還是使用者提交資料這個動作,以便進行程式處理。
if Request.ServerVariables("REQUEST_METHOD")="POST" then
‘這裡判斷出是由使用者提交表單而調入入的頁面,因此進行登記留言處理。
‘建立一個檔案組件的伺服器執行個體

set fsFilesys=CreateObject("Scripting.FileSystemObject")
‘開啟文字檔server.mappath("/")是返回伺服器發行目錄的真實路徑,也就是比如說:c:\Inetpub\wwwroot這個路徑,然後"/realchat/book/book.txt"就是相對於這個路徑基礎上的路徑。

set myText=fsFilesys.OpenTextFile(Server.MapPath("/")&"/realchat/book/book.txt")
‘把文字檔的所有內容讀出,儲存在Temp這個變數中。

Temp=myText.Readall
myText.Close
‘是否需要新增內容

if Request("task")="insert" Then
‘取得表單的各項的值

Tname=request.form("name")
Tsex=request.form("sex")
Temail=request.form("email")
turl=request.form("url")
Tfrom=request.form("from")
Tcomments=request.form("comments")
Ttime="#&@"&time
if Len(Tcomments)<2 Then
%>
<font size="4" color="red">

<p align="center">對不起!你還未留言。<a href="book.asp">返回</a></font> <%
else
if Lcase(Left(Turl,7))<>"http://" Then
Turl="http://"&Turl
End if
Turl=Lcase(Turl)
‘重新建立資料檔案,把原來的覆蓋掉。

set myText=fsFilesys.CreateTextFile(Server.MapPath("/")&"/realchat/book/book.txt")
myText.WriteLine(Tname)
myText.WriteLine(Tsex)
myText.WriteLine(Temail)
myText.WriteLine(Turl)
myText.WriteLine(Tfrom)
myText.WriteLine(Tcomments)
myText.writeLine(Ttime)
myText.WriteLine(date)
myText.writeLine(Temp)
myText.Close
%>
<script Language="JavaScript">
document.write("<h1>恭喜!您的留言已順利提交,請按<a href='disp.asp'>這裡</a>查看")
</script>
<%

end if
‘至此,留言已儲存入檔案book.txt中

End if

else
‘第一次進入輸入螢幕,因此顯示htmL檔案內容。
%>
<html>

<head>
<title>留言薄</title>
<% colorbg="#BED9FC" %>
</head>

<body bgcolor="<% =colorbg %>" background="images/bg.gif">


<p align="center"><img src="http://www.webjx.com/htmldata/2005-03-11/images/gbook.gif" alt="GBook.gif (12142 bytes)" WIDTH="374"
HEIGHT="83"> </p>

<p align="center">[<a href="disp.asp">我要看留言板</a>]  [<a href="../index.asp">返回首頁</a>]</p>

<form method="POST" action="book.asp">
<input type="hidden" name="task" value="insert"><div align="left"><table>
<tr>
<td align="right">姓名</td>
<td><img src="http://www.webjx.com/htmldata/2005-03-11/images/bottom-b.gif" alt="BUTTOM-B.GIF (179 bytes)" WIDTH="16" HEIGHT="16"></td>
<td><input name="name" size="46"></td>
</tr>
<tr>
<td align="right">性別</td>
<td><img src="http://www.webjx.com/htmldata/2005-03-11/images/bottom-g.gif" alt="BUTTOM-G.GIF (179 bytes)" WIDTH="16" HEIGHT="16"></td>
<td><input name="sex" size="46"></td>
</tr>
<tr>
<td align="right">來自</td>
<td><img src="http://www.webjx.com/htmldata/2005-03-11/images/bottom-b.gif" alt="BUTTOM-B.GIF (179 bytes)" WIDTH="16" HEIGHT="16"></td>
<td><input name="from" size="46"></td>
</tr>
<tr>
<td align="right">首頁URL</td>
<td><img src="http://www.webjx.com/htmldata/2005-03-11/images/homepage.gif" alt="HomePage.gif (1232 bytes)" WIDTH="30" HEIGHT="30"></td>
<td><input name="url" size="46"></td>
</tr>
<tr>
<td align="right">      
         
     
E-mail</td>
<td><img src="http://www.webjx.com/htmldata/2005-03-11/images/email.gif" alt="Email.gif (1197 bytes)" WIDTH="30" HEIGHT="30"></td>
<td><input name="email" size="46"></td>
</tr>
<tr>
<td align="right">留言</td>
<td colspan="2"><textarea wrap="off" name="comments" cols="49" rows="9"></textarea></td>
</tr>
<tr>
<td>     </td>
<td colspan="2"><dl>
<dd align="center">     <input type="submit" value="我寫好了">
      <input type="reset" value="重新再寫"></dd>
</dl>
</td>
</tr>
</table>
</div>
</form>

<p align="center"> </p>
</body>
</html>
<%
end if
%>
  現在到disp.asp這個檔案,這個檔案主要完成從book.txt中提取檔案內容,然後重建htmL代碼以顯示出留言內容。

  代碼如下:

<% @language="vbscript" %>

<html>

<head>
<title>留言薄</title>
</head>

<body background="images/back.gif">

<p align="center"><img src="http://www.webjx.com/htmldata/2005-03-11/images/gbook.gif" alt="gbook.gif (12142 bytes)" WIDTH="374" HEIGHT="83"><%
‘開啟資料檔案

set fsFilesys=CreateObject("Scripting.FileSystemObject")
set myText=fsFilesys.OpenTextFile(Server.MapPath("/")&"/realchat/book/book.txt")
Tname=myText.ReadLine
%> </p>

<p align="center">[<font color="#00FFFF" size="4"><a href="book.asp">我要寫留言</a></font>][<font color="#00FFFF"><a href="../index.asp">返回首頁</a></font>]</p>

<table width="600">
<%
do while Tname<>"Line1"
‘逐行讀出內容(Line1)是檔案結束標誌

Tsex=myText.ReadLine
Temail=myText.ReadLine
Turl=myText.ReadLine
Tfrom=myText.ReadLine
%>
<tr>
<td><hr>
</td>
</tr>
<tr>
‘<%=運算式%>是向用戶端輸出結果

<th colspan="2" align="left">姓   名:<% =Tname %><br>
性   別:<% =Tsex %><br>
E—mail:<a href="mailto:<% =Temail %>"><% =Temail %></a><br>
首頁URL:<a href="<% =Turl %>" target="_blank"><% =turl %></a><br>
來   自:<% =Tfrom %></th>
</tr>
<tr>
<th align="left" bgcolor="<% =colorbg %>"><font color="red">留   言:</font></th>
<th align="left" bgcolor="<% =colorbg %>"><%
Tcomments=myText.ReadLine
do while InStr(Tcomments,"#&@")=0
%>
<% =Tcomments %>
<br>
<%
Tcomments=myText.ReadLine
loop
Ttime=Mid(Tcomments,4)
Tdate=myText.ReadLine
%> </th>
</tr>
<tr>
<th colspan="2" align="left">時   間:<% =Ttime %> <br>
日   期:<% =Tdate %></th>
</tr>
<tr>
<td><br>
<%
tname=myText.ReadLine
loop
myText.Close
%> </td>
</tr>
</table>

<p><br>
<br>
</p>
</body>
</html>
  好了,仔細地把源檔案DOWN下去,自己不斷修改,不斷測試一下,這樣對學習很有好處,看看book.txt的內容。

  *book.txt的內容,裡面有一條留言

  小Hu
  男
  realplay@163.net
  http://realplay.163.net
  佛山
  熱烈興祝“泰信心動聊天室虛擬社區”進入測試使用階斷,衷心感謝些您的到來,在測試過程中有什麼問題或好的建議,請告訴我。
  yesky誠邀您的加盟參與!
  webmaster

  wak@21:51:15
  99-7-13
  Line1

  這個留言本很簡單,但我覺得很有親切感,比那些比較“現代化”的比如說心動留言薄這類的風格,樸素得多。



相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。