欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      留言板的制作

      時(shí)間:2019-05-13 23:51:07下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《留言板的制作》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《留言板的制作》。

      第一篇:留言板的制作

      實(shí)驗(yàn)十二

      一、實(shí)訓(xùn)目的

      1、掌握制作校園留言板;

      2、掌握制作留言板數(shù)據(jù)庫(kù)。

      二、實(shí)訓(xùn)內(nèi)容

      注意:以下各題,保存在D: 09通信學(xué)號(hào)XX文件名中。

      1、設(shè)計(jì)添加留言板數(shù)據(jù)庫(kù)(課本P113-114)。(40分)

      2、設(shè)計(jì)留言板主頁(yè)(index.asp)(課本P120-125)(60分)

      第二篇:dreamweaver制作留言板步驟

      一、安裝與調(diào)試

      常聽(tīng)朋友感嘆ASP程序難學(xué)不易懂,不過(guò)我起初學(xué)習(xí)這門(mén)技術(shù)的時(shí)候也有過(guò)這樣的感悟。從今天開(kāi)始,我將以我學(xué)ASP的經(jīng)驗(yàn)來(lái)做一個(gè)簡(jiǎn)單的ASP留言本,這個(gè)留言本用了Access數(shù)據(jù)庫(kù),所以務(wù)必請(qǐng)大家要跟我一起做的朋友都安裝好Office軟件,相信各位自己的電腦上都有了。好了,開(kāi)始。

      創(chuàng)建ASP的運(yùn)行環(huán)境(安裝IIS)

      IIS(Internet Information Service)是構(gòu)建ASP站點(diǎn)所必須的,所以,我們應(yīng)該先確認(rèn)自己的電腦已安裝了IIS信息服務(wù),如果沒(méi)有安裝好的話(huà),請(qǐng)按以下步驟:

      1、打開(kāi)“控制面板”

      2、雙擊“添加/刪除程序”

      3、單擊“添加/刪除Windows組件”,打開(kāi)添加/刪除Windows組件對(duì)話(huà)框:

      3、從下拉的列表中選擇“Internet 信息服務(wù)(IIS)”單擊“下一步”:

      4、出現(xiàn)組件安裝進(jìn)度窗口,如彈出需要安裝盤(pán)的話(huà),放入Windows2000安裝盤(pán),按提示操作即可。直至最后安裝完畢。

      二、設(shè)計(jì)數(shù)據(jù)庫(kù)

      ASP程序本身并不能儲(chǔ)存數(shù)據(jù),眾所周知,留言本有以下信息需要保存:留言者姓名、聯(lián)系方式、留言?xún)?nèi)容等等。因?yàn)锳SP并不能儲(chǔ)存數(shù)據(jù),所以數(shù)據(jù)庫(kù)在這種環(huán)境之下就產(chǎn)生了。數(shù)據(jù)庫(kù)的種類(lèi)也很多,針對(duì)不同的程序也有適用于它的數(shù)據(jù)庫(kù),比如Access和Ms SQL就比較適用ASP和ASP.net程序,至于其它的數(shù)據(jù)庫(kù)和程序,就不屬于本文所討論的問(wèn)題了,有興趣的朋友可以查看其它一些資料。

      那么既然Access和MS SQL都適用ASP,那么具體又如何來(lái)選擇呢?我們可以打一個(gè)比方:比如釘一枚小釘子,聰明的人一定不會(huì)用一個(gè)大的棒槌,而是選擇小的鐵錘,雖然用大的棒槌也一樣的可以把釘子釘進(jìn)去,可是沒(méi)有人愿意這樣做。

      數(shù)據(jù)庫(kù)也一樣:Access比較適用小型的應(yīng)用,而MS SQL則適用于大中型的數(shù)據(jù)庫(kù)應(yīng)用,所以要做一個(gè)留言本,理所當(dāng)然是選擇Access更好一些,但是如果你決心使用MS,沒(méi)有人會(huì)極力阻止你。好了,廢話(huà)少說(shuō),切入正題,下面開(kāi)始創(chuàng)建數(shù)據(jù)庫(kù)。

      Access是微軟office辦公軟件中的其中一個(gè),默認(rèn)的安裝Office是有這個(gè)Access的,好了,打開(kāi)程序,開(kāi)始了,GO!

      進(jìn)入實(shí)戰(zhàn)了。打開(kāi)程序后,出現(xiàn)一個(gè)對(duì)話(huà)框,這里我們選擇第一個(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)建表”打開(kāi)表創(chuàng)建窗口”如圖 創(chuàng)建表的結(jié)構(gòu)如下表:

      字段名稱(chēng) 數(shù)據(jù)類(lèi)型 備注(筆者注釋)

      id 自動(dòng)編號(hào) 設(shè)置“自動(dòng)編號(hào)” user 文本 留言者姓名

      qq 數(shù)字 留言者的QQ,因?yàn)镼Q號(hào)是由數(shù)字組成email 文本 留言者的電子郵件

      content 備注 留言?xún)?nèi)容

      data 日期/時(shí)間 留言時(shí)間,設(shè)定默認(rèn)值為Now()

      數(shù)據(jù)庫(kù)設(shè)計(jì)好了以后,可以直接在數(shù)據(jù)庫(kù)里添加兩條記錄,以后測(cè)試時(shí)候用!

      三、連接數(shù)據(jù)庫(kù)

      在上一節(jié),我們已經(jīng)為我們的程序創(chuàng)建了一個(gè)數(shù)據(jù)庫(kù),在這一節(jié)中,我們來(lái)用ASP把程序和數(shù)據(jù)庫(kù)連接起來(lái),以后就可以連接到數(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ì)象后就用來(lái)打開(kāi)數(shù)據(jù)庫(kù)進(jìn)行連接 %> 一切OK了!結(jié)束ASP程序

      將上面的代碼另存為conn.asp文件,放在服務(wù)器目錄下面就可以了。怎么樣,簡(jiǎn)單吧?

      四、制作留言本首頁(yè)

      前面我們已經(jīng)連接好了數(shù)據(jù)庫(kù),就要讓它在這里發(fā)揮一下作用了,這一節(jié)將講述如何將數(shù)據(jù)庫(kù)里的數(shù)據(jù)用ASP讀取出來(lái),在頁(yè)面中顯示出來(lái),這樣就等于是查看留言本了。

      利用DW制作如下頁(yè)面(這里我就不講如何去做這個(gè)頁(yè)面了,最后我將會(huì)給出HTML代碼下載)

      將制作好的文件存為index.asp,下面就創(chuàng)建數(shù)據(jù)記錄集,用來(lái)顯示數(shù)據(jù)庫(kù)的數(shù)據(jù)到這個(gè)頁(yè)面中:

      用記事本打開(kāi)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 %> 代碼拷貝框

      <%@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 %> [Ctrl+A 全部選擇 然后拷貝]

      解釋一下:

      第一行,表明ASP使用的是VB腳本

      第二行,是用include包含文件,這里包含的是數(shù)據(jù)庫(kù)連接文件。第三行,ASP程序開(kāi)始

      第四行,利用Server內(nèi)置對(duì)象創(chuàng)建一個(gè)記錄集

      第五行, SQL語(yǔ)句,這里的意思是選擇數(shù)據(jù)庫(kù)中的user,qq,email,content,data字段,指定該數(shù)據(jù)表的名稱(chēng)是“main”數(shù)據(jù)的排列順序是倒序。

      第六行,用剛才創(chuàng)建的名為rs的記錄集打開(kāi)數(shù)據(jù)庫(kù),設(shè)置屬性為只讀(1,1為只讀數(shù)據(jù),1,3為插入數(shù)據(jù),2,3是修改數(shù)據(jù)。

      這樣就打開(kāi)了數(shù)據(jù)庫(kù),接下來(lái)就可以顯示了。

      將“留言人”代替為“<%=rs(“user”)%> “時(shí)間”代替為“<%=rs(“data”)%> “留言?xún)?nèi)容在此”代替為“<%=rs(“content”)%>

      “QQ”鏈接到:http://search.tencent.com/cgi-bin/friend/user_show_info?ln=<;%=rs(“qq”)%> “郵件”鏈接到:mailt<%=rs(“email”)%> 最后將“填寫(xiě)留言”鏈接 add.asp “管理留言”鏈接 admin.asp

      好了,再次保存,瀏覽看看!

      怎么了?只顯示一條記錄?原來(lái)我們?cè)跀?shù)據(jù)庫(kù)里添加了兩條記錄的哦!還有一條呢?別急,因?yàn)槲覀儧](méi)有指定ASP循環(huán)顯示,所以就只有一條啦。。

      在剛才的代碼后面添加一行 <%do while not rs.eof%> 并在頁(yè)面的第一個(gè)表格的末尾加上

      <% rs.movenext loop %> 上面的代碼就是說(shuō)用rs記錄集指針一條一條往下一條移動(dòng),直到末尾,loop是循環(huán)的意思。哈哈,再次瀏覽這個(gè)文件

      看明白了嗎,這樣就可以讓數(shù)據(jù)庫(kù)中的數(shù)據(jù)全部顯示在頁(yè)面中了。

      五、制作添加留言頁(yè)面,實(shí)現(xiàn)留言功能

      我們是做的一個(gè)留言本,實(shí)現(xiàn)留言的功能就十分重要了,要不然就算不上留言本了,接下來(lái)就一起來(lái)實(shí)現(xiàn)這個(gè)功能。

      用DW制作以下這樣的頁(yè)面:

      設(shè)置表單的屬性如下:

      姓名:設(shè)置為單行文本域,名稱(chēng)為“user” QQ號(hào):設(shè)置為單行文本域,名稱(chēng)為“qq” 郵件:設(shè)置為單行文本域,名稱(chēng)為“email” 內(nèi)容:設(shè)置為多行文本域,名稱(chēng)為“content”

      最后將表單的“Action”動(dòng)作指向addsave.asp就可以了。

      保存文檔名為add.asp,OK!下一步!

      表單是做好了,但是還需要后臺(tái)程序的支持,一起來(lái)使用ASP編寫(xiě)一個(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的記錄集打開(kāi)數(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字段的名稱(chēng) rs(“qq”)=qq

      將請(qǐng)求到的表單值傳向記錄集中代表qq字段的名稱(chēng) rs(“email”)=email

      將請(qǐng)求到的表單值傳向記錄集中代表email字段的名稱(chēng) rs(“content”)=content

      將請(qǐng)求到的表單值傳向記錄集中代表content字段的名稱(chēng) rs.update

      更新一下數(shù)據(jù)庫(kù)中的數(shù)據(jù)。rs.close

      關(guān)閉記錄集 set rs=nothing

      銷(xiāo)毀記錄集 conn.close

      關(guān)閉數(shù)據(jù)庫(kù)連接 set rs=nothing

      銷(xiāo)毀數(shù)據(jù)庫(kù)連接 %>

      代碼拷貝框

      <%@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的記錄集打開(kāi)數(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字段的名稱(chēng) rs(“qq”)=qq

      將請(qǐng)求到的表單值傳向記錄集中代表qq字段的名稱(chēng) rs(“email”)=email

      將請(qǐng)求到的表單值傳向記錄集中代表email字段的名稱(chēng) rs(“content”)=content

      將請(qǐng)求到的表單值傳向記錄集中代表content字段的名稱(chēng) rs.update

      更新一下數(shù)據(jù)庫(kù)中的數(shù)據(jù)。rs.close

      關(guān)閉記錄集 set rs=nothing

      銷(xiāo)毀記錄集 conn.close

      關(guān)閉數(shù)據(jù)庫(kù)連接 set rs=nothing

      銷(xiāo)毀數(shù)據(jù)庫(kù)連接 %>

      [Ctrl+A 全部選擇 然后拷貝]

      將以上文件存為addsave.asp,測(cè)試下!咦?怎么填好提交以后就出現(xiàn)空白了,為什么?這是因?yàn)樵赼ddsave.asp中沒(méi)有設(shè)置數(shù)據(jù)成功提交好后的轉(zhuǎn)向頁(yè)面,這里不用做那么復(fù)雜的,只要做一個(gè)刷新頁(yè)面就行了,在程序的后面加上:

      然后在頁(yè)面中添加提示信息,比如:“您的留言已經(jīng)成功提交,2秒鐘后將自動(dòng)返回留言本首頁(yè)” 好了,這個(gè)留言的功能總算實(shí)現(xiàn)了,最后再測(cè)試下,看看效果!

      OK!

      六、制作管理登陸頁(yè)面

      留言本的管理功能對(duì)于留言本來(lái)說(shuō)就不言而喻了,像論壇的登陸功能就是一個(gè)很好的例子,不過(guò)我們做留言本基本上有刪除功能就行了,寫(xiě)這個(gè)教程是為了更多的ASP入門(mén)者更好的了解ASP,所以旨在學(xué)習(xí)用,當(dāng)然也可以在這基礎(chǔ)上添加更多的功能,比如回復(fù)留言者。

      好了,開(kāi)始了,還是按照以前的,用Dreamweaver做一個(gè)登陸頁(yè)面,如下圖:

      把用戶(hù)名的表單名稱(chēng)設(shè)置為admin,密碼的表單名稱(chēng)設(shè)為password,把動(dòng)作指向checkpass.asp,存admin.asp這樣登陸頁(yè)面就好了,下面就做檢測(cè)密碼的ASP程序了,看以下代碼解釋?zhuān)?/p>

      把conn.asp包含進(jìn)來(lái)連接數(shù)據(jù)庫(kù) <% ASP起始

      admin=request.form(“admin”)定義admin的值是表單傳過(guò)來(lái)的用戶(hù)名域名稱(chēng)admin password=request.form(“password”)定義admin的值是表單傳過(guò)來(lái)的用戶(hù)名域名稱(chēng)admin if admin=“" or password=”“ then 這句的意思是假如用戶(hù)名和密碼沒(méi)有輸入的話(huà)那么執(zhí)行下一句

      response.Write(”“)用javascript腳本提示用戶(hù) 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)沒(méi)有符合篩選結(jié)果時(shí),則執(zhí)行下面的句子 response.write ”“ 用javascript腳本提示用戶(hù) else 如果符合條件的時(shí)候

      session(”admin“)=admin 新建session,值等于表單傳來(lái)的用戶(hù)名 response.redirect ”mymanage.asp“ 轉(zhuǎn)向到mymanage.asp,進(jìn)入管理頁(yè) end if 結(jié)束if語(yǔ)句 %> ASP結(jié)束

      代碼拷貝框

      把conn.asp包含進(jìn)來(lái)連接數(shù)據(jù)庫(kù) <% ASP起始

      admin=request.form(”admin“)定義admin的值是表單傳過(guò)來(lái)的用戶(hù)名域名稱(chēng)admin password=request.form(”password“)定義admin的值是表單傳過(guò)來(lái)的用戶(hù)名域名稱(chēng)admin if admin=”“ or password=”“ then 這句的意思是假如用戶(hù)名和密碼沒(méi)有輸入的話(huà)那么執(zhí)行下一句

      response.Write(”“)用javascript腳本提示用戶(hù) 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)沒(méi)有符合篩選結(jié)果時(shí),則執(zhí)行下面的句子 response.write ”“ 用javascript腳本提示用戶(hù) else 如果符合條件的時(shí)候

      session(”admin“)=admin 新建session,值等于表單傳來(lái)的用戶(hù)名 response.redirect ”mymanage.asp“ 轉(zhuǎn)向到mymanage.asp,進(jìn)入管理頁(yè) end if 結(jié)束if語(yǔ)句 %> ASP結(jié)束

      [Ctrl+A 全部選擇 然后拷貝]

      將以上代碼保存為checkpass.asp

      這樣,用戶(hù)在admin.asp頁(yè)面中輸入用戶(hù)名和密碼后,就把用戶(hù)名和密碼值傳給checkpass.asp處理,當(dāng)用戶(hù)名和密碼的值和數(shù)據(jù)庫(kù)中的字段相匹配時(shí),就進(jìn)入mymanage.asp這個(gè)管理頁(yè)面,同時(shí)建一個(gè)session,這個(gè)session的會(huì)話(huà)變量將在后面起作用,七、制作管理頁(yè)面

      上節(jié)中講的是制作登陸頁(yè)面和檢測(cè)用戶(hù),當(dāng)用戶(hù)名和密碼正確時(shí)就轉(zhuǎn)到管理頁(yè)面,好了,開(kāi)始實(shí)現(xiàn)它。其實(shí)這個(gè)留言本的管理頁(yè)面和用戶(hù)直接看到的首頁(yè)沒(méi)有多大的區(qū)別,只是用了Session會(huì)話(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ì)知道為什么了!改過(guò)后存為mymanage.asp

      現(xiàn)在打開(kāi)瀏覽器看看!

      怎么不用輸入用戶(hù)名和密碼都可進(jìn)入呀?別急,上節(jié)中,我們不是建了一個(gè)session的會(huì)話(huà)變量,這時(shí)就派上用場(chǎng)了,直接用記事本打開(kāi)。在<%@LANGUAGE=”VBScript“ codepage=”936“%>這句的后面加上<%if session(”admin“)<>”“ then%>這句,在末尾寫(xiě)上: <% else response.Redirect(”admin.asp“)end if%> 下面來(lái)講解一下。

      <%if session(”admin“)<>”“ then%> 就是說(shuō)如果session這個(gè)(”admin“)的值不是空的話(huà)就執(zhí)行。<% else response.Redirect(”admin.asp“)end if%> 為空的話(huà)就轉(zhuǎn)向登陸頁(yè),重新登陸,這樣的話(huà),直接輸入網(wǎng)址的話(huà)就會(huì)跳到admin.asp,簡(jiǎn)單吧!

      八、刪除留言

      上節(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的值傳來(lái)的,<%=rs(”id")%>是讀取數(shù)據(jù)庫(kù)中的自動(dòng)編號(hào)字段中的id。

      第5句:

      用sql定義SQL語(yǔ)句,這里的*是通配符,表示所有,而Where有點(diǎn)像我們漢語(yǔ)中的“當(dāng)”,整句話(huà)的意思是選擇所有來(lái)自表名為main的字段,它的條件是當(dāng)數(shù)據(jù)庫(kù)中的id字段是字串所傳來(lái)的id。如果這個(gè)沒(méi)有的話(huà)這個(gè)一時(shí)間不明白也不要緊,慢慢接觸就知道了。第6句是打開(kāi)符合條件的記錄,確切的講不應(yīng)該叫記錄集了,因?yàn)榻?jīng)過(guò)我們這樣篩選的話(huà),記錄絕對(duì)是一條,2,3指定可以對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)入修改。

      第7、8句

      rs.delete 看了就明白了,原來(lái)這才是整個(gè)程序的精髓,就是執(zhí)行刪除了。rs.update 這是更新數(shù)據(jù)庫(kù)中的表,刪除后就更新。

      最后大家自己用rs.close和conn.close釋放。

      第三篇:java l留言板的制作

      package com.cfxy.wwl.java.shixun;

      import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;import java.text.SimpleDateFormat;import java.util.Date;

      import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.ScrollPaneConstants;/* * Swing:其實(shí)大部分組建派生與awt * * 組建的對(duì)應(yīng)規(guī)則: * awt Swing * Frame JFrame * Button JButton */

      public class liuyanban {

      //建立組件的引用

      private JFrame f;private JButton b1;private JButton b2;private JButton b3;private JTextArea ta;

      //構(gòu)造方法

      public liuyanban(){

      init();}

      //初始化顯示界面

      public void init(){

      JFrame f=new JFrame(“我的留言板”);

      f.setBounds(300, 200, 400, 400);

      //設(shè)置布局方式

      f.setLayout(new BorderLayout());

      //三個(gè)按鈕

      b1=new JButton(“查看/刷新留言”);

      b2=new JButton(“我要留言”);

      b3=new JButton(“清除歷史留言”);

      //Panel

      JPanel p=new JPanel();

      p.setLayout(new GridLayout(1,3));

      p.add(b1);

      p.add(b2);

      p.add(b3);

      //創(chuàng)建帶有滾動(dòng)條的面板,其構(gòu)造方法參數(shù)在接口ScrollPaneConstants中

      JScrollPane jp=new JScrollPane(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

      ta=new JTextArea(“");

      ta.setWrapStyleWord(true);

      jp.setViewportView(ta);

      f.add(p,”North“);

      f.add(jp,”Center“);

      myEvent();

      f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

      f.setVisible(true);} //加載各種監(jiān)聽(tīng)器

      public void myEvent(){

      b2.addActionListener(new ActionListener(){

      @Override

      public void actionPerformed(ActionEvent arg0){

      String label=b2.getText();

      if(”我要留言“.equals(label)){

      b2.setText(”提交留言“);

      ta.setText(”留言信息:“);

      }else{

      //將留言信息存入文本文件

      String s=ta.getText();

      try {

      PrintWriter FileWriter(”record.txt“,true));

      Date d=new Date();

      //SimpleDateFormat位于java.text包,這里使用其format(date)方法

      SimpleDateFormat SimpleDateFormat(”yyyy/MM/dd hh:mm:ss“);

      pw.println(sdf.format(d));

      pw.println(s);

      pw.println(”-------------“);

      sdf=new

      pw=new

      PrintWriter(new

      pw.close();

      } catch(IOException e){

      // TODO Auto-generated catch block

      e.printStackTrace();

      }

      b2.setText(”我要留言“);

      ta.setText(”留言已經(jīng)提交.......“);

      }

      }

      });

      b1.addActionListener(new ActionListener(){

      @Override

      public void actionPerformed(ActionEvent arg0){

      try {

      ta.setText(”“);

      BufferedReader FileReader(”record.txt“));

      String line=”“;

      while((line=br.readLine())!=null){

      ta.append(line);

      ta.append(”rn“);

      br=new

      BufferedReader(new

      }

      } catch(IOException e){

      ta.setText(”文件不存在!“);

      }

      }

      });

      b3.addActionListener(new ActionListener(){

      @Override

      public void actionPerformed(ActionEvent arg0){

      try {

      PrintWriter FileWriter(”record.txt“));

      pw.println(”留言記錄:rn“);

      pw.close();

      ta.setText(”留言已經(jīng)清除!");

      } catch(IOException e){

      // TODO Auto-generated catch block

      e.printStackTrace();

      }

      }

      pw=new

      PrintWriter(new

      });}

      public static void main(String[] args){

      new liuyanban();} }

      第四篇:簡(jiǎn)單易學(xué)的ASP留言板制作教程

      ASP留言本教程(1)時(shí)間:2010-04-09 22:53 點(diǎn)擊:17次 作者: 來(lái)源:網(wǎng)頁(yè)教學(xué)網(wǎng)

      二、設(shè)計(jì)數(shù)據(jù)庫(kù)

      ASP程序本身并不能儲(chǔ)存數(shù)據(jù),眾所周知,留言本有以下信息需要保存:留言者姓名、聯(lián)系方式、留言?xún)?nèi)容等等。因?yàn)锳SP并不能儲(chǔ)存數(shù)據(jù),所以數(shù)據(jù)庫(kù)在這種環(huán)境之下就產(chǎn)生了。數(shù)據(jù)庫(kù)的種類(lèi)也很多,針對(duì)不同的程序也有適用于它的數(shù)據(jù)庫(kù),比如Access和Ms SQL就比較適用ASP和ASP.net程序,至于其它的數(shù)據(jù)庫(kù)和程序,就不屬于本文所討論的問(wèn)題了,有興趣的朋友可以查看其它一些資料。

      那么既然Access和MS SQL都適用ASP,那么具體又如何來(lái)選擇呢?我們可以打一個(gè)比方:比如釘一枚小釘子,聰明的人一定不會(huì)用一個(gè)大的棒槌,而是選擇小的鐵錘,雖然用大的棒槌也一樣的可以把釘子釘進(jìn)去,可是沒(méi)有人愿意這樣做。

      數(shù)據(jù)庫(kù)也一樣:Access比較適用小型的應(yīng)用,而MS SQL則適用于大中型的數(shù)據(jù)庫(kù)應(yīng)用,所以要做一個(gè)留言本,理所當(dāng)然是選擇Access更好一些,但是如果你決心使用MS,沒(méi)有人會(huì)極力阻止你。好了,廢話(huà)少說(shuō),切入正題,下面開(kāi)始創(chuàng)建數(shù)據(jù)庫(kù)。

      Access是微軟office辦公軟件中的其中一個(gè),默認(rèn)的安裝Office是有這個(gè)Access的,好了,打開(kāi)程序,開(kāi)始了,GO!

      進(jìn)入實(shí)戰(zhàn)了。打開(kāi)程序后,出現(xiàn)一個(gè)對(duì)話(huà)框,這里我們選擇第一個(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)建表"打開(kāi)表創(chuàng)建窗口"如圖

      創(chuàng)建表的結(jié)構(gòu)如下表:

      字段名稱(chēng)

      數(shù)據(jù)類(lèi)型

      備注(筆者注釋)

      id 自動(dòng)編號(hào) 設(shè)置“自動(dòng)編號(hào)” name 文本 留言者姓名

      qq 數(shù)字 留言者的QQ,因?yàn)镼Q號(hào)是由數(shù)字組成 email 文本 留言者的電子郵件 content 備注 留言?xún)?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次 作者: 來(lái)源:網(wǎng)頁(yè)教學(xué)網(wǎng)

      三、連接數(shù)據(jù)庫(kù)

      在上一節(jié),我們已經(jīng)為我們的程序創(chuàng)建了一個(gè)數(shù)據(jù)庫(kù),在這一節(jié)中,我們來(lái)用ASP把程序和數(shù)據(jù)庫(kù)連接起來(lái),以后就可以連接到數(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ì)象后就用來(lái)打開(kāi)數(shù)據(jù)庫(kù)進(jìn)行連接 %>

      '一切OK了!結(jié)束ASP程序

      將上面的代碼另存為conn.asp文件,放在服務(wù)器目錄下面就可以了。怎么樣,簡(jiǎn)單吧?

      這一節(jié)是最重要的,一定要弄明白,否則以后操作數(shù)據(jù)庫(kù)將變得不現(xiàn)實(shí),如果有不懂的問(wèn)題,歡迎和我討論,我的電子郵件地址是。這一節(jié)就到此,下節(jié)我們就將數(shù)據(jù)庫(kù)中的數(shù)據(jù)顯示在頁(yè)面中(這就實(shí)現(xiàn)了留言本的查看功能)

      ASP留言本教程(3)時(shí)間:2010-04-09 22:53 點(diǎn)擊:17次 作者: 來(lái)源:網(wǎng)頁(yè)教學(xué)網(wǎng)

      三、制作留言本首頁(yè)

      前面我們已經(jīng)連接好了數(shù)據(jù)庫(kù),就要讓它在這里發(fā)揮一下作用了,這一節(jié)將講述如何將數(shù)據(jù)庫(kù)里的數(shù)據(jù)用ASP讀取出來(lái),在頁(yè)面中顯示出來(lái),這樣就等于是查看留言本了。

      利用DW制作如下頁(yè)面(這里我就不講如何去做這個(gè)頁(yè)面了,最后我將會(huì)給出HTML代碼下載)

      將制作好的文件存為index.asp,下面就創(chuàng)建數(shù)據(jù)記錄集,用來(lái)顯示數(shù)據(jù)庫(kù)的數(shù)據(jù)到這個(gè)頁(yè)面中:

      用記事本打開(kāi)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程序開(kāi)始

      第四行,利用Server內(nèi)置對(duì)象創(chuàng)建一個(gè)記錄集

      第五行, SQL語(yǔ)句,這里的意思是選擇數(shù)據(jù)庫(kù)中的user,qq,email,content,data字段,指定該數(shù)據(jù)表的名稱(chēng)是“main”數(shù)據(jù)的排列順序是倒序。

      第六行,用剛才創(chuàng)建的名為rs的記錄集打開(kāi)數(shù)據(jù)庫(kù),設(shè)置屬性為只讀(1,1為只讀數(shù)據(jù),1,3為插入數(shù)據(jù),2,3是修改數(shù)據(jù)。

      這樣就打開(kāi)了數(shù)據(jù)庫(kù),接下來(lái)就可以顯示了。

      將“留言人”代替為“<%=rs(“user”)%> “時(shí)間”代替為“<%=rs(“data”)%>

      “留言?xún)?nèi)容在此”代替為“<%=rs(“content”)%> “QQ”鏈接到:

      “郵件”鏈接到:mailto:<%=rs(“email”)%> 最后將“填寫(xiě)留言”鏈接 add.asp “管理留言”鏈接 admin.asp

      好了,再次保存,瀏覽看看!

      怎么了?只顯示一條記錄?原來(lái)我們?cè)跀?shù)據(jù)庫(kù)里添加了兩條記錄的哦!還有一條呢?別急,因?yàn)槲覀儧](méi)有指定ASP循環(huán)顯示,所以就只有一條啦。。

      在剛才的代碼后面添加一行

      <%do while not rs.eof%>

      并在頁(yè)面的第一個(gè)表格的末尾加上

      <% rs.movenext loop %> 上面的代碼就是說(shuō)用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次 作者: 來(lái)源:網(wǎng)頁(yè)教學(xué)網(wǎng)

      三、制作添加留言頁(yè)面,實(shí)現(xiàn)留言功能

      我們是做的一個(gè)留言本,實(shí)現(xiàn)留言的功能就十分重要了,要不然就算不上留言本了,接下來(lái)就一起來(lái)實(shí)現(xiàn)這個(gè)功能。

      用DW制作以下這樣的頁(yè)面:

      設(shè)置表單的屬性如下:

      姓名:設(shè)置為單行文本域,名稱(chēng)為“user” QQ號(hào):設(shè)置為單行文本域,名稱(chēng)為“qq” 郵件:設(shè)置為單行文本域,名稱(chēng)為“email” 內(nèi)容:設(shè)置為多行文本域,名稱(chēng)為“content”

      最后將表單的“Action”動(dòng)作指向addsave.asp就可以了。

      保存文檔名為add.asp,OK!下一步!

      表單是做好了,但是還需要后臺(tái)程序的支持,一起來(lái)使用ASP編寫(xiě)一個(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的記錄集打開(kāi)數(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字段的名稱(chēng) rs(“qq”)=qq

      '將請(qǐng)求到的表單值傳向記錄集中代表qq字段的名稱(chēng)

      rs(“email”)=email

      '將請(qǐng)求到的表單值傳向記錄集中代表email字段的名稱(chēng) rs(“content”)=content

      '將請(qǐng)求到的表單值傳向記錄集中代表content字段的名稱(chēng)

      rs.update

      '更新一下數(shù)據(jù)庫(kù)中的數(shù)據(jù)。rs.close

      '關(guān)閉記錄集 set rs=nothing

      '銷(xiāo)毀記錄集 conn.close

      '關(guān)閉數(shù)據(jù)庫(kù)連接 set rs=nothing

      '銷(xiāo)毀數(shù)據(jù)庫(kù)連接 %>

      將以上文件存為addsave.asp,測(cè)試下!咦?怎么填好提交以后就出現(xiàn)空白了,為什么?這是因?yàn)樵赼ddsave.asp中沒(méi)有設(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次 作者: 來(lái)源:網(wǎng)頁(yè)教學(xué)網(wǎng)

      六、制作管理登陸頁(yè)面

      留言本的管理功能對(duì)于留言本來(lái)說(shuō)就不言而喻了,像論壇的登陸功能就是一個(gè)很好的例子,不過(guò)我們做留言本基本上有刪除功能就行了,寫(xiě)這個(gè)教程是為了更多的ASP入門(mén)者更好的了解ASP,所以旨在學(xué)習(xí)用,當(dāng)然也可以在這基礎(chǔ)上添加更多的功能,比如回復(fù)留言者。

      好了,開(kāi)始了,還是按照以前的,用Dreamweaver做一個(gè)登陸頁(yè)面,如下圖:

      把用戶(hù)名的表單名稱(chēng)設(shè)置為admin,密碼的表單名稱(chēng)設(shè)為password,把動(dòng)作指向checkpass.asp,存admin.asp這樣登陸頁(yè)面就好了,下面就做檢測(cè)密碼的ASP程序了,看以下代碼解釋?zhuān)?/p>

      '把conn.asp包含進(jìn)來(lái)連接數(shù)據(jù)庫(kù) <% 'ASP起始

      admin=request.form(“admin”)'定義admin的值是表單傳過(guò)來(lái)的用戶(hù)名域名稱(chēng)admin password=request.form(“password”)'定義admin的值是表單傳過(guò)來(lái)的用戶(hù)名域名稱(chēng)admin if admin=“" or password=”“ then '這句的意思是假如用戶(hù)名和密碼沒(méi)有輸入的話(huà)那么執(zhí)行下一句

      response.Write(”“)'用javascript腳本提示用戶(hù) 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)沒(méi)有符合篩選結(jié)果時(shí),則執(zhí)行下面的句子 response.write ”“ '用javascript腳本提示用戶(hù) else '如果符合條件的時(shí)候

      session(”admin“)=admin '新建session,值等于表單傳來(lái)的用戶(hù)名 response.redirect ”mymanage.asp“ '轉(zhuǎn)向到mymanage.asp,進(jìn)入管理頁(yè) end if '結(jié)束if語(yǔ)句 %> 'ASP結(jié)束

      將以上代碼保存為checkpass.asp

      這樣,用戶(hù)在admin.asp頁(yè)面中輸入用戶(hù)名和密碼后,就把用戶(hù)名和密碼值傳給checkpass.asp處理,當(dāng)用戶(hù)名和密碼的值和數(shù)據(jù)庫(kù)中的字段相匹配時(shí),就進(jìn)入mymanage.asp這個(gè)管理頁(yè)面,同時(shí)建一個(gè)session,這個(gè)session的會(huì)話(huà)變量將在后面起作用,下一節(jié)就明白了。

      ASP留言本教程(6)時(shí)間:2010-04-09 22:53 點(diǎn)擊:17次 作者: 來(lái)源:網(wǎng)頁(yè)教學(xué)網(wǎng)

      七、制作管理頁(yè)面

      上節(jié)中講的是制作登陸頁(yè)面和檢測(cè)用戶(hù),當(dāng)用戶(hù)名和密碼正確時(shí)就轉(zhuǎn)到管理頁(yè)面,好了,開(kāi)始實(shí)現(xiàn)它。

      其實(shí)這個(gè)留言本的管理頁(yè)面和用戶(hù)直接看到的首頁(yè)沒(méi)有多大的區(qū)別,只是用了Session會(huì)話(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ì)知道為什么了!

      改過(guò)后存為mymanage.asp

      現(xiàn)在打開(kāi)瀏覽器看看!

      怎么不用輸入用戶(hù)名和密碼都可進(jìn)入呀?別急,上節(jié)中,我們不是建了一個(gè)session的會(huì)話(huà)變量,這時(shí)就派上用場(chǎng)了,直接用記事本打開(kāi)。在<%@LANGUAGE=”VBScript“ codepage=”936“%>這句的后面加上<%if session(”admin“)<>”“ then%>這句,在末尾寫(xiě)上: <% else response.Redirect(”admin.asp“)end if%> 下面來(lái)講解一下。

      <%if session(”admin“)<>”“ then%> '就是說(shuō)如果session這個(gè)(”admin“)的值不是空的話(huà)就執(zhí)行。<% else response.Redirect(”admin.asp“)end if%> '為空的話(huà)就轉(zhuǎn)向登陸頁(yè),重新登陸,這樣的話(huà),直接輸入網(wǎng)址的話(huà)就會(huì)跳到admin.asp,簡(jiǎn)單吧!

      好了,這節(jié)就到這里了。

      ASP留言本教程(7)時(shí)間:2010-04-09 22:53 點(diǎn)擊:17次 作者: 來(lái)源:網(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的值傳來(lái)的,<%=rs(”id")%>是讀取數(shù)據(jù)庫(kù)中的自動(dòng)編號(hào)字段中的id。

      第5句:

      用sql定義SQL語(yǔ)句,這里的*是通配符,表示所有,而Where有點(diǎn)像我們漢語(yǔ)中的“當(dāng)”,整句話(huà)的意思是選擇所有來(lái)自表名為main的字段,它的條件是當(dāng)數(shù)據(jù)庫(kù)中的id字段是字串所傳來(lái)的id。如果這個(gè)沒(méi)有的話(huà)這個(gè)一時(shí)間不明白也不要緊,慢慢接觸就知道了。

      第6句是打開(kāi)符合條件的記錄,確切的講不應(yīng)該叫記錄集了,因?yàn)榻?jīng)過(guò)我們這樣篩選的話(huà),記錄絕對(duì)是一條,2,3指定可以對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)入修改。

      第7、8句 rs.delete 看了就明白了,原來(lái)這才是整個(gè)程序的精髓,就是執(zhí)行刪除了。rs.update 這是更新數(shù)據(jù)庫(kù)中的表,刪除后就更新。

      最后大家自己用rs.close和conn.close釋放。

      第五篇:留言板

      日照職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)

      php留言板系統(tǒng)

      學(xué)生姓名 院 部

      電子信息科學(xué)與工程學(xué)院 專(zhuān) 業(yè) 計(jì)算機(jī)應(yīng)用技術(shù) 指導(dǎo)老師 魯 紅 日 期 2015-05-19

      目錄

      一 留言板簡(jiǎn)介..........................................................................................................................................4 二 留言板設(shè)計(jì)原理..................................................................................................................................4 三 四 五 PHP技術(shù)介紹...................................................................................................................................4 PHP技術(shù)優(yōu)點(diǎn)...................................................................................................................................4 MYSQL介紹......................................................................................................................................6

      六 留言板系統(tǒng)的概要設(shè)計(jì)......................................................................................................................6(一)系統(tǒng)開(kāi)發(fā)環(huán)境...............................................................................................................................6(二)php語(yǔ)言選擇...............................................................................................................................6(三)系統(tǒng)功能.......................................................................................................................................7 七 留言板詳細(xì)設(shè)計(jì)..................................................................................................................................7(一)數(shù)據(jù)庫(kù)設(shè)計(jì)...................................................................................................................................8(二)留言板數(shù)據(jù)庫(kù)連接 寫(xiě)入和保存..................................................................................................9(三)留言板文件夾中文件的介紹.....................................................................................................15(四)留言板首頁(yè)設(shè)計(jì).........................................................................................................................15 八 總結(jié)....................................................................................................................................................15 九 留言板特色和不足............................................................................................................................15 參考文獻(xiàn):................................................................................................................................................16

      第1頁(yè)

      留言板系統(tǒng)

      摘要:隨著Internet的發(fā)展,網(wǎng)站的作用越來(lái)越重要,被稱(chēng)之為繼廣播、報(bào)紙、雜志、電視后的

      第五種媒體——數(shù)字媒體,擁有眾多優(yōu)勢(shì),所以現(xiàn)在不少企業(yè)都有或正在建設(shè)自己的網(wǎng)站。而留言板作為網(wǎng)站重要的一個(gè)部分,從來(lái)就是一個(gè)大家交流的平臺(tái)!留言板是一種最為簡(jiǎn)單的BBS應(yīng)用,借助留言板,瀏覽者可以張貼留言的方式給站長(zhǎng)、版主或其他瀏覽者進(jìn)行留言和提問(wèn)。

      本文主要介紹留言板系統(tǒng)的設(shè)計(jì)思路和制作過(guò)程,從留言板的重要性開(kāi)始,介紹我的留言版采用的PHP技術(shù)和MYSQL數(shù)據(jù)庫(kù),進(jìn)而闡述整個(gè)留言板系統(tǒng)的制作過(guò)程和具體的設(shè)計(jì)思路。該留言板較全面地利用PHP技術(shù)實(shí)現(xiàn)留言板的基本功能:留言、查看、刪除,并增加了一些特色功能。最后介紹自己在設(shè)計(jì)過(guò)程的心得體會(huì)。關(guān)鍵詞:留言板,PHP,MYSOL數(shù)據(jù)庫(kù)

      第2頁(yè)

      引言

      Internet起源于20世紀(jì)60年代末、70年代初,當(dāng)時(shí),美國(guó)國(guó)防部為了將充斥于軍事基地內(nèi)各種廠(chǎng)商的電腦主機(jī)互連,讓它們可以進(jìn)行數(shù)據(jù)交換以便研究工作順利進(jìn)行,于是成立了ARPA網(wǎng)絡(luò)計(jì)劃。ARPA計(jì)劃嘗試建設(shè)1個(gè)網(wǎng)絡(luò)系統(tǒng),它可將各種不同廠(chǎng)商的電腦連接起來(lái)。隨著這個(gè)計(jì)劃的成功,各學(xué)術(shù)單位,研究機(jī)構(gòu)也紛紛與ARPA計(jì)劃所建立的ARPANet連接。到了20世紀(jì)80年代,Internet這個(gè)名詞因勢(shì)產(chǎn)生,它代表著這10年來(lái)所構(gòu)建涵蓋全球各地的網(wǎng)絡(luò)系統(tǒng)。從1990年起,商業(yè)使用的Internet在美國(guó)急速地?cái)U(kuò)大,而Internet也從原來(lái)屬于少數(shù)人使用的網(wǎng)絡(luò)系統(tǒng)轉(zhuǎn)變?yōu)槠胀ò傩找材軌蚴褂玫木W(wǎng)絡(luò)系統(tǒng)。

      最初的Internet資源服務(wù)都還停留在文本模式,1989年,量子物理實(shí)驗(yàn)室(CERN)下的1個(gè)研究小組著手開(kāi)發(fā)1種全新的Internet服務(wù),它可以在網(wǎng)絡(luò)上傳送圖片、文本、影像、聲音等多媒體數(shù)據(jù)。于是由Tim Berners Lee領(lǐng)導(dǎo)的小組開(kāi)發(fā)出了1種主從、分布式的網(wǎng)絡(luò)服務(wù)系統(tǒng),這就是004km.cnpile編譯或鏈接程序,可在服務(wù)器端直接執(zhí)行,這無(wú)疑是更加方便了我們的編寫(xiě)過(guò)程。

      2、使用編程環(huán)境方便簡(jiǎn)單。可以使用普通的記事本之類(lèi)的文本編輯器,即可進(jìn)行編輯設(shè)計(jì),如:Windows的記事本、FrontPage等文本編輯器。也可以用dreamweaver和專(zhuān)業(yè)的Microsoft Visual InterDev開(kāi)發(fā)工具。

      3、瀏覽網(wǎng)頁(yè)方便,交互速度也快。PHP是運(yùn)行在服務(wù)器端,所以我們無(wú)須擔(dān)心瀏覽器是否支持PHP所使用的編程語(yǔ)言,用戶(hù)端只要使用可執(zhí)行HTML碼的瀏覽器,即可瀏覽Personal home pages所設(shè)計(jì)的網(wǎng)頁(yè)內(nèi)容。PHP在服務(wù)器端運(yùn)行,當(dāng)程序執(zhí)行完畢后,服務(wù)器僅將執(zhí)行的結(jié)果返回給客戶(hù)瀏覽器,這樣也就減輕了客戶(hù)端瀏覽器的負(fù)擔(dān),大大提高了交互的速度。

      4、提供多種編程語(yǔ)言。PHP能與任何ActiveX scripting語(yǔ)言相容。除了可用VBScript或JScript語(yǔ)言來(lái)設(shè)計(jì)外,還通過(guò)plug-in的方式,使用由第三方所提供的其他腳本語(yǔ)言,譬如Perl等。

      5、提高代碼的安全性。Personal home pages的程序代碼隱藏,已編碼的腳本在運(yùn)行時(shí)由腳本引擎解碼,因此不需要單獨(dú)的應(yīng)用程序。客戶(hù)端上僅可以看到由PHP輸出的動(dòng)態(tài)HTML文件。因而可以避免所寫(xiě)的源程序被他人剽竊,也提高了程序的安全性。

      6、功能強(qiáng)大。編程是面向?qū)ο蟮模∣bject oriented),并可擴(kuò)展ActiveX Server組件功能。Personal home page Components(ActiveX服務(wù)器組件)具有無(wú)限可擴(kuò)充性。你可以使用任何編程語(yǔ)言來(lái)編寫(xiě)你所需要的Personal Server 組件??梢允褂肰isual Basic、Java、Visual C++、COBOL等編程語(yǔ)言來(lái)編寫(xiě)你所需要的Personal Server Component。也可以使用第三方組件或自己開(kāi)發(fā)的Personal Server組件。理論上說(shuō),可以實(shí)現(xiàn)任何功能。

      7、訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)十分方便??梢酝ㄟ^(guò)PDO(Personal Data Objects,微軟的一種新的數(shù)據(jù)訪(fǎng)問(wèn)模型,是一種可以提供WEB頁(yè)面開(kāi)發(fā)者輕松存取Internet的數(shù)據(jù)庫(kù),并可以在用戶(hù)端實(shí)現(xiàn)網(wǎng)上立即、即時(shí)更新顯示的最新WEB頁(yè)面數(shù)據(jù)庫(kù)技術(shù)。)非常方便地訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)。

      總之,PHP從字面上說(shuō),包含三方面含義: 1.Personal:PHP使用了微軟的Personal技術(shù)。Personal(COM)技術(shù)是現(xiàn)在Microsoft軟件的重要基礎(chǔ)。它采用封裝對(duì)象,程序調(diào)用對(duì)象的技術(shù),簡(jiǎn)化編程,加強(qiáng)程序間合作。PHP本身封裝了一些基本組件和常用組件,有很多公司也開(kāi)發(fā)了很多實(shí)用組件。只要你可以在服務(wù)器上安裝這些組件,通過(guò)訪(fǎng)問(wèn)組件,你就可以快速、簡(jiǎn)易地建立自己的WEB應(yīng)用。

      2.home:PHP運(yùn)行在服務(wù)器端。這樣就不必?fù)?dān)心瀏覽器是否支持PHP所使用的編程語(yǔ)言。PHP的編程語(yǔ)言可以是VBSCRIPT和JSCRIPT。VBSCRIPT是VB的一個(gè)簡(jiǎn)集,會(huì)VB的人可以很方便的快速上手。然而NETscape瀏覽器不支持客戶(hù)端的VBSCRIPT,所以最好不要在客戶(hù)端使用VBSCRIPT。而在服務(wù)器端,則無(wú)需考慮瀏覽器的支持問(wèn)題。NETscape瀏覽器也可以正常顯示PHP頁(yè)面。

      3.page:PHP返回標(biāo)準(zhǔn)的HTML頁(yè)面,可以正常地在常用的瀏覽器中顯示。瀏覽者查看頁(yè)面源文件時(shí),看到的是PHP生成的HTML代碼,而不是PHP程序代碼。這樣就可以防止別人抄襲程序。由此可以看出,PHP是在IIS下開(kāi)發(fā)WEB應(yīng)用的一種簡(jiǎn)單、方便的編程工具。在了解了VBSCRIPT的基本語(yǔ)法后,只需要清楚各個(gè)組件的用途、屬性、方法,就可以輕松編寫(xiě)出自己的PHP系統(tǒng)。

      第5頁(yè)

      而我這次所開(kāi)發(fā)的留言本系統(tǒng),主要是利用PHP技術(shù)的簡(jiǎn)單和實(shí)用的特點(diǎn),以及PHP使用的廣泛性,而且非常適合于網(wǎng)絡(luò)中小型系統(tǒng)開(kāi)發(fā)。

      五 MYSQL介紹

      MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典MySQL AB公司。在2008 年1月16號(hào)被Sun公司收購(gòu)。而2009年,SUN又被Oracle收購(gòu).對(duì)于Mysql的前途,沒(méi)有任何人抱樂(lè)觀的態(tài)度.目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。

      1.使用C和C++編寫(xiě),并使用了多種編譯器進(jìn)行測(cè)試,保證源代碼的可移植性 2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng)

      3.為多種編程語(yǔ)言提供了API。這些編程語(yǔ)言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。

      4.支持多線(xiàn)程,充分利用CPU資源

      5.優(yōu)化的SQL查詢(xún)算法,有效地提高查詢(xún)速度

      6.既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶(hù)端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個(gè)庫(kù)而嵌入到其他的軟件中提供多語(yǔ)言支持,常見(jiàn)的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名

      7.提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫(kù)連接途徑 8.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫(kù)操作的管理工具 9.可以處理?yè)碛猩锨f(wàn)條記錄的大型數(shù)據(jù)庫(kù)

      六 留言板系統(tǒng)的概要設(shè)計(jì)

      (一)系統(tǒng)開(kāi)發(fā)環(huán)境

      基于微軟平臺(tái)PHP環(huán)境,使用MYSQL數(shù)據(jù)庫(kù)。適用于IE8.0以上版本瀏覽器,Win2000+APACHE 或win7+APACHE以上運(yùn)行環(huán)境。(本人用的win7+APACHE測(cè)試)。

      (二)php語(yǔ)言選擇

      選擇一個(gè)好的編程語(yǔ)言十分的重要,當(dāng)前,面對(duì)眾多的編程語(yǔ)言,很多人無(wú)從選擇,而本人看到PHP的以上眾多特點(diǎn),個(gè)人認(rèn)為:

      MYSQL后臺(tái)數(shù)據(jù)庫(kù)+PHP服務(wù)器端程序+客戶(hù)端IE瀏覽器,是一個(gè)精練實(shí)用高效的組合模式。在這種使用模式中,PHP程序無(wú)疑是最重要的,是溝通客戶(hù)端和后臺(tái)數(shù)據(jù)庫(kù)之間的橋梁。在PHP程序中,通過(guò)數(shù)據(jù)庫(kù)語(yǔ)言,建立對(duì)MYSQL數(shù)據(jù)庫(kù)的連接,是客戶(hù)能夠訪(fǎng)問(wèn)后

      第6頁(yè)

      臺(tái)數(shù)據(jù)庫(kù)的前提。

      鑒于前面介紹PHP優(yōu)點(diǎn)的原因,又有上面組合的優(yōu)勢(shì),本人的留言板使用PHP語(yǔ)言也是十分正確而實(shí)用的。

      (三)系統(tǒng)功能

      該留言板具有的主要功能如下:

      1.可以按照發(fā)言時(shí)間的先后順序,留言板自動(dòng)排序; 2.留言板的主要欄目組成圖

      3.本留言板不需注冊(cè),陌生人即可留言。

      4.因?yàn)槭莻€(gè)人留言板所以具有留言、查看、刪除的功能。

      七 留言板詳細(xì)設(shè)計(jì)

      有了技術(shù)和流程圖以及留言板要實(shí)現(xiàn)的功能,接下來(lái)就應(yīng)該進(jìn)行詳細(xì)設(shè)計(jì)了。數(shù)據(jù)庫(kù)是首當(dāng)其沖的,接下來(lái)就是用戶(hù)常接觸的首頁(yè)的設(shè)計(jì),然后就是該留言板特色功能的設(shè)計(jì)和實(shí)現(xiàn)。

      第7頁(yè)

      (一)數(shù)據(jù)庫(kù)設(shè)計(jì)

      我的數(shù)據(jù)庫(kù)采用的是MY SQL數(shù)據(jù)庫(kù),采用的原因也已經(jīng)介紹了。以下就介紹留言板數(shù)據(jù)庫(kù)的組成。

      第8頁(yè)

      (二)留言板數(shù)據(jù)庫(kù)連接 寫(xiě)入和保存

      數(shù)據(jù)庫(kù)鏈接失敗!

      ”;

      exit();} mysql_select_db(“gbook”, $con);mysql_query(“set names 'gb2312'”);date_default_timezone_set(PRC);?>

      第9頁(yè)

      if(isset($_REQUEST['GLOBALS'])OR isset($_FILES['GLOBALS'])){ exit('Request tainting attempted.');} //Session保存路徑

      $sessSavePath = LOVE_ROOT.“data/sessions/”;if(is_writeable($sessSavePath)&& is_readable($sessSavePath)){ session_save_path($sessSavePath);} date_default_timezone_set(Singapore);$timestamp = time();require_once LOVE_ROOT.'./data/config.inc.php';require_once LOVE_ROOT.'./data/db.inc.php';require_once LOVE_ROOT.'./include/db_mysql.class.php';require_once LOVE_ROOT.'./include/template.class.php';if(defined('UC_KG')){include_once TM_ROOT.'/uc_client/client.php';} $PHP_SELF = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];$SCRIPT_FILENAME = str_replace('', '/',($_SERVER['PATH_TRANSLATED'] ? $_SERVER['PATH_TRANSLATED'] : $_SERVER['SCRIPT_FILENAME']));//$homeurl = 'http://'.$_SERVER['HTTP_HOST'].preg_replace(“//+(api|archiver|wap)?/*$/i”, '', substr($PHP_SELF, 0, strrpos($PHP_SELF, '/'))).'/';

      //實(shí)例化數(shù)據(jù)庫(kù)操作 $db = new dbstuff;$db->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect);unset($dbhost, $dbuser, $dbpw, $dbname, $pconnect);$db->query(“set names gbk”);if(getenv('HTTP_CLIENT_IP')&& strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')){ $onlineip = getenv('HTTP_CLIENT_IP');} elseif(getenv('HTTP_X_FORWARDED_FOR')&& strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')){ $onlineip = getenv('HTTP_X_FORWARDED_FOR');} elseif(getenv('REMOTE_ADDR')&& strcasecmp(getenv('REMOTE_ADDR'), 'unknown')){ $onlineip = getenv('REMOTE_ADDR');} elseif(isset($_SERVER['REMOTE_ADDR'])&& $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')){ $onlineip = $_SERVER['REMOTE_ADDR'];}

      preg_match(“/[d.]{7,15}/”, $onlineip, $onlineipmatches);$onlineip = $onlineipmatches[0] ? $onlineipmatches[0] : 'unknown';unset($onlineipmatches);?>

      第10頁(yè)

      var $querynum = 0;var $link;var $histories;

      var $dbhost;var $dbuser;var $dbpw;var $dbcharset;var $pconnect;var $tablepre;var $time;

      var $goneaway = 5;

      function connect($dbhost, $dbuser, $dbpw, $dbname = '', $dbcharset = '', $pconnect = 0, $tablepre='', $time = 0){

      $this->dbhost = $dbhost;

      $this->dbuser = $dbuser;

      $this->dbpw = $dbpw;

      $this->dbname = $dbname;

      $this->dbcharset = $dbcharset;

      $this->pconnect = $pconnect;

      $this->tablepre = $tablepre;

      $this->time = $time;

      if($pconnect){

      if(!$this->link = mysql_pconnect($dbhost, $dbuser, $dbpw)){

      $this->halt('Can not connect to MySQL server');

      }

      } else {

      if(!$this->link = mysql_connect($dbhost, $dbuser, $dbpw)){

      $this->halt('Can not connect to MySQL server');

      }

      }

      if($this->version()> '4.1'){

      if($dbcharset){

      mysql_query(“SET character_set_connection=”.$dbcharset.“, character_set_results=”.$dbcharset.“, character_set_client=binary”, $this->link);

      }

      if($this->version()> '5.0.1'){

      mysql_query(“SET sql_mode=''”, $this->link);

      }

      第11頁(yè)

      } } if($dbname){ mysql_select_db($dbname, $this->link);} function fetch_array($query, $result_type = MYSQL_ASSOC){

      return mysql_fetch_array($query, $result_type);}

      function result_first($sql){

      $query = $this->query($sql);

      return $this->result($query, 0);}

      function fetch_first($sql){

      $query = $this->query($sql);

      return $this->fetch_array($query);} function fetch_row($query){

      $query = mysql_fetch_row($query);

      return $query;} function fetch_fields($query){

      return mysql_fetch_field($query);} function fetch_rows($sql){

      $result = $this->query($sql);

      $arr = array();

      while($row = $this->fetch_array($result))

      {

      $arr[] = $row;

      }

      $this->free_result($result);

      return $arr;} function fetch_one($sql){

      $rs = $this->query($sql);

      $arr = $this->fetch_array($rs,MYSQL_NUM);$this->free_result($rs);

      第12頁(yè)

      return $arr[0];} function fetch_all($sql, $id = ''){

      $arr = array();

      $query = $this->query($sql);

      while($data = $this->fetch_array($query)){

      $id ? $arr[$data[$id]] = $data : $arr[] = $data;

      }

      return $arr;}

      function cache_gc(){

      $this->query(“DELETE FROM {$this->tablepre}sqlcaches WHERE expiry<$this->time”);}

      function query($sql, $type = '', $cachetime = FALSE){

      $func = $type == 'UNBUFFERED' && @function_exists('mysql_unbuffered_query')'mysql_unbuffered_query' : 'mysql_query';

      if(!($query = $func($sql, $this->link))&& $type!= 'SILENT'){

      $this->halt('MySQL Query Error', $sql);

      }

      $this->querynum++;

      $this->histories[] = $sql;

      return $query;}

      function affected_rows(){

      return mysql_affected_rows($this->link);}

      function error(){

      return(($this->link)? mysql_error($this->link): mysql_error());}

      function errno(){

      return intval(($this->link)? mysql_errno($this->link): mysql_errno());}

      function result($query, $row){

      $query = @mysql_result($query, $row);

      return $query;}

      function num_rows($query){

      第13頁(yè)

      ?

      $query = mysql_num_rows($query);

      return $query;}

      function num_fields($query){

      return mysql_num_fields($query);}

      function free_result($query){

      return mysql_free_result($query);}

      function insert_id(){

      return($id = mysql_insert_id($this->link))>= 0 ? $id : $this->result($this->query(“SELECT last_insert_id()”), 0);}

      function version(){

      return mysql_get_server_info($this->link);}

      function close(){

      return mysql_close($this->link);}

      function halt($message = '', $sql = ''){

      $error = mysql_error();

      $errorno = mysql_errno();

      if($errorno == 2006 && $this->goneaway--> 0){

      $this->connect($this->dbhost, $this->dbuser, $this->dbpw, $this->dbname, $this->dbcharset, $this->pconnect, $this->tablepre, $this->time);

      $this->query($sql);

      } else {

      $s = 'Error:'.$error.'
      ';

      $s.= 'Errno:'.$errorno.'
      ';

      $s.= 'SQL::'.$sql;

      exit($s);

      } } } ?>

      第14頁(yè)

      (三)留言板文件夾中文件的介紹

      有了數(shù)據(jù)庫(kù),就應(yīng)該設(shè)計(jì)留言板的各個(gè)頁(yè)面。本留言板由2個(gè)文件夾,11個(gè)文件組成,簡(jiǎn)單介紹各文件的作用:

      index.PHP:留言板主頁(yè),主要功能是查看留言,任何人都可以查看留言信息。Fun.php連接數(shù)據(jù)庫(kù)并統(tǒng)計(jì)留言條數(shù)、計(jì)算頁(yè)數(shù) Config.php連接配置數(shù)據(jù)庫(kù)。

      (四)留言板首頁(yè)設(shè)計(jì)

      我留言板的首頁(yè)文件index.PHP,功能主要是為訪(fǎng)客留下相關(guān)的信息,并進(jìn)行留言。界面相對(duì)簡(jiǎn)單,但功能很實(shí)用!留言板的基本功能實(shí)現(xiàn)具體如下:

      圖7.1留言首頁(yè)

      圖7.2愿望

      圖7.3愿望列表

      結(jié)束語(yǔ):通過(guò)上面的介紹,相信對(duì)該留言板整體的構(gòu)建和各項(xiàng)功能都有了一定的認(rèn)識(shí),最重要的是學(xué)會(huì)了留言板的設(shè)計(jì)以及類(lèi)似網(wǎng)絡(luò)的編程,更對(duì)實(shí)際操作和具體設(shè)計(jì)流程有了清晰的認(rèn)識(shí)。該留言板實(shí)現(xiàn)了基本功能,并具有自己的特色,例如屏蔽關(guān)鍵字和防灌水功能。由于該留言板功能實(shí)用,而且界面友好,特別適合于中小型網(wǎng)站使用。對(duì)于剛剛接觸網(wǎng)絡(luò)編程人員的信心和興趣也會(huì)有很大提高。

      八 總結(jié)

      通過(guò)本次畢業(yè)設(shè)計(jì),我學(xué)到了很多東西,例如:編程規(guī)范,PHP技術(shù)等。這次畢業(yè)設(shè)計(jì)是對(duì)我大學(xué)本科四年所學(xué)知識(shí)的一次綜合應(yīng)用,讓我認(rèn)識(shí)到了自己的不足,并不斷的加強(qiáng)改進(jìn)。在系統(tǒng)不斷的完善改進(jìn)中,我學(xué)到了很多新的知識(shí),也懂得了很多。這使我對(duì)自己的未來(lái)充滿(mǎn)了信心。

      九 留言板特色和不足

      特色:任何人都可以留言,任何人都可以看到。無(wú)需注冊(cè)和登錄,完全開(kāi)放。不足:管理員功能較弱。

      第15頁(yè)

      參考文獻(xiàn):

      1.《PHP語(yǔ)言,進(jìn)階和高級(jí)應(yīng)用》 龍浩等編著 清華大學(xué)出版社

      2.《PHP & MYSQL Web數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)指南》 Hugh E.Williams等著 謝君英 歐陽(yáng)宇譯2003年5月

      3.《php程序設(shè)計(jì)》 Programming PHP 中國(guó)電力出版社 2003年7月 4.《phpmysql數(shù)據(jù)庫(kù)開(kāi)發(fā)指南》焦桐順著 電子工業(yè)出版社 2001年9月 5.《php4交互網(wǎng)頁(yè)數(shù)據(jù)庫(kù)實(shí)戰(zhàn)手冊(cè)》清華大學(xué)出版社 2004年7月

      第16頁(yè)

      下載留言板的制作word格式文檔
      下載留言板的制作.doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(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)容。

      相關(guān)范文推薦

        Dreamweaver 8.0制作簡(jiǎn)易留言板圖文教程

        用ASP和Dreamweaver 8.0制作簡(jiǎn)易留言板 目錄 一、ASP原理 ..............................................................................................................

        ASPNET留言板

        一、留言板的簡(jiǎn)介 (一) 留言板 留言板是一種電子便簽管理系統(tǒng),是用 ASP 或其它腳本語(yǔ)言編寫(xiě)的網(wǎng)絡(luò)應(yīng)用程序。 在網(wǎng)絡(luò)用戶(hù)交流中起很大的作用, 每個(gè)人都可以將他的資料和要......

        經(jīng)典留言板寄語(yǔ)

        愛(ài)情是生活的理想,婚姻是生活的保障,愛(ài)情是浪漫,婚姻是現(xiàn)實(shí),愛(ài)情是兩個(gè)人的夢(mèng)想,婚姻是含有家人的期盼"。很多時(shí)候愛(ài)情和婚姻似乎就象太陽(yáng)和月亮,同在宇宙卻永遠(yuǎn)無(wú)法靠近。聞香下......

        經(jīng)典留言板寄語(yǔ)

        經(jīng)典留言板寄語(yǔ) 愛(ài)情是生活的理想,婚姻是生活的保障,愛(ài)情是浪漫,婚姻是現(xiàn)實(shí),愛(ài)情是兩個(gè)人的夢(mèng)想,婚姻是含有家人的期盼"。很多時(shí)候愛(ài)情和婚姻似乎就象太陽(yáng)和月亮,同在宇宙卻永遠(yuǎn)無(wú)......

        小年留言板祝福語(yǔ)大全

        小年留言板祝福語(yǔ): 用吉祥的紅紙,包一個(gè)好運(yùn)的紅包;用舒爽的心情,釀一瓶甜蜜的紅酒;用團(tuán)聚的快樂(lè),圓一個(gè)溫馨的小年;用真誠(chéng)的祝福,送一個(gè)美好的心愿;祝你小年舒爽快樂(lè)團(tuán)圓,幸福......

        超市留言板報(bào)告

        實(shí) 驗(yàn) 報(bào) 告 1.實(shí)驗(yàn)項(xiàng)目名稱(chēng):超市促銷(xiāo)留言板的設(shè)計(jì)與實(shí)現(xiàn)2.實(shí)驗(yàn)原理: mfc是微軟基礎(chǔ)類(lèi)庫(kù)的簡(jiǎn)稱(chēng),是微軟公司實(shí)現(xiàn)的一個(gè)c++類(lèi)庫(kù),主要封裝大部分的windows API函數(shù)。使用MFC可以方......

        畢業(yè)設(shè)計(jì)任務(wù)書(shū)(留言板)

        河南工業(yè)職業(yè)技術(shù)學(xué)院 畢業(yè)設(shè)計(jì)任務(wù)書(shū) 類(lèi) 別:三年制高職專(zhuān) 業(yè): 計(jì)算機(jī)應(yīng)用技術(shù)班 級(jí): 姓 名: 畢業(yè)設(shè)計(jì)題目: 留言板 指導(dǎo)教師姓名: 郝倩 負(fù)責(zé)人簽字: 王東升 2011 年 10月......

        QQ留言板寄語(yǔ)

        我那么撕心裂肺想你的時(shí)候、你在那里?懷里抱著誰(shuí)? 和愛(ài)的人吵架,和陌生人講心里話(huà)。 △曾經(jīng)何時(shí)我們的愛(ài)被你當(dāng)做一種依賴(lài)ら2 真正的好朋友,并不是在一起就有聊不完的話(huà)題,而是......