現(xiàn)在我們繼續(xù)前面的內(nèi)容。
新建動態(tài)網(wǎng)頁index.asp:先在設(shè)計視圖里排版好一個留言板的界面,設(shè)計好的頁面效果圖如下: 下面表格規(guī)劃和顯示都很清楚,一目了然,什么排版的我就不說了吧:),這可是基本功啊,如果不行的話可先學好Dreamweaver,再來學ASP哦!穩(wěn)打穩(wěn)進,至理名言^_^.如果想偷懶的話,可以直接下載源代碼,學習研究ASP代碼也可以啊,我不反對哦,至少我也是這么懶的,理解萬歲。海
排好版后再進入代碼視圖里,在不同的位置插入以下ASP代碼:如下圖:
在網(wǎng)頁代碼的最上面第一行,點擊用紅線圈起來的標志可以插入第一行的代碼,并可以瀏覽到具體文件上,比較方便,注意選擇file文件類型的,不是virtual虛擬類型的。這樣就插入了conn.asp數(shù)據(jù)庫連接代碼頁,此代碼被包含在當前網(wǎng)頁位置中進行正常編譯,不用重復寫數(shù)據(jù)庫連接代碼,它的好處很大哦,使頁面結(jié)構(gòu)化,容易修改和維護,如果數(shù)據(jù)庫連接錯誤,或數(shù)據(jù)庫文件變動,只需更改conn.asp即可,不必要修改每一頁的代碼。要善于用這個方法啊,會使你的程序簡單化,清晰化,這是常用的編程方法。
然后再輸入以上第二行到第六行的劃紅線的代碼塊,此代碼塊的意義讓我一一講來:
第三行代碼:既然網(wǎng)頁和數(shù)據(jù)庫用connection建立連接打開關(guān)系了,之后最重要的工作就是讀取數(shù)據(jù)了。建立rs對象變量為recordset對象,這樣以后可以用rs對象變量來存取數(shù)據(jù)庫操作。 第四行代碼:把從數(shù)據(jù)表book里查詢的結(jié)果放到sql變量上。它的意思是把book里所有的數(shù)據(jù)都取出來,并按id從大到小排序。desc表示從大到小排序,如果不加的話,最新的留言可是在最后面哦,不方便了。 第五行代碼:表示用rs對象變量open方法來打開數(shù)據(jù)表book,取出結(jié)果按sql的查詢方法。
以上是通用的讀取記錄的方法,到其它地方都可以舉一反三,要熟悉使用!
接著我們要做無留言記錄的判斷顯示代碼出來,我們要定位到“暫無留言”這個表格標簽代碼的開頭,加上第29行如下劃紅線的代碼即可,此代碼表示判斷語句:如果RS記錄指針的EOF結(jié)尾和BOF開頭都為空,就返回真,執(zhí)行以下標簽,即輸入暫無留言這個表格,而不輸出下面的其它標簽了。再定位到“暫無留言”表格標簽的結(jié)尾,輸入以下37、38行劃紅線的代碼完成判斷條件,Response.end表示輸出結(jié)束,不再輸出以下的代碼。
其次再做如果記錄不為空的情況下輸入留言的表格出來,分別定位在輸出留言表格標簽的前面和后面,插入ASP代碼塊如下圖輸入:
此代碼塊的意思為:將RS記錄指針指向第一個記錄,然后開始判斷移動記錄時,記錄結(jié)尾是否為空,如果不為空接著移動指針,把所有數(shù)據(jù)都讀取出來。直到結(jié)尾為空時,退出循環(huán)。
然后我們做最重要的也是最頻繁使用的工作了,就是把數(shù)據(jù)表里各字段的記錄分別讀取出來放在表格的不兩路位置上,例姓名,QQ,郵箱及留言等。先轉(zhuǎn)換到設(shè)計視圖和代碼視圖的環(huán)境下,如下圖:
我們發(fā)現(xiàn)上圖多了很多標記,這就是剛才在代碼視圖中輸入的ASP代碼,方便我們在設(shè)計視圖中進行修改,輸出預覽是不影響排版的。我們把光標定位在姓名旁邊的表格里,點擊插入欄ASP里的,自動插入代碼區(qū)里指定位置,比較方便,不容易搞錯,如下圖:
然后選中姓名旁邊的標記,點屬性欄里的Edit編輯按鈕,輸入rs("name")即可。<%= %>表示輸出變量值,相當于response.write的簡化版。rs是上次已建過的recordset對象,可以直接讀取字段里的內(nèi)容,name是數(shù)據(jù)表里book里的姓名字段。 同理按以上方法再插入ASP代碼留言內(nèi)容、發(fā)表者、發(fā)表時間及回復內(nèi)容在不同位置,分別是: 留言內(nèi)容:<%=server.htmlencode(rs("content"))%> 發(fā)表者:<%= rs("name") %> 發(fā)表時間:<%= rs("time") %> 站長回復:<%= rs("repcontent") %> 大家可能發(fā)現(xiàn)了,留言內(nèi)容插入的代碼和別的稍微不一樣,多了server.htmlencode這個對象,這是為了安全問題設(shè)置的,是HTML編碼對象,可以使帶有HTML標簽的文本不被解釋為HTML標記,這樣可以防止被惡意者來寫入特殊執(zhí)行代碼,造成不必要的損失。 這樣就寫好了,如下圖所示:
接著再做OICQ,EMAIL,HOMEPAGE的鏈接設(shè)置,這個和上述不太一樣,它不是直接顯示出記錄即可,而是將鼠標移到QICQ上浮現(xiàn)留言者的QQ號碼,點擊EMAIL自動給留言者發(fā)信,點擊HOMEPAGE直接到達留言者的網(wǎng)站。 選中OICQ,加上“#”空鏈接,同樣的也給EMAIL和HOMEPAGE加上“#”空鏈接。如下圖所示:
大家都知道給圖片加提示比較簡單,直接在ALT里設(shè)置文字說明就可以了,但文字卻沒有ALT,沒關(guān)系,我們的Dreamweaver早就想到了,很強大哦!在代碼區(qū)里OICQ的空鏈接#后,按空格(注意是英文輸入法才有效)會出現(xiàn)智能提示參數(shù)出來,我們選擇“title”,然后接著打上"<%= rs("oicq") %>"即可!如下圖所示:
同樣的方法給EMAIL和HOMEPAGE加上啊,方法如下圖劃紅線所示:
一切OK了。。。蓿撸薨l(fā)現(xiàn)設(shè)計視圖里的OICQ,EMAIL和HOMEPAGE的背景變成了淺藍色,這說明我們在鏈接上給它們加了ASP代碼,這樣不同的提示是否很體貼。海
你肯定等不及了,看看效果吧!但還沒有記錄啊,沒有做留言提交頁和回復頁,刪除頁,只好暫時在數(shù)據(jù)庫里手動添加記錄吧。
出處:
責任編輯:幻想曲
上一頁 建立數(shù)據(jù)庫的準備工作 [1] 下一頁 建立發(fā)表提交留言頁 [3]
◎進入論壇網(wǎng)絡(luò)編程版塊參加討論
|