<%name=Replace(Request.Form(“name”),“'”,“''”)title=Replace(Request.Form(“title”),“'”,“''”)body=Replace(Request.Form(“body”),“'”,“''”)%>
into bbs(name,title,body)values('“&name&”','“&title&”','“&body&”')“)%> 發(fā)表成功!查看帖子 <%end if
,第一句:意思是插入conn.asp文件,即與數(shù)據(jù)庫(kù)進(jìn)行連接!asp語(yǔ)句必須用<% %>這個(gè)格式包含起來,而插入文件的語(yǔ)句就不用,接下來幾句:
name=Replace(Request.Form(”name“),”'“,”''“)title=Replace(Request.Form(”title“),”'“,”''“)body=Replace(Request.Form(”body“),”'“,”''“)
“Replace(Request.Form(”name“),”'“,”''“)”意思是接收表單中名為name的文本框發(fā)來的數(shù)據(jù),而“name=Replace(Request.Form(”name“),”'“,”''“)”則是把發(fā)來的數(shù)據(jù)儲(chǔ)存在name變量中,如果你這樣:“abc123=Replace(Request.Form(”name“),”'“,”''“)”
就是把表單中名為name的文本框發(fā)來的數(shù)據(jù)儲(chǔ)存在abc123變量中 接著:if name=”“ or title=”“ or body=”“ then
insert into bbs(name,title,body)意思是向名為bbs的表(在建立數(shù)據(jù)庫(kù)時(shí)已經(jīng)建立的表)中的name,title,body
就是插入向量name,title,body,向量用格式'“&name&”'表示 最后:end if就是結(jié)束if……then set savebbs=nothing可以說是關(guān)閉掉:
動(dòng)態(tài)數(shù)據(jù)庫(kù)網(wǎng)頁(yè) 本講要點(diǎn)
1、配置動(dòng)態(tài)服務(wù)器IIS
2、建立動(dòng)態(tài)站點(diǎn)
3、創(chuàng)建動(dòng)態(tài)頁(yè)面
4、創(chuàng)建數(shù)據(jù)庫(kù)鏈接
5、制作表單文檔
一、動(dòng)態(tài)站點(diǎn)概述 何為動(dòng)態(tài) 一種具有“交互性”的頁(yè)面效果即網(wǎng)頁(yè)會(huì)根據(jù)用戶的要求和選擇而動(dòng)態(tài)改變和響應(yīng)。制作動(dòng)態(tài)網(wǎng)頁(yè)需要做的工作有 第一要在個(gè)人電腦上調(diào)試動(dòng)態(tài)網(wǎng)頁(yè)。第二使用數(shù)據(jù)庫(kù)技術(shù)。第三在Dreamweaver中建立動(dòng)態(tài)站點(diǎn)。
二、配置IIS服務(wù)器 1安裝IIS服務(wù)器 2設(shè)置IIS 3測(cè)試ASP動(dòng)態(tài)網(wǎng)頁(yè) 1安裝IIS服務(wù)器 1執(zhí)行【開始】【控制面板】命令打開【控制面板】。2雙擊【添加或刪除程序】圖標(biāo)打開【添加或刪除程序】窗口。3單擊【添加/刪除Windows組件】打開【W(wǎng)indows組件向?qū)А繉?duì)話框。4選擇【Internet信息服務(wù)IIS】復(fù)選項(xiàng)。5單擊【下一步】按鈕開始安裝IIS服務(wù)器。安裝完成后的窗口如下圖所示。2設(shè)置IIS 首先在D盤下面建立一個(gè)“l(fā)iuyanban”的文件夾用來存放留言板動(dòng)態(tài)頁(yè)面文件。其次通過以下的步驟來設(shè)置站點(diǎn)虛擬目錄 1從【控制面板】窗口打開【管理工具】在打開的【管理工具】窗口中選擇【Internet信息服務(wù)快捷方式】。2設(shè)置IIS 2雙擊【Internet信息服務(wù)快捷方式】選項(xiàng)在彈出的【Internet信息服務(wù)】窗口左邊窗格中右擊【默認(rèn)網(wǎng)站】項(xiàng)在彈出的菜單中執(zhí)行【新建】【虛擬目錄】命令彈出【虛擬目錄創(chuàng)建向?qū)А看翱谌缬覉D所示。2設(shè)置IIS 3單擊【下一步】按鈕繼續(xù)。如左圖所示在【別名】下面的文本框中輸入“l(fā)iuyanban”。單擊【下一步】按鈕繼續(xù)。如右圖所示在【目錄】下邊的文本框中輸入“D:liuyanban”或者單擊【瀏覽】按鈕找到D盤的“l(fā)iuyanban”文件夾。3測(cè)試ASP動(dòng)態(tài)網(wǎng)頁(yè) 在【Internet信息服務(wù)】窗口右邊的窗格中找到建立的ASP動(dòng)態(tài)頁(yè)面右鍵單擊后在彈出的快捷菜單中選擇【瀏覽】項(xiàng)即可如圖8-15所示。
三、創(chuàng)建留言板主頁(yè)面
1、建立動(dòng)態(tài)站點(diǎn)
2、創(chuàng)建留言板頁(yè)面 建立動(dòng)態(tài)站點(diǎn) 1定義站點(diǎn)。建立動(dòng)態(tài)站點(diǎn) 2選擇服務(wù)器技術(shù)。建立動(dòng)態(tài)站點(diǎn) 3選擇存放的本地文件夾。建立動(dòng)態(tài)站點(diǎn) 4設(shè)置本機(jī)測(cè)試的URL。建立動(dòng)態(tài)站點(diǎn) 5單擊【下一步】按鈕繼續(xù)進(jìn)行設(shè)置。由于是在本機(jī)測(cè)試并不需要遠(yuǎn)程服務(wù)器參與所以選擇【否】項(xiàng)。建立動(dòng)態(tài)站點(diǎn) 6單擊【下一步】按鈕繼續(xù)。窗口顯示了所填寫的信息確認(rèn)一下。如果發(fā)現(xiàn)有錯(cuò)可以單擊【上一步】按鈕返回修改設(shè)置確認(rèn)無誤后就可以單擊【完成】按鈕。這時(shí)動(dòng)態(tài)站點(diǎn)就定義完成了現(xiàn)在可以在DW中進(jìn)行動(dòng)態(tài)網(wǎng)頁(yè)的設(shè)計(jì)了。創(chuàng)建留言板頁(yè)面 1創(chuàng)建留言板主頁(yè)面ASP文檔。2用表格布局留言板主頁(yè)面。3在表格中插入一些顯示元素。
四、用Access創(chuàng)建數(shù)據(jù)庫(kù) 1創(chuàng)建空數(shù)據(jù)庫(kù)文檔 2創(chuàng)建留言板用戶信息表 3創(chuàng)建管理員信息數(shù)據(jù)表 1創(chuàng)建空數(shù)據(jù)庫(kù)文檔 1新建一個(gè)名為data的文件夾然后將空數(shù)據(jù)庫(kù)文件保存在data文件夾下文件名為liuyanban_data.mdb。1創(chuàng)建空數(shù)據(jù)庫(kù)文檔 2單擊【創(chuàng)建】按鈕創(chuàng)建一個(gè)名為liuyanban_data的數(shù)據(jù)庫(kù)文件同時(shí)出現(xiàn)一個(gè)相應(yīng)的數(shù)據(jù)庫(kù)設(shè)計(jì)窗口如圖所示。1創(chuàng)建空數(shù)據(jù)庫(kù)文檔 3雙擊【使用設(shè)計(jì)器創(chuàng)建表】命令彈出一個(gè)表設(shè)計(jì)器窗口如圖所示。表的結(jié)構(gòu)設(shè)計(jì)將在其中完成。2創(chuàng)建留言板用戶信息表 1創(chuàng)建字段域。最后的結(jié)果如圖所示。2創(chuàng)建留言板用戶信息表 2設(shè)置用戶信息數(shù)據(jù)表的主鍵字段。3設(shè)置字段屬性。用戶信息數(shù)據(jù)表設(shè)計(jì)完成以后關(guān)閉表設(shè)計(jì)器窗口可以看到數(shù)據(jù)庫(kù)設(shè)計(jì)窗口中多了一個(gè)名字為yonghu的數(shù)據(jù)表如下圖所示。3創(chuàng)建管理員信息數(shù)據(jù)表 創(chuàng)建一個(gè)用來存儲(chǔ)和管理留言板管理員的信息的數(shù)據(jù)表名字為_guest創(chuàng)建結(jié)果如下圖所示。最終的數(shù)據(jù)庫(kù)設(shè)計(jì)窗口如下圖所示。
五、留言板的逐步實(shí)現(xiàn)
1、創(chuàng)建數(shù)據(jù)庫(kù)鏈接
2、留言板主頁(yè)面的動(dòng)態(tài)效果
3、創(chuàng)建用戶留言頁(yè)面
4、在留言板主頁(yè)面實(shí)現(xiàn)留言記錄導(dǎo)航
一、創(chuàng)建數(shù)據(jù)庫(kù)鏈接 1定義系統(tǒng)DSN 數(shù)據(jù)源名稱 2通過DSN實(shí)現(xiàn)連接 1定義系統(tǒng)DSN 數(shù)據(jù)源名稱 1打開【控制面板】雙擊其中的【管理工具】圖標(biāo)在轉(zhuǎn)換到的【管理工具】窗口中可以看到一個(gè)【數(shù)據(jù)源ODBC】圖標(biāo)。2雙擊【數(shù)據(jù)源ODBC】圖標(biāo)打開【ODBC數(shù)據(jù)源管理器】對(duì)話框切換到【系統(tǒng)DSN】選項(xiàng)卡如圖所示。1定義系統(tǒng)DSN 數(shù)據(jù)源名稱 3添加一個(gè)新的系統(tǒng)DSN名稱。單擊【添加】按鈕彈出【創(chuàng)建新數(shù)據(jù)源】對(duì)話框在其中選擇“Driver do Microsoft Access.mdb”項(xiàng)如圖所示。1定義系統(tǒng)DSN 數(shù)據(jù)源名稱 4單擊【完成】按鈕以后彈出【ODBC Microsoft Access安裝】對(duì)話框在其中定義數(shù)據(jù)源名并選取數(shù)據(jù)庫(kù)文件。設(shè)置后如右圖所示。1定義系統(tǒng)DSN 數(shù)據(jù)源名稱 5單擊【確定】按鈕完成數(shù)據(jù)庫(kù)的選擇這時(shí)的【ODBC Microsoft Access安裝】對(duì)話框如下圖所示。6經(jīng)過上面步驟的操作以后在上圖所示的對(duì)話框中就會(huì)顯示一個(gè)新定義的數(shù)據(jù)源名稱。2通過DSN實(shí)現(xiàn)連接 打開留言板站點(diǎn)的主頁(yè)面文檔main.asp。在【應(yīng)用程序】面板中的【數(shù)據(jù)庫(kù)】面板下單擊加號(hào)按鈕在彈出的下拉菜單中單擊【數(shù)據(jù)源名稱】項(xiàng)如圖所示。2通過DSN實(shí)現(xiàn)連接 在【數(shù)據(jù)源名稱】對(duì)話框的【連接名稱】文本框中輸入數(shù)據(jù)源連接名稱在【數(shù)據(jù)源名稱】下拉列表中選擇名字為“l(fā)iuyanban”的DSN其他參數(shù)保持默認(rèn)值如圖所示。2通過DSN實(shí)現(xiàn)連接 單擊【確定】以后【數(shù)據(jù)庫(kù)】面板就會(huì)出現(xiàn)新定義的連接名稱單擊它前面的加號(hào)按鈕展開可以看到留言板數(shù)據(jù)庫(kù)中的兩個(gè)表如圖所示。這時(shí)就完成數(shù)據(jù)庫(kù)和留言板站點(diǎn)的連接了連接名是liuyb。
二、留言板主頁(yè)面的動(dòng)態(tài)效果 1在【綁定】面板中定義記錄集 2將記錄集中數(shù)據(jù)綁定到表格域 1在【綁定】面板中定義記錄集 在Dreamweaver中打開留言板站點(diǎn)主頁(yè)面main.asp。打開【綁定】面板單擊加號(hào)按鈕在彈出的下拉菜單中執(zhí)行【記錄集查詢】命令如圖所示。1在【綁定】面板中定義記錄集 在彈出的【記錄集】對(duì)話框中定義記錄集【名稱】為i、選擇數(shù)據(jù)庫(kù)【連接】名為liuyb、選擇數(shù)據(jù)庫(kù)中的【表格】為yonghu、選擇表中的字段域、定義記錄排序的方法等如圖所示。1在【綁定】面板中定義記錄集 按照前面的步驟操作完成以后在【綁定】面板中就會(huì)出現(xiàn)新定義的記錄集單擊它前面的加號(hào)按鈕可以展開記錄集如圖所示。2將記錄集中數(shù)據(jù)綁定到表格域 1重新編輯留言板主頁(yè)面。對(duì)留言板主頁(yè)面main.asp中的表格重新編輯并刪除單元格中的一些文字和圖片如圖所示。2將記錄集中數(shù)據(jù)綁定到表格域 2將記錄集中的數(shù)據(jù)域字段綁定到表格相應(yīng)的單元格中。打開【綁定】面板展開記錄集。用鼠標(biāo)將記錄集中的y_name字段拖放到頁(yè)面表格的左上角中用同樣的方法將其他數(shù)據(jù)域字段拖動(dòng)到相應(yīng)的單元格中結(jié)果如圖所示。
三、創(chuàng)建用戶留言頁(yè)面 1添加表單并布局表格 2添加表單域 3定義提交按鈕的服務(wù)器行為 4在【行為】面板定義表單提交的錯(cuò)誤檢查 1添加表單并布局表格 新建一個(gè)動(dòng)態(tài)頁(yè)面并將其保存為“write.asp”它就是用戶留言頁(yè)面。在【表單】工具欄中單擊【表單】按鈕插入一個(gè)表單。然后在表單中插入一個(gè)表格表格布局如圖所示。2添加表單域 1添加“姓名”文本字段。通過【表單】工具欄中的【文本字段】按鈕完成在單元格中添加一個(gè)“文本字段”表單域。在【屬性】面板中【文本域】下面的文本框中定義這個(gè)文本字段的名字為name如圖所示。2添加表單域 2添加OICQ、E-mail、個(gè)人主頁(yè)文本字段。OICQ、E-mail、個(gè)人主頁(yè)表單域的添加方法同上均為文本字段在【屬性】面板中各個(gè)文本字段的命名情況是 OICQ文本字段oicq E-mail文本字段mail 個(gè)人主頁(yè)文本字段homepage。2添加表單域 3添加“性別”單選按鈕表單域性別“男”的單選按鈕屬性設(shè)置如圖所示。2添加表單域 同樣的方法再設(shè)置一個(gè)性別“女”的單選按鈕。完成后的頁(yè)面效果如下圖所示。2添加表單域 4添加“選擇頭像”表單域。因?yàn)椤斑x擇頭像”右邊的單元格中要有若干備選的頭像圖片所以我們應(yīng)該事先制作或者搜集一些卡通頭像圖片。復(fù)制以后的【文件】面板情況如圖所示。2添加表單域 將光標(biāo)定位在“選擇頭像”右邊的單元格中分兩行插入8個(gè)頭像圖片。在每幅圖片的右邊添加一個(gè)單選按鈕。名字統(tǒng)一定義為tx第一個(gè)單選按鈕的【初始狀態(tài)】選擇為【已勾選】其他的單選按鈕為【未選中】每個(gè)單選按鈕【選定值】屬性的設(shè)置稍微麻煩一些。2添加表單域 以第1個(gè)單選按鈕為例先選中這個(gè)單選按鈕前面對(duì)應(yīng)的頭像圖片在【屬性】面板中復(fù)制這個(gè)圖片【源文件】地址如圖所示。2添加表單域 再選中與頭像對(duì)應(yīng)的單選按鈕在【屬性】面板的【選定值】處粘貼剛才復(fù)制的頭像圖片源文件地址如圖所示。2添加表單域 其他7個(gè)單選按鈕的【選定值】屬性都按照同樣的方法進(jìn)行設(shè)置。最后編輯頁(yè)面效果如圖所示。2添加表單域 5添加“留言內(nèi)容”文本區(qū)域。效果如圖8-60所示。2添加表單域 6添加提交和重置按鈕。完成以后的頁(yè)面效果如圖所示。2添加表單域 7添加隱藏區(qū)域。將光標(biāo)定位在“提交”按鈕的左邊單擊【表單】工具欄中的【隱藏域】按鈕在【屬性】面板中定義它的名字為ip在【值】文本框中輸入代碼 3定義提交按鈕的服務(wù)器行為 打開【綁定】面板單擊加號(hào)按鈕執(zhí)行【記錄集查詢】命令并按照?qǐng)D示介紹的方法綁定【記錄集】。選中整個(gè)表格打開【服務(wù)器行為】面板單擊加號(hào)按鈕選擇【插入記錄】命令。在【插入記錄】對(duì)話框中設(shè)置表單域與數(shù)據(jù)庫(kù)字段名一一對(duì)應(yīng)在【表單元素】中依次選中元素在下面的【列】中選擇與數(shù)據(jù)庫(kù)相對(duì)應(yīng)的域。4在【行為】面板定義表單提交的錯(cuò)誤檢查 選中【提交】按鈕打開【行為】面板單擊加號(hào)按鈕在彈出的菜單中選擇【檢查表單】命令。設(shè)置表單域和檢查事件name選擇【必需的】ociq選擇【數(shù)字】mail選擇選擇【必需的】【電子郵件地址】homepage不選liuyan選擇【必需的】如圖所示。最后單擊【確定】按鈕事件為onClick。四在留言板主頁(yè)面實(shí)現(xiàn)留言記錄導(dǎo)航 1實(shí)現(xiàn)留言記錄導(dǎo)航 2留言內(nèi)容顯示問題的解決 1實(shí)現(xiàn)留言記錄導(dǎo)航 在main.asp頁(yè)面實(shí)現(xiàn)留言記錄導(dǎo)航主要包括控制一頁(yè)顯示留言數(shù)和翻頁(yè)按鈕上一頁(yè)、下一頁(yè)、最前一頁(yè)、最后一頁(yè)。這個(gè)功能主要使用【應(yīng)用程序】工具欄來完成。將工具欄切換到【應(yīng)用程序】工具欄后得應(yīng)用程序按鈕如圖所示。1實(shí)現(xiàn)留言記錄導(dǎo)航 這里主要應(yīng)用【記錄集分頁(yè)】按鈕和【記錄集導(dǎo)航狀態(tài)】按鈕。單擊【記錄集分頁(yè)】按鈕彈出如右上圖所示的下拉列表框 單擊【記錄集導(dǎo)航狀態(tài)】按鈕彈出如右下圖所示的對(duì)話框。1實(shí)現(xiàn)留言記錄導(dǎo)航 下面為留言板主頁(yè)面添加記錄導(dǎo)航功能 1將光標(biāo)定位在編輯頁(yè)面的下邊單擊【記錄集導(dǎo)航狀態(tài)】按鈕彈出【記錄集導(dǎo)航狀態(tài)】對(duì)話框單擊【確定】按鈕后頁(yè)面如圖所示。1實(shí)現(xiàn)留言記錄導(dǎo)航 2再回車另起一行單擊【記錄集分頁(yè)】按鈕彈出【記錄集導(dǎo)航條】對(duì)話框如下圖所示。單擊【確定】按鈕記錄導(dǎo)航條將以文字方式顯示。1實(shí)現(xiàn)留言記錄導(dǎo)航 這樣就完成了顯示留言數(shù)量和翻頁(yè)的按鈕如圖所示。2留言內(nèi)容顯示問題的解決 需要解決的問題 防止留言內(nèi)容支持html代碼 防止留言很長(zhǎng)時(shí)main.asp頁(yè)面上的表格被自動(dòng)撐大文字不會(huì)自動(dòng)換行 用如下的操作解決上述問題 2留言內(nèi)容顯示問題的解決 1將原來綁定到留言內(nèi)容單元格中的記錄集字段刪除然后在這個(gè)單元格中添加【文本區(qū)域】表單域添加好后的文本區(qū)域如圖所示。2留言內(nèi)容顯示問題的解決 2選中剛才添加的文本區(qū)域在【屬性】面板中設(shè)置【字符寬度】為66【行數(shù)】為5然后單擊【綁定到動(dòng)態(tài)源】按鈕如圖所示。2留言內(nèi)容顯示問題的解決 3單擊【綁定到動(dòng)態(tài)源】按鈕以后會(huì)彈出【動(dòng)態(tài)數(shù)據(jù)】對(duì)話框在其中的【域】中選擇記錄集中的y_liuyan單擊【確定】按鈕。這樣就將y_liuyan字段綁定到留言內(nèi)容文本區(qū)域了如圖所示。2留言內(nèi)容顯示問題的解決 經(jīng)過以上操作以后再次測(cè)試留言效果時(shí)會(huì)發(fā)現(xiàn) 留言內(nèi)容能自動(dòng)換行了 而且不支持html代碼。通過前面制作留言板站點(diǎn)已經(jīng)初步實(shí)現(xiàn)了一些站點(diǎn)功能 用戶可以通過留言頁(yè)面填寫和提交用戶信息和留言內(nèi)容 在留言板主頁(yè)面可以顯示用戶留言信息 可以顯示留言數(shù)以及實(shí)現(xiàn)了導(dǎo)航翻頁(yè)功能。
ASP留言本教程(1)時(shí)間:2010-04-09 22:53 點(diǎn)擊:17次 作者: 來源:網(wǎng)頁(yè)教學(xué)網(wǎng)
二、設(shè)計(jì)數(shù)據(jù)庫(kù)
ASP程序本身并不能儲(chǔ)存數(shù)據(jù),眾所周知,留言本有以下信息需要保存:留言者姓名、聯(lián)系方式、留言內(nèi)容等等。因?yàn)锳SP并不能儲(chǔ)存數(shù)據(jù),所以數(shù)據(jù)庫(kù)在這種環(huán)境之下就產(chǎn)生了。數(shù)據(jù)庫(kù)的種類也很多,針對(duì)不同的程序也有適用于它的數(shù)據(jù)庫(kù),比如Access和Ms SQL就比較適用ASP和ASP.net程序,至于其它的數(shù)據(jù)庫(kù)和程序,就不屬于本文所討論的問題了,有興趣的朋友可以查看其它一些資料。
那么既然Access和MS SQL都適用ASP,那么具體又如何來選擇呢?我們可以打一個(gè)比方:比如釘一枚小釘子,聰明的人一定不會(huì)用一個(gè)大的棒槌,而是選擇小的鐵錘,雖然用大的棒槌也一樣的可以把釘子釘進(jìn)去,可是沒有人愿意這樣做。
數(shù)據(jù)庫(kù)也一樣:Access比較適用小型的應(yīng)用,而MS SQL則適用于大中型的數(shù)據(jù)庫(kù)應(yīng)用,所以要做一個(gè)留言本,理所當(dāng)然是選擇Access更好一些,但是如果你決心使用MS,沒有人會(huì)極力阻止你。好了,廢話少說,切入正題,下面開始創(chuàng)建數(shù)據(jù)庫(kù)。
Access是微軟office辦公軟件中的其中一個(gè),默認(rèn)的安裝Office是有這個(gè)Access的,好了,打開程序,開始了,GO!
進(jìn)入實(shí)戰(zhàn)了。打開程序后,出現(xiàn)一個(gè)對(duì)話框,這里我們選擇第一個(gè)選項(xiàng)"空Access數(shù)據(jù)庫(kù)"點(diǎn)擊確定,彈出一個(gè)新建數(shù)據(jù)庫(kù)的文件框,選擇你上次你建的站點(diǎn)目錄,起個(gè)data的文件名,點(diǎn)擊創(chuàng)建,OK!雙擊"使用設(shè)計(jì)器創(chuàng)建表"打開表創(chuàng)建窗口"如圖
創(chuàng)建表的結(jié)構(gòu)如下表:
字段名稱
數(shù)據(jù)類型
備注(筆者注釋)
id 自動(dòng)編號(hào) 設(shè)置“自動(dòng)編號(hào)” name 文本 留言者姓名
qq 數(shù)字 留言者的QQ,因?yàn)镼Q號(hào)是由數(shù)字組成 email 文本 留言者的電子郵件 content 備注 留言內(nèi)容
data 日期/時(shí)間 留言時(shí)間,設(shè)定默認(rèn)值為Now()
數(shù)據(jù)庫(kù)設(shè)計(jì)好了以后,可以直接在數(shù)據(jù)庫(kù)里添加兩條記錄,以后測(cè)試時(shí)候用!這一節(jié)就到此了
ASP留言本教程(2)時(shí)間:2010-04-09 22:53 點(diǎn)擊:17次 作者: 來源:網(wǎng)頁(yè)教學(xué)網(wǎng)
三、連接數(shù)據(jù)庫(kù)
在上一節(jié),我們已經(jīng)為我們的程序創(chuàng)建了一個(gè)數(shù)據(jù)庫(kù),在這一節(jié)中,我們來用ASP把程序和數(shù)據(jù)庫(kù)連接起來,以后就可以連接到數(shù)據(jù)庫(kù)、在ASP中顯示數(shù)據(jù)庫(kù)中的數(shù)據(jù)以及更復(fù)雜的插入、修改和刪除。
一起看以下代碼,這就是ASP程序中常用的連接數(shù)據(jù)庫(kù)的代碼: <% set conn=server.createobject(“adodb.connection”)connstr=“Provider=Microsoft.jet.oledb.4.0;data source=”&server.mappath(“data.mdb”)conn.open connstr %>
解釋一下以上代碼: <%
'這是ASP程序的起始
set conn=server.createobject(“adodb.connection”)
'在服務(wù)器上創(chuàng)建了一個(gè)連接數(shù)據(jù)庫(kù)的對(duì)象
connstr=“Provider=Microsoft.jet.oledb.4.0;data source=”&server.mappath(“data.mdb”)
'告訴ASP數(shù)據(jù)庫(kù)的接接方法以及路徑
conn.open connstr
'創(chuàng)建了對(duì)象后就用來打開數(shù)據(jù)庫(kù)進(jìn)行連接 %>
'一切OK了!結(jié)束ASP程序
將上面的代碼另存為conn.asp文件,放在服務(wù)器目錄下面就可以了。怎么樣,簡(jiǎn)單吧?
這一節(jié)是最重要的,一定要弄明白,否則以后操作數(shù)據(jù)庫(kù)將變得不現(xiàn)實(shí),如果有不懂的問題,歡迎和我討論,我的電子郵件地址是。這一節(jié)就到此,下節(jié)我們就將數(shù)據(jù)庫(kù)中的數(shù)據(jù)顯示在頁(yè)面中(這就實(shí)現(xiàn)了留言本的查看功能)
ASP留言本教程(3)時(shí)間:2010-04-09 22:53 點(diǎn)擊:17次 作者: 來源:網(wǎng)頁(yè)教學(xué)網(wǎng)
三、制作留言本首頁(yè)
前面我們已經(jīng)連接好了數(shù)據(jù)庫(kù),就要讓它在這里發(fā)揮一下作用了,這一節(jié)將講述如何將數(shù)據(jù)庫(kù)里的數(shù)據(jù)用ASP讀取出來,在頁(yè)面中顯示出來,這樣就等于是查看留言本了。
利用DW制作如下頁(yè)面(這里我就不講如何去做這個(gè)頁(yè)面了,最后我將會(huì)給出HTML代碼下載)
將制作好的文件存為index.asp,下面就創(chuàng)建數(shù)據(jù)記錄集,用來顯示數(shù)據(jù)庫(kù)的數(shù)據(jù)到這個(gè)頁(yè)面中:
用記事本打開index.asp,在頁(yè)頭加入以下代碼:
<%@LANGUAGE=“VBScript” codepage=“936”%> <% set rs=server.createobject(“adodb.recordset”)sql=“select user,qq,email,content,data from main order by id desc” rs.open sql,conn,1,1 %>
解釋一下:
第一行,表明ASP使用的是VB腳本
第二行,是用include包含文件,這里包含的是數(shù)據(jù)庫(kù)連接文件。第三行,ASP程序開始
第四行,利用Server內(nèi)置對(duì)象創(chuàng)建一個(gè)記錄集
第五行, SQL語(yǔ)句,這里的意思是選擇數(shù)據(jù)庫(kù)中的user,qq,email,content,data字段,指定該數(shù)據(jù)表的名稱是“main”數(shù)據(jù)的排列順序是倒序。
第六行,用剛才創(chuàng)建的名為rs的記錄集打開數(shù)據(jù)庫(kù),設(shè)置屬性為只讀(1,1為只讀數(shù)據(jù),1,3為插入數(shù)據(jù),2,3是修改數(shù)據(jù)。
這樣就打開了數(shù)據(jù)庫(kù),接下來就可以顯示了。
將“留言人”代替為“<%=rs(“user”)%> “時(shí)間”代替為“<%=rs(“data”)%>
“留言內(nèi)容在此”代替為“<%=rs(“content”)%> “QQ”鏈接到:
“郵件”鏈接到:mailto:<%=rs(“email”)%> 最后將“填寫留言”鏈接 add.asp “管理留言”鏈接 admin.asp
好了,再次保存,瀏覽看看!
怎么了?只顯示一條記錄?原來我們?cè)跀?shù)據(jù)庫(kù)里添加了兩條記錄的哦!還有一條呢?別急,因?yàn)槲覀儧]有指定ASP循環(huán)顯示,所以就只有一條啦。。
在剛才的代碼后面添加一行
<%do while not rs.eof%>
并在頁(yè)面的第一個(gè)表格的末尾加上
<% rs.movenext loop %> 上面的代碼就是說用rs記錄集指針一條一條往下一條移動(dòng),直到末尾,loop是循環(huán)的意思。哈哈,再次瀏覽這個(gè)文件
看明白了嗎,這樣就可以讓數(shù)據(jù)庫(kù)中的數(shù)據(jù)全部顯示在頁(yè)面中了,好了,這節(jié)就到這,下節(jié)講一個(gè)也很重要的部份(添加留言功能。)
ASP留言本教程(4)時(shí)間:2010-04-09 22:53 點(diǎn)擊:17次 作者: 來源:網(wǎng)頁(yè)教學(xué)網(wǎng)
三、制作添加留言頁(yè)面,實(shí)現(xiàn)留言功能
我們是做的一個(gè)留言本,實(shí)現(xiàn)留言的功能就十分重要了,要不然就算不上留言本了,接下來就一起來實(shí)現(xiàn)這個(gè)功能。
用DW制作以下這樣的頁(yè)面:
設(shè)置表單的屬性如下:
姓名:設(shè)置為單行文本域,名稱為“user” QQ號(hào):設(shè)置為單行文本域,名稱為“qq” 郵件:設(shè)置為單行文本域,名稱為“email” 內(nèi)容:設(shè)置為多行文本域,名稱為“content”
最后將表單的“Action”動(dòng)作指向addsave.asp就可以了。
保存文檔名為add.asp,OK!下一步!
表單是做好了,但是還需要后臺(tái)程序的支持,一起來使用ASP編寫一個(gè)添加留言處理程序,添加留言代碼:
<%@LANGUAGE=“VBScript” codepage=“936”%>
'表明ASP使用的是VB腳本
'是用include包含文件,這里包含的是數(shù)據(jù)庫(kù)連接文件 <% set rs=server.createobject(“adodb.recordset”)
'利用Server內(nèi)置對(duì)象創(chuàng)建一個(gè)記錄集
sql=“select user,qq,email,content,data from main”
'SQL語(yǔ)句,上節(jié)有詳解 rs.open sql,conn,1,3'用剛才創(chuàng)建的名為rs的記錄集打開數(shù)據(jù)庫(kù),設(shè)置屬性為插入數(shù)據(jù)
rs.addnew
'用記錄集新添加一條數(shù)據(jù)
user=request.form(“user”)
'請(qǐng)求表單的變量,定義變量為user,這里request.form是請(qǐng)求表單的意思
qq=request.form(“qq”)
'請(qǐng)求表單的變量,定義變量為qq,這里request.form是請(qǐng)求表單的意思
email=request.form(“email”)
'請(qǐng)求表單的變量,定義變量為email,這里request.form是請(qǐng)求表單的意思
content=request.form(“content”)
'請(qǐng)求表單的變量,定義變量為content,這里request.form是請(qǐng)求表單的意思
rs(“user”)=user
'將請(qǐng)求到的表單值傳向記錄集中代表user字段的名稱 rs(“qq”)=qq
'將請(qǐng)求到的表單值傳向記錄集中代表qq字段的名稱
rs(“email”)=email
'將請(qǐng)求到的表單值傳向記錄集中代表email字段的名稱 rs(“content”)=content
'將請(qǐng)求到的表單值傳向記錄集中代表content字段的名稱
rs.update
'更新一下數(shù)據(jù)庫(kù)中的數(shù)據(jù)。rs.close
'關(guān)閉記錄集 set rs=nothing
'銷毀記錄集 conn.close
'關(guān)閉數(shù)據(jù)庫(kù)連接 set rs=nothing
'銷毀數(shù)據(jù)庫(kù)連接 %>
將以上文件存為addsave.asp,測(cè)試下!咦?怎么填好提交以后就出現(xiàn)空白了,為什么?這是因?yàn)樵赼ddsave.asp中沒有設(shè)置數(shù)據(jù)成功提交好后的轉(zhuǎn)向頁(yè)面,這里不用做那么復(fù)雜的,只要做一個(gè)刷新頁(yè)面就行了,在程序的后面加上:
然后在頁(yè)面中添加提示信息,比如:“您的留言已經(jīng)成功提交,2秒鐘后將自動(dòng)返回留言本首頁(yè)”
好了,這個(gè)留言的功能總算實(shí)現(xiàn)了,最后再測(cè)試下,看看效果!
OK!這個(gè)留言功能的實(shí)現(xiàn)教程就到這里了。
ASP留言本教程(5)時(shí)間:2010-04-09 22:53 點(diǎn)擊:17次 作者: 來源:網(wǎng)頁(yè)教學(xué)網(wǎng)
六、制作管理登陸頁(yè)面
留言本的管理功能對(duì)于留言本來說就不言而喻了,像論壇的登陸功能就是一個(gè)很好的例子,不過我們做留言本基本上有刪除功能就行了,寫這個(gè)教程是為了更多的ASP入門者更好的了解ASP,所以旨在學(xué)習(xí)用,當(dāng)然也可以在這基礎(chǔ)上添加更多的功能,比如回復(fù)留言者。
好了,開始了,還是按照以前的,用Dreamweaver做一個(gè)登陸頁(yè)面,如下圖:
把用戶名的表單名稱設(shè)置為admin,密碼的表單名稱設(shè)為password,把動(dòng)作指向checkpass.asp,存admin.asp這樣登陸頁(yè)面就好了,下面就做檢測(cè)密碼的ASP程序了,看以下代碼解釋:
'把conn.asp包含進(jìn)來連接數(shù)據(jù)庫(kù) <% 'ASP起始
admin=request.form(“admin”)'定義admin的值是表單傳過來的用戶名域名稱admin password=request.form(“password”)'定義admin的值是表單傳過來的用戶名域名稱admin if admin=“" or password=”“ then '這句的意思是假如用戶名和密碼沒有輸入的話那么執(zhí)行下一句
response.Write(”“)'用javascript腳本提示用戶 end if '結(jié)束if語(yǔ)句
sql=”select * from admin where admin='“&admin&”' and password='“&password&”'“ '這句很重要,我們放到后面講
set rs=conn.execute(sql)'設(shè)定記錄集rs,用conn執(zhí)行SQL語(yǔ)句 if rs.eof or rs.bof then '當(dāng)沒有符合篩選結(jié)果時(shí),則執(zhí)行下面的句子 response.write ”“ '用javascript腳本提示用戶 else '如果符合條件的時(shí)候
session(”admin“)=admin '新建session,值等于表單傳來的用戶名 response.redirect ”mymanage.asp“ '轉(zhuǎn)向到mymanage.asp,進(jìn)入管理頁(yè) end if '結(jié)束if語(yǔ)句 %> 'ASP結(jié)束
將以上代碼保存為checkpass.asp
這樣,用戶在admin.asp頁(yè)面中輸入用戶名和密碼后,就把用戶名和密碼值傳給checkpass.asp處理,當(dāng)用戶名和密碼的值和數(shù)據(jù)庫(kù)中的字段相匹配時(shí),就進(jìn)入mymanage.asp這個(gè)管理頁(yè)面,同時(shí)建一個(gè)session,這個(gè)session的會(huì)話變量將在后面起作用,下一節(jié)就明白了。
ASP留言本教程(6)時(shí)間:2010-04-09 22:53 點(diǎn)擊:17次 作者: 來源:網(wǎng)頁(yè)教學(xué)網(wǎng)
七、制作管理頁(yè)面
上節(jié)中講的是制作登陸頁(yè)面和檢測(cè)用戶,當(dāng)用戶名和密碼正確時(shí)就轉(zhuǎn)到管理頁(yè)面,好了,開始實(shí)現(xiàn)它。
其實(shí)這個(gè)留言本的管理頁(yè)面和用戶直接看到的首頁(yè)沒有多大的區(qū)別,只是用了Session會(huì)話變量用作保護(hù)和增加了一個(gè)刪除鏈接,當(dāng)點(diǎn)擊這個(gè)鏈接的時(shí)候,就會(huì)自動(dòng)刪除這條留言,好了,其本的目的知道了,那就GO!
剛才講了,這個(gè)頁(yè)面和首頁(yè)的index.asp相似,那么就先復(fù)制就行了,然后再改一下
首先找到下面這句:
sql=”select user,qq,email,content,data from main order by id desc“ 把它改為
sql=”select id,user,qq,email,content,data from main order by id desc“ 這樣,就選取到了id這個(gè)自動(dòng)編號(hào)的值,以便刪除留言時(shí)鎖定這個(gè)id。
然后在“郵件”這個(gè)鏈接后面增加一個(gè)鏈接“刪除”,鏈接:del.asp?id=<%=rs(”id“),修改代碼后為“ onclick=”return confirm('是否確定刪除本留言?');“>刪除 這樣,待會(huì)我們做del這個(gè)頁(yè)的時(shí)候,就會(huì)知道為什么了!
改過后存為mymanage.asp
現(xiàn)在打開瀏覽器看看!
怎么不用輸入用戶名和密碼都可進(jìn)入呀?別急,上節(jié)中,我們不是建了一個(gè)session的會(huì)話變量,這時(shí)就派上用場(chǎng)了,直接用記事本打開。在<%@LANGUAGE=”VBScript“ codepage=”936“%>這句的后面加上<%if session(”admin“)<>”“ then%>這句,在末尾寫上: <% else response.Redirect(”admin.asp“)end if%> 下面來講解一下。
<%if session(”admin“)<>”“ then%> '就是說如果session這個(gè)(”admin“)的值不是空的話就執(zhí)行。<% else response.Redirect(”admin.asp“)end if%> '為空的話就轉(zhuǎn)向登陸頁(yè),重新登陸,這樣的話,直接輸入網(wǎng)址的話就會(huì)跳到admin.asp,簡(jiǎn)單吧!
好了,這節(jié)就到這里了。
ASP留言本教程(7)時(shí)間:2010-04-09 22:53 點(diǎn)擊:17次 作者: 來源:網(wǎng)頁(yè)教學(xué)網(wǎng)
八、刪除留言
上節(jié)我們?cè)黾恿艘粋€(gè)刪除留言的鏈接,以下是這個(gè)del.asp的代碼
<% set rs=server.createobject(”adodb.recordset“)id=Request.QueryString(”id“)sql=”select * from main where id=“&id rs.open sql,conn,2,3 rs.delete rs.update %>
很明了吧,才幾句,第1、2、3句都不用我解釋了,大家都在上幾節(jié)中明白了。
第4句:
id=Request.QueryString(”id“)用id取值字符串中傳的id,回頭看一下刪除的鏈接:del.asp?id=<%=rs(”id“)%> 就是這個(gè)鏈接才把id的值傳來的,<%=rs(”id")%>是讀取數(shù)據(jù)庫(kù)中的自動(dòng)編號(hào)字段中的id。
第5句:
用sql定義SQL語(yǔ)句,這里的*是通配符,表示所有,而Where有點(diǎn)像我們漢語(yǔ)中的“當(dāng)”,整句話的意思是選擇所有來自表名為main的字段,它的條件是當(dāng)數(shù)據(jù)庫(kù)中的id字段是字串所傳來的id。如果這個(gè)沒有的話這個(gè)一時(shí)間不明白也不要緊,慢慢接觸就知道了。
第6句是打開符合條件的記錄,確切的講不應(yīng)該叫記錄集了,因?yàn)榻?jīng)過我們這樣篩選的話,記錄絕對(duì)是一條,2,3指定可以對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)入修改。
第7、8句 rs.delete 看了就明白了,原來這才是整個(gè)程序的精髓,就是執(zhí)行刪除了。rs.update 這是更新數(shù)據(jù)庫(kù)中的表,刪除后就更新。
最后大家自己用rs.close和conn.close釋放。
Jsp課程設(shè)計(jì)報(bào)告
JSP課程設(shè)計(jì)報(bào)告書
—基于jsp留言板
專
業(yè): 計(jì)算機(jī)信息管理
班
級(jí):
096111
姓
名:
鐘
春
連
學(xué)
號(hào):
09611108
指導(dǎo)老師:
姜
俊
坡
東華理工大學(xué)
二零一一年六月二十日
鐘春連 2011-6-21
Jsp課程設(shè)計(jì)報(bào)告
一 需求分析
隨著互聯(lián)網(wǎng)的迅猛的發(fā)展,網(wǎng)站給我們帶來不少的便利,于此同時(shí),論壇基本是每個(gè)網(wǎng)站必有的功能,為用戶之間的交流提供的很好的平臺(tái)。我通過仔細(xì)的分析和規(guī)劃,本論壇有如下功能:用戶注冊(cè),登錄,用戶信息修改,簽寫留言,留言查看,回復(fù)留言和管理員的普通維護(hù)功能等。
這些功能的具體描述如下:
1)用戶注冊(cè)模塊:用戶可已成為本論壇的會(huì)員,通過表單把用戶的相關(guān)信息提交給數(shù)據(jù)庫(kù)。
2)登錄模塊:基本是每個(gè)系統(tǒng)必備的模塊,本論壇的登錄的模塊分為兩個(gè)小模塊:普通用戶登錄,另一個(gè)是管理員登錄。
3)簽寫留言模塊:這是論壇的主要功能之一,用戶把自己感興趣的話題發(fā)表到論壇上,與網(wǎng)上的會(huì)員進(jìn)行探討。
4)回復(fù)留言模塊:這也是論壇的主要功能之一,用戶對(duì)別的用戶發(fā)表的留言進(jìn)行回復(fù)。5)普通的維護(hù)模塊:這是給管理員的功能,該功能對(duì)那些危害社會(huì)風(fēng)氣的留言刪除。6)用戶信息修改模塊:用戶能對(duì)自己的信息進(jìn)行修改。二 分析和設(shè)計(jì)(頁(yè)面和數(shù)據(jù)庫(kù))
設(shè)計(jì)網(wǎng)站論壇時(shí),首先應(yīng)該區(qū)別是普通用戶登錄還是管理員登錄。如果是普通用戶登錄,那么該用戶只有查看和回復(fù)留言的權(quán)限。如果是管理員登錄,則除了具有查看和回復(fù)權(quán)限外,還用具有管理論壇的權(quán)限。
在用戶發(fā)表留言后,將顯示該用戶的用戶名、性別、留言內(nèi)容和留言時(shí)間等內(nèi)容。如果在某個(gè)留言有回復(fù)內(nèi)容,則顯示出是誰恢復(fù)了該篇留言和回復(fù)的內(nèi)容。
另外還能在頁(yè)面中顯示當(dāng)前的系統(tǒng)的時(shí)間和訪問權(quán)限。數(shù)據(jù)庫(kù)設(shè)計(jì)
通過以上的分析:數(shù)據(jù)庫(kù)應(yīng)有四個(gè)表,tb_user、td_topic、tb_reply、tb_counter。由于是個(gè)小型的論壇,選擇AEESS數(shù)據(jù)庫(kù)
程序的主要實(shí)現(xiàn)根據(jù)等級(jí)設(shè)置用戶權(quán)限,是用腳本言語(yǔ)(javascript)來顯示系統(tǒng)的當(dāng)前時(shí)間,并通過
<%@ page contentType=“text/html;
charset=gb2312”
language=“java” import=“java.sql.*” errorPage=“" %> <%@ include file=”connDB.jsp“ %> <% ResultSet rs_user=stmt.executeQuery(”select * from tb_user where
鐘春連
2011-6-21
Jsp課程設(shè)計(jì)報(bào)告
username='“+session.getAttribute(”username“)+”'and status='版主'“);boolean eof=rs_user.next();%>
|

|
鐘春連 2011-6-21
Jsp課程設(shè)計(jì)報(bào)告
|
<%if(session.getAttribute(”username“)!=null){%> 簽寫留言 | 修改資料 | <%}else{%> 用戶注冊(cè) | <%}%> <%if(session.getAttribute(”username“)!=null){%> 注銷用戶 <%}else{%> 用戶登錄 <%}%> | 查看留言 | 刷新頁(yè)面 | <%if(eof){%> 注銷版主登錄 鐘春連 2011-6-21 Jsp課程設(shè)計(jì)報(bào)告 <%}else{ %>版主登錄<%}%> |
|
 | 系統(tǒng)公告:
下載ASP課程設(shè)計(jì)簡(jiǎn)單留言板.doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
網(wǎng)址:http://004km.cn/a12/2019051323/542d588881e7870e.html 聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。
武漢軟件工程職業(yè)學(xué)院 課程設(shè)計(jì)報(bào)告 2016-2017學(xué)年度第 二 學(xué)期 題目: 簡(jiǎn)易留言板設(shè)計(jì)姓名:肖志超班級(jí):網(wǎng)絡(luò)1502 系部: 計(jì)算機(jī)學(xué)院指導(dǎo)教師: 梁曉雅日期:2017年6月13日 [摘要]...... JSP在水一方留言簿設(shè)計(jì)報(bào)告 一需求分析 隨著互聯(lián)網(wǎng)的迅猛的發(fā)展,網(wǎng)站給我們帶來不少的便利,于此同時(shí),論壇基本是每個(gè)網(wǎng)站必有的功能,為用戶之間的交流提供的很好的平臺(tái)。我通過...... 日照職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文) php留言板系統(tǒng) 學(xué)生姓名 院 部電子信息科學(xué)與工程學(xué)院 專 業(yè) 計(jì)算機(jī)應(yīng)用技術(shù) 指導(dǎo)老師 魯 紅 日 期 2015-05-19 目錄 一 留言板簡(jiǎn)介 ............. 三、簡(jiǎn)答題與程序設(shè)計(jì)題 編寫程序計(jì)算112+ 122+132+…+232的值。 在個(gè)人主頁(yè)上添加時(shí)間信息,并判斷下午、晚上,上午和夜間,并分別給出問候:下午好、晚上好、上午好和夜里好。...... 一、留言板的簡(jiǎn)介 (一) 留言板 留言板是一種電子便簽管理系統(tǒng),是用 ASP 或其它腳本語(yǔ)言編寫的網(wǎng)絡(luò)應(yīng)用程序。 在網(wǎng)絡(luò)用戶交流中起很大的作用, 每個(gè)人都可以將他的資料和要...... 愛情是生活的理想,婚姻是生活的保障,愛情是浪漫,婚姻是現(xiàn)實(shí),愛情是兩個(gè)人的夢(mèng)想,婚姻是含有家人的期盼"。很多時(shí)候愛情和婚姻似乎就象太陽(yáng)和月亮,同在宇宙卻永遠(yuǎn)無法靠近。聞香下...... 留言板寄語(yǔ)留言板寄語(yǔ) 篇11.皓月柔軟,湖光瀲滟,我的心揚(yáng)起問候的風(fēng)帆;山清水秀,蜂飛蝶舞,我的夢(mèng)走在思念的路途;丹桂綻笑,碎玉飄搖,我的情綴滿祝福的語(yǔ)調(diào),愿你天天快樂。2.遇見一些溫...... 經(jīng)典留言板寄語(yǔ) 愛情是生活的理想,婚姻是生活的保障,愛情是浪漫,婚姻是現(xiàn)實(shí),愛情是兩個(gè)人的夢(mèng)想,婚姻是含有家人的期盼"。很多時(shí)候愛情和婚姻似乎就象太陽(yáng)和月亮,同在宇宙卻永遠(yuǎn)無......
|