ASP進階教程Ⅱ:一個簡單的留言簿

來源:互聯網
上載者:User

 
 
從本章開始我們將由一個簡單的,利用檔案儲存訪問留言的留言簿程式進入我們的教程。編寫這樣一個留言簿,我們大致可以從以下三個步驟來完成。

步驟一:先設計一個留言表單的網頁(如:guestbook1.asp,這不用我在這兒說教了吧?)。見下圖: 


步驟二:在設計好留言表單後,我們開始進行編寫處理留言的ASP程式。

  我們要編寫處理留言的ASP程式,最重要的問題是如何?存取留言。而在ASP程式中,要存取檔案,我們必須建立FileSystemObject對象(該對象主要用於讀取Unicode或ASCII碼的檔案)。而要建立FileSystemObject對象,我們又可以使用以下的語句:
    SET 對象執行個體 = CREATEOBJECT("SCRIPTING.FILESYSTEMOBJECT")
FileSystemObject對象的方法包括:CreateTextFile 和OpenTextFile:
CreateTextFile :建立一個檔案名稱,並返回一個TextStream對象提供你讀寫檔案
OpenTextFile :開啟一個已存在的檔案並建立一個TextStream對象以供你讀寫檔案在建立並開啟一個可供編輯的檔案後,我們最後可以調用TextStream對象下的方法WriteLine(把資訊寫入到已開啟的檔案中並換行)和方法ReadLine(讀取已開啟檔案的一行資訊)來存取檔案。
  因此,要實現存取留言的ASP程式,我們可以大致構思如下:
  先建立FileSystemObject對象;然後通過該對象來調用OpenTextFile開啟檔案或者調用CreateTextFile來建立新的檔案,建立TextStream對象;最後我們再進行調用TextStream對象的WriteLine和ReadLine進行存取檔案。解決了這個主要問題後,我們可以將處理留言的ASP程式寫成如下所示:       
< %
Name = Request("Name") )
Email = Request("Email")
Subject = Request("Subject")
Memo = Request("Memo") 
從留言表單取得資料
If Name = "" Or Email = "" Or Subject = "" Or Memo = "" Then
Response.Write "輸入框不可為空白!"
Response.End
End If 
檢查表單的各輸入框是否有資訊輸入,若留有空輸入框沒填則顯示說明資訊:"輸入框不可為空白!" 並停止執行下面的程式。? 
Line1 = "留言人:" & Name
Line1 = Line1 & String(5, " ")
Email = "< A HREF=mailto:" & Email & ">" & Email & "< /A>"
Line1 = Line1 & "Email?" & Email & "< BR>"
Line2 = "主 題:" & Subject & "< BR>" 
Memo = Replace( Memo, vbCrLf, "< BR>" )
Line3 = "< TABLE BORDER=1>< TR>< TD>"
Line3 = Line3 & "您的留言:" & Memo & "< /TD>< /TR>< /TABLE>"
Line4 = "時 間:" & Now() 
定義留言的顯示格式,其中留言資訊用資訊框框起來。
On Error Resume Next
避免如果執行下面的ReadAll(讀取已開啟檔案的全部資訊)時,無法讀取資訊就造成的程式錯誤的情況發生,因此加入此句用於忽略所有的錯誤。
Set fso = Server.CreateObject("Scripting.FileSystemObject") Application.Lock
TxtPath = Server.MapPath("book1.txt")
NewPath = Server.MapPath("newbook.txt")
fso.MoveFile TxtPath, NewPath
Set fin = fso.OpenTextFile(NewPath, , True)
Set fout = fso.CreateTextFile(TxtPath)
建立 FileSystemObject對象,並鎖定Application對象,不讓任何兩位上網者同時執行留言操作,同時建立和開啟一個TextStream對象,指向要對其實行操作,用於留言記錄的文本book1.txt。
fout.WriteLine Line1
fout.WriteLine Line2
fout.WriteLine Line3
fout.WriteLine Line4
fout.WriteLine "< hr>"
fout.WriteLine fin.ReadAll 
把留言表單中的資訊分行寫入到已開啟的檔案中。
fin.Close
fso.DeleteFile NewPath, True
Application.UnLock
Response.Redirect "guestbook1.asp" 
關閉並刪除gbookold.txt,然後解除Application對象的鎖定,再指引用戶端瀏覽器到新的Web頁面guestbook1.asp。
%>
  將上述代碼COPY到你的記事本,注意:要記得將所有“<”符號後面多加的空格去掉,然後存成檔案manage1.asp。 

步驟三:設計留言頁面

  因為我們要本留言簿的留言顯示在留言表單下面,所以我們可以將以下HTML代碼COPY到guestbook1.asp的最後面。
< html>
< head>
< meta http-equiv="Content-Type" content="text/html; charset=gb2312">
< title>您的留言< /title>
< link rel="stylesheet" href="../images/Text.css">
< /head>
< body TEXT="#000000" BGCOLOR="#FFFFFF" BACKGROUND="b01.jpg">
< h2 ALIGN="CENTER">您的留言< /h2>
< hr noshade color="red">
< !--#include file="book1.txt" -->
< /body>
< /html>
< % Response.End %>

  完成上述的所有步驟後,將guestbook1.asp和manage1.asp儲存在WEB伺服器的可執行虛擬目錄(如:asp/)下,並在瀏覽器中用HTTP的方式進行瀏覽,如:http://yourcomputername/asp/guestbook1.asp。瞧!就這麼簡單,你已經有了自己的留言簿了。還不趕快試試!



相關文章

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 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。