asp實(shí)例 新聞發(fā)布系統(tǒng)
《asp實(shí)例 新聞發(fā)布系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《asp實(shí)例 新聞發(fā)布系統(tǒng)(95頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、第3章 新聞發(fā)布系統(tǒng) 隨著Internet快速發(fā)展,Web已經(jīng)對(duì)商業(yè)、工業(yè)、銀行,及人們的工作、生活產(chǎn)生了深遠(yuǎn)的影響。許多傳統(tǒng)的信息和數(shù)據(jù)庫(kù)系統(tǒng)正在被移植到互聯(lián)網(wǎng)上,人們獲得信息的來(lái)源已經(jīng)不再只是報(bào)紙、電視、廣播等傳統(tǒng)媒體。一個(gè)新的信息傳送媒體逐漸被人們所青睞。范圍廣泛的、復(fù)雜的分布式應(yīng)用正在Web環(huán)境中出現(xiàn)。新聞網(wǎng)作為一個(gè)新時(shí)代傳媒的產(chǎn)物,早已超過(guò)了國(guó)界,使一分鐘游遍整個(gè)世界不再是神話。它摒棄了傳統(tǒng)媒體的不足,正在已不可預(yù)知的速度向前發(fā)展。 新聞發(fā)布系統(tǒng)是企業(yè)網(wǎng)站中最常用的系統(tǒng),它的一個(gè)基本作用就是為企業(yè)提供信息發(fā)布的平臺(tái)。使用ASP技術(shù)可以動(dòng)態(tài)生成新聞靜態(tài)頁(yè)面,可以使新聞的發(fā)布和管理
2、變得很輕松。管理員只需設(shè)置標(biāo)題、內(nèi)容和圖片等新聞信息元素就可以了,系統(tǒng)將自動(dòng)生成對(duì)應(yīng)的網(wǎng)頁(yè)。而使用SQL Server數(shù)據(jù)庫(kù),將減輕了維護(hù)人員的工作量,使系統(tǒng)便于維護(hù)和管理。 新聞發(fā)布系統(tǒng)是構(gòu)成企業(yè)網(wǎng)站的重要組成部分,它一方面可以用來(lái)發(fā)布企業(yè)的最新公告,另外一方面可以發(fā)布及企業(yè)相關(guān)的新聞動(dòng)態(tài)。新聞發(fā)布系統(tǒng)可以實(shí)現(xiàn)以下功能。 q 為企業(yè)提供信息發(fā)布的平臺(tái),可以用來(lái)發(fā)布及企業(yè)相關(guān)的新聞信息。 q 任何注冊(cè)和非注冊(cè)人員都可以訪問(wèn)瀏覽系統(tǒng)上的新聞信息和新聞評(píng)論信息。 q 可以賦予用戶權(quán)限,根據(jù)權(quán)限顯示不同的功能模塊。 q 管理員可以完成刪除、修改、添加新聞信息等操作。 q 新聞信息可以按照
3、新聞主題、新聞內(nèi)容、新聞編號(hào)等條件進(jìn)行搜索。 q 系統(tǒng)具有可設(shè)置是否必須注冊(cè)才能發(fā)表評(píng)論;可設(shè)置是否只能管理員才能修改和刪除評(píng)論信息;可設(shè)置過(guò)濾詞語(yǔ);防灌水功能,可設(shè)置用戶發(fā)表評(píng)論時(shí)間間隔等功能。 下面將逐步開(kāi)發(fā)一個(gè)較完整的新聞發(fā)布系統(tǒng)。 3.1 系統(tǒng)概述 本章所介紹的新聞發(fā)布系統(tǒng)根據(jù)不同的用戶,可以分為以下兩個(gè)功能區(qū)。 1.瀏覽者功能區(qū) 根據(jù)用戶的需求,瀏覽者可以進(jìn)行如下操作。 q 瀏覽者可以查看最新公告信息。 q 瀏覽者可以查看相應(yīng)新聞版塊的新聞標(biāo)題信息。 q 瀏覽者可以查看相應(yīng)新聞版塊的新聞信息,并且無(wú)需注冊(cè)和登錄即可發(fā)表新聞評(píng)論。 q 瀏覽者可以查看新聞評(píng)論信息并
4、且無(wú)需注冊(cè)和登錄即可發(fā)表新聞評(píng)論。 q 瀏覽者可以參加新聞投票,并且查看投票結(jié)果。 q 瀏覽者可以在系統(tǒng)內(nèi)搜索符合指定條件的新聞標(biāo)題,并查看相應(yīng)新聞的具體信息。 2.管理員功能區(qū) 管理員登錄,根據(jù)輸入的賬號(hào)和密碼正常登錄該系統(tǒng)后,管理員除了享有瀏覽者具有的權(quán)限外還可以進(jìn)行如下操作。 q 管理員可以進(jìn)行新聞版塊管理,對(duì)新聞版塊進(jìn)行添加、修改和刪除操作。 q 管理員可以進(jìn)行新聞信息管理,對(duì)新聞信息進(jìn)行添加、修改、刪除、新聞信息版塊類別移動(dòng)等操作。 q 管理員可以進(jìn)行公告信息管理,對(duì)公告信息進(jìn)行添加、修改和刪除操作。 q 管理員可以進(jìn)行新聞投票管理,對(duì)投票項(xiàng)目進(jìn)行添加、修改和刪除操作
5、。 q 管理員可以進(jìn)行新聞評(píng)論管理,對(duì)新聞評(píng)論進(jìn)行添加、修改和刪除操作。 q 管理員可以進(jìn)行個(gè)人賬號(hào)和密碼管理,對(duì)登錄賬號(hào)和密碼進(jìn)行修改操作。 3.1.1 系統(tǒng)構(gòu)架 該系統(tǒng)設(shè)計(jì)流程:首先創(chuàng)建新聞發(fā)布系統(tǒng)數(shù)據(jù)庫(kù),再次設(shè)計(jì)該系統(tǒng)的功能,然后編寫(xiě)源代碼實(shí)現(xiàn)系統(tǒng)功能,然后在表示層制作及用戶對(duì)話界面,然后上傳到Internet進(jìn)入應(yīng)用層,最后是用戶使用該系統(tǒng)。該流程對(duì)應(yīng)的系統(tǒng)構(gòu)架為:數(shù)據(jù)層→設(shè)計(jì)數(shù)據(jù)服務(wù)→配置系統(tǒng)信息→表示層→應(yīng)用層→用戶接口層。系統(tǒng)總體構(gòu)架圖如圖3.1所示。 圖3.1 系統(tǒng)總體框架圖 3.1.2系統(tǒng)功能模塊設(shè)計(jì) 系統(tǒng)主要功能如下所示。 q 用戶管理功能,用戶可以瀏
6、覽新聞信息、發(fā)表評(píng)論、參加投票等。 q 管理員管理功能,管理員負(fù)責(zé)整個(gè)系統(tǒng)的后臺(tái)管理。 q 新聞版塊信息顯示及管理功能。 q 新聞內(nèi)容顯示及管理功能。 q 新聞評(píng)論及管理功能。 q 搜索功能,可以進(jìn)行不同方式的搜索。 q 新聞投票及管理功能。 q 公告顯示及管理功能。 q 管理員修改登錄賬號(hào)和密碼功能。 系統(tǒng)主要分為兩大功能模塊,如圖3.2、3.3所示。 圖3.2 系統(tǒng)前臺(tái)功能模塊 圖3.3 系統(tǒng)后臺(tái)功能模塊 1.公用模塊 此模塊屬于系統(tǒng)公用模塊,系統(tǒng)中任何頁(yè)面需要用此模塊直接調(diào)用即可。此模塊包括數(shù)據(jù)庫(kù)連接文件、層疊樣式表文件、數(shù)據(jù)轉(zhuǎn)換和圖片上傳文件、論壇訪問(wèn)
7、量統(tǒng)計(jì)文件、公共版面文件和上傳組件文件。此模塊負(fù)責(zé)及數(shù)據(jù)庫(kù)的連接,定義頁(yè)面風(fēng)格,進(jìn)行數(shù)據(jù)轉(zhuǎn)換和圖片上傳,統(tǒng)計(jì)論壇訪問(wèn)量,把系統(tǒng)各頁(yè)面的共同部分放在公共版面文件,上傳組件。把這些公用的代碼放在一個(gè)個(gè)文件中,這樣即可以減少源代碼也可以使整個(gè)系統(tǒng)緊湊有序。 2.前臺(tái)系統(tǒng)管理模塊 此模塊實(shí)現(xiàn)了瀏覽者功能區(qū)的所有功能。此模塊由用戶瀏覽模塊、新聞搜索模塊、新聞投票模塊組成。這三個(gè)模塊的功能如下所示。 q 用戶瀏覽模塊:此模塊包括系統(tǒng)首頁(yè)、版塊新聞標(biāo)題瀏覽、新聞詳細(xì)信息瀏覽、新聞評(píng)論信息瀏覽、公告信息瀏覽。此模塊負(fù)責(zé)版塊新聞標(biāo)題信息的顯示,新聞詳細(xì)信息的顯示、新聞評(píng)論信息的顯示、公告信息的顯示。該系統(tǒng)
8、中所有的新聞信息和新聞評(píng)論信息以及版塊信息和公告信息全在此模塊中顯示,用戶在瀏覽新聞信息的同時(shí)還可以發(fā)表評(píng)論。訪問(wèn)者和管理員進(jìn)入該系統(tǒng)必須首先進(jìn)入該模塊。此模塊包括系統(tǒng)的首頁(yè),該頁(yè)面顯示所有新聞?lì)悇e及部分新聞標(biāo)題。 q 新聞搜索模塊:此模塊包括新聞搜索頁(yè)。所有用戶均可在論壇內(nèi)搜索符合指定條件的新聞,單擊新聞標(biāo)題查看新聞詳細(xì)信息。 q 新聞投票模塊:此模塊包括用戶投票、保存投票信息和顯示投票結(jié)果。所有用戶均可參加新聞投票,均可查看投票結(jié)果但是系統(tǒng)設(shè)置一個(gè)IP地址只能投票一次。 3.后臺(tái)系統(tǒng)管理模塊 此模塊實(shí)現(xiàn)了管理員功能區(qū)的所有功能。此模塊由管理員登錄模塊、新聞版塊管理模塊、新聞信息管理
9、模塊、新聞評(píng)論信息管理模塊、公告信息管理模塊、新聞投票管理模塊、修改信息模塊、退出系統(tǒng)模塊組成。這八個(gè)模塊的功能如下所示。 q 管理員登錄模塊:此模塊包括管理員登錄和檢查管理員登錄信息。此模塊負(fù)責(zé)根據(jù)管理員所輸入的賬號(hào)和密碼判斷該用戶是否合法以及具有哪些操作權(quán)限,并根據(jù)不同的權(quán)限返回包含不同模塊的頁(yè)面。 q 新聞版塊管理模塊:此模塊包括顯示版塊信息、添加版塊信息、修改版塊信息、刪除版塊信息。此模塊只對(duì)管理員類用戶開(kāi)放。系統(tǒng)管理員登錄后,可進(jìn)行系統(tǒng)的管理操作,包括版塊的添加、修改、刪除等。 q 新聞信息管理模塊:此模塊包括顯示版塊新聞標(biāo)題信息、添加版塊新聞信息、修改版塊新聞信息、刪除版塊新
10、聞信息等。此模塊只對(duì)管理員類用戶開(kāi)放。系統(tǒng)管理員登錄后,可進(jìn)行系統(tǒng)的管理操作,包括新聞信息的添加、修改、刪除等。 q 新聞評(píng)論信息管理模塊:此模塊包括顯示評(píng)論信息、添加評(píng)論信息、修改評(píng)論信息、刪除評(píng)論信息等。此模塊只對(duì)管理員類用戶開(kāi)放。系統(tǒng)管理員登錄后,可進(jìn)行系統(tǒng)的管理操作,包括評(píng)論信息的添加、修改、刪除等。 q 公告信息管理模塊:此模塊包括顯示公告標(biāo)題信息、添加公告信息、修改公告信息、刪除公告信息等。此模塊只對(duì)管理員類用戶開(kāi)放。系統(tǒng)管理員登錄后,可進(jìn)行系統(tǒng)的管理操作,包括公告信息的添加、修改、刪除等。 q 新聞投票管理模塊:此模塊包括添加投票項(xiàng)目、修改投票項(xiàng)目、刪除投票項(xiàng)目等。此模塊只
11、對(duì)管理員類用戶開(kāi)放。系統(tǒng)管理員登錄后,可進(jìn)行系統(tǒng)的管理操作,包括投票項(xiàng)目的添加、修改、刪除等。 q 修改信息模塊:此模塊包括修改信息頁(yè)。此模塊只對(duì)管理員類用戶開(kāi)放,用于管理員修改登錄的賬號(hào)和密碼。 q 退出系統(tǒng)模塊:此模塊包括退出系統(tǒng)。此模塊只對(duì)登錄系統(tǒng)后用戶,負(fù)責(zé)結(jié)束用戶在登錄模塊所獲得的Session變量,退出本系統(tǒng),返回到論壇首頁(yè)。此模塊在本系統(tǒng)只對(duì)管理員類用戶開(kāi)放。 3.2 總體設(shè)計(jì) 3.2.1 總體結(jié)構(gòu) 本例所介紹的新聞發(fā)布系統(tǒng)主要是通過(guò)33個(gè)頁(yè)面來(lái)實(shí)現(xiàn)瀏覽者功能區(qū)和管理員功能區(qū)。各個(gè)頁(yè)面之間的關(guān)系如下所示。 1.公用模塊 數(shù)據(jù)庫(kù)連接頁(yè)面Conn.asp、層疊樣式表
12、頁(yè)面Css.css、數(shù)據(jù)轉(zhuǎn)換和圖片上傳頁(yè)面Function.asp、常量文件adovbs.asp、公共頁(yè)面Out.asp均為公用頁(yè)面,其他頁(yè)面引用它們時(shí)直接調(diào)用即可。 2.前臺(tái)系統(tǒng)管理模塊 新聞發(fā)布系統(tǒng)前臺(tái)管理程序頁(yè)面流程圖,如圖3.4所示。 圖3.4 前臺(tái)管理程序頁(yè)面流程圖 3.后臺(tái)系統(tǒng)管理模塊 新聞發(fā)布系統(tǒng)后臺(tái)管理程序頁(yè)面關(guān)系圖,如圖3.5所示。 圖3.5 后臺(tái)管理程序頁(yè)面流程圖 3.2.2 各頁(yè)面功能分配 該系統(tǒng)頁(yè)面功能如下所示。 q Conn.asp:數(shù)據(jù)庫(kù)連接的基本信息。 q Css.css:層疊樣式表文件,定義頁(yè)面風(fēng)格。 q adovbs.asp:把
13、圖片上傳到論壇,此上傳組件是系統(tǒng)自帶的。 q Function.asp:獲取服務(wù)端相對(duì)圖片路徑,上傳圖片和unHtml字符格式轉(zhuǎn)換。 q Out.asp:是Default.asp、List.asp、View.asp和ViewGonggao.asp頁(yè)面的公共頁(yè)面部分。 q Default.asp:新聞發(fā)布系統(tǒng)首頁(yè),顯示所有新聞?lì)悇e及部分新聞標(biāo)題并且滾動(dòng)顯示最新公告標(biāo)題和系統(tǒng)訪問(wèn)量。 q List.asp:分頁(yè)顯示系統(tǒng)中各版塊新聞的標(biāo)題信息。 q View.asp:顯示新聞的詳細(xì)信息并且在該頁(yè)面可以直接發(fā)表評(píng)論。 q Show.asp:顯示新聞評(píng)論信息并且在該頁(yè)面可以直接發(fā)表評(píng)論。
14、q DiscussSave.asp:檢驗(yàn)并保存用戶發(fā)表的評(píng)論信息。 q ViewGonggao.asp:顯示公告的詳細(xì)信息。 q Search.asp:搜索系統(tǒng)內(nèi)符合指定條件的新聞標(biāo)題。 q Vote.asp:用戶參加投票。 q PostVote.asp:檢驗(yàn)并保存用戶投票的IP地址。 q ViewVote.asp:顯示投票結(jié)果。 q Login.asp:管理員登錄。 q ChkLogin.asp:檢查管理員登錄信息。 q ModifyAdmin.asp:管理員修改賬號(hào)和密碼信息。 q AdminBoard.asp:管理員對(duì)新聞?lì)悇e進(jìn)行添加、修改和刪除等操作。 q Admi
15、nNews.asp:顯示所有新聞標(biāo)題并實(shí)現(xiàn)自動(dòng)分頁(yè)。 q AdminAdd.asp:管理員添加新聞信息。 q AdminEdit.asp:管理員修改指定的新聞信息。 q AdminDel.asp:管理員刪除指定的新聞信息。 q AdminChangeClass.asp:管理員對(duì)相應(yīng)新聞信息作類別移動(dòng)操作。 q AdminGonggao.asp:顯示所有公告標(biāo)題并實(shí)現(xiàn)自動(dòng)分頁(yè)。 q AddGonggao.asp:管理員添加公告信息。 q EditGonggao.asp:管理員修改指定的公告信息。 q DelGonggao.asp:管理員刪除指定的公告信息。 q AdminVot
16、e.asp:管理員對(duì)投票項(xiàng)目進(jìn)行添加、修改和刪除等操作。 q ReVote.asp:重新投票。 q Editdiscuss.asp:管理員修改指定的評(píng)論信息。 q Deletediscuss.asp:管理員刪除指定的評(píng)論信息。 q Logout.asp:管理員退出已登錄狀態(tài),并返回到系統(tǒng)首頁(yè)。 6.2.3 前臺(tái)瀏覽及發(fā)表評(píng)論流程 前臺(tái)瀏覽及發(fā)表評(píng)論流程圖,如圖3.6所示。 圖3.6 前臺(tái)瀏覽及發(fā)表評(píng)論流程圖 3.3 數(shù)據(jù)庫(kù)設(shè)計(jì) 3.3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)思想 系統(tǒng)采用SQL Server2000作為后臺(tái)數(shù)據(jù)庫(kù)。通過(guò)分析要在數(shù)據(jù)庫(kù)中存儲(chǔ)以下基本信息: q 管理員信息:
17、管理員編號(hào)、管理員賬號(hào)、管理員密碼。 q 新聞版塊信息:版塊編號(hào)、版塊名稱。 q 新聞信息:新聞編號(hào)、新聞所屬類別編號(hào)、新聞標(biāo)題、新聞內(nèi)容、新聞圖片相對(duì)路徑、添加/修改時(shí)間、點(diǎn)擊率。 q 新聞評(píng)論信息:評(píng)論編號(hào)、評(píng)論對(duì)應(yīng)的新聞編號(hào)、評(píng)論人姓名、評(píng)論內(nèi)容、添加/修改時(shí)間。 q 公告信息:公告編號(hào)、公告標(biāo)題、公告內(nèi)容、公告圖片相對(duì)路徑、添加/修改時(shí)間、點(diǎn)擊率。 q 投票項(xiàng)目信息:投票項(xiàng)目編號(hào)、投票項(xiàng)目名稱、投票數(shù)。 q 投票IP地址信息:IP地址編號(hào)、IP地址、投票時(shí)間。 通過(guò)以上的分析該系統(tǒng)需要?jiǎng)?chuàng)建七個(gè)數(shù)據(jù)表: q 管理員信息表adminInfo:用于存儲(chǔ)管理員編號(hào)、管理員賬號(hào)、
18、管理員密碼。 q 新聞版塊信息表newsclassInfo:用于存儲(chǔ)版塊編號(hào)、版塊名稱。 q 新聞信息表newsInfo:用于存儲(chǔ)新聞編號(hào)、新聞所屬類別編號(hào)、新聞標(biāo)題、新聞內(nèi)容、新聞圖片相對(duì)路徑、添加/修改時(shí)間、點(diǎn)擊率。 q 新聞評(píng)論信息表discussInfo:用于存儲(chǔ)評(píng)論編號(hào)、評(píng)論對(duì)應(yīng)的新聞編號(hào)、評(píng)論人姓名、評(píng)論內(nèi)容、添加/修改時(shí)間。 q 公告信息表gonggaoInfo:用于存儲(chǔ)公告編號(hào)、公告標(biāo)題、公告內(nèi)容、公告圖片相對(duì)路徑、添加/修改時(shí)間、點(diǎn)擊率。 q 投票項(xiàng)目信息表VoteItem:用于存儲(chǔ)投票項(xiàng)目編號(hào)、投票項(xiàng)目名稱、投票數(shù)。 q 投票IP地址信息表VoteIP:用于存儲(chǔ)
19、IP地址編號(hào)、IP地址、投票時(shí)間。 上述七個(gè)數(shù)據(jù)表的連接關(guān)系如下: q 新聞信息表newsInfo及新聞版塊信息表newsclassInfo通過(guò)版塊編號(hào)建立連接關(guān)系。 q 新聞信息表newsInfo及新聞評(píng)論信息表discussInfo通過(guò)新聞編號(hào)建立連接關(guān)系。 注意:管理員信息表adminInfo、公告信息表gonggaoInfo、投票項(xiàng)目信息表VoteItem和投票IP地址信息表VoteIP這四個(gè)表是相互獨(dú)立的及其他數(shù)據(jù)表沒(méi)有關(guān)聯(lián)。 3.3.2 創(chuàng)建數(shù)據(jù)表 本系統(tǒng)使用SQL Server 2000作為數(shù)據(jù)庫(kù)管理系統(tǒng)。安裝SQL Server 2000,打開(kāi)企業(yè)管理器,新建一個(gè)
20、數(shù)據(jù)庫(kù),將其命名為news。news數(shù)據(jù)庫(kù)中包含的數(shù)據(jù)表及其相應(yīng)功能如表3.1所示。 表3.1 news數(shù)據(jù)庫(kù)包含的數(shù)據(jù)表及其功能 數(shù)據(jù)表 功能 adminInfo 存放管理員基本信息 newsclassInfo 存放新聞?lì)悇e基本信息 newsInfo 存放新聞基本信息 discussInfo 存放新聞評(píng)論基本信息 gonggaoInfo 存放公告基本信息 VoteItem 存放投票項(xiàng)目基本信息 VoteIP 存放投票IP基本信息 1.管理員信息表adminInfo(表3.2) 該信息表用于存管理員的基本信息,包括管理員編號(hào)(id)、管理員賬號(hào)(name
21、)、管理員密碼(pwd)。在已創(chuàng)建的SQL Server數(shù)據(jù)庫(kù)news中,創(chuàng)建一個(gè)表,名為“adminInfo”,向表中添加字段如表3.2所示。 表3.2 管理員信息表adminInfo 字段名 數(shù)據(jù)類型 長(zhǎng)度 說(shuō)明 備注 id int 4 管理員ID號(hào) 設(shè)為主鍵且自動(dòng)編號(hào) name varchar 20 管理員賬號(hào) 不允許為空 pwd varchar 20 管理員密碼 不允許為空 注意:管理員ID號(hào)(id)實(shí)現(xiàn)自動(dòng)編號(hào)的方法:把字段設(shè)置成int型,在下面字段的屬性里把標(biāo)識(shí)改為“是”,標(biāo)識(shí)的種子改成‘1’,標(biāo)識(shí)遞增量改成‘1’就可以自動(dòng)編號(hào)。 2
22、.新聞版塊信息表newsclassInfo(表3.3) 該信息表用于存儲(chǔ)版塊的基本信息,包括版塊編號(hào)(classid)、版塊名稱(classtitle)。在已創(chuàng)建的SQL Server數(shù)據(jù)庫(kù)news中,創(chuàng)建一個(gè)表,名為“newsclassInfo”,向表中添加字段如表3.3所示。 表3.3 版塊信息表newsclassInfo 字段名 數(shù)據(jù)類型 長(zhǎng)度 說(shuō)明 備注 classid int 4 版塊編號(hào) 設(shè)為主鍵且自動(dòng)編號(hào) classtitle varchar 50 版塊名稱 不允許為空 注意:版塊編號(hào)(classid)實(shí)現(xiàn)自動(dòng)編號(hào)的方法可參照本章表3.2下面
23、的說(shuō)明。 3.新聞信息表newsInfo(表3.4) 該信息表用于存儲(chǔ)新聞的基本信息,包括新聞編號(hào)(newsid)、新聞所屬版塊編號(hào)(classid)、新聞標(biāo)題(title)、新聞內(nèi)容(content)、新聞圖片相對(duì)路徑(images)、添加/修改時(shí)間(newstime)、點(diǎn)擊率(click)。 在已創(chuàng)建的SQL Server數(shù)據(jù)庫(kù)news中,創(chuàng)建一個(gè)表,名為“newsInfo”,向表中添加字段如表3.4所示。 表3.4 新聞信息表newsInfo 字段名 數(shù)據(jù)類型 長(zhǎng)度 說(shuō)明 備注 newsid int 4 新聞編號(hào) 設(shè)為主鍵且自動(dòng)編號(hào) classid i
24、nt 4 所屬版塊編號(hào) 不允許為空 title varchar 50 新聞標(biāo)題 不允許為空 content varchar 6000 新聞內(nèi)容 不允許為空 images varchar 50 新聞圖片相對(duì)路徑 允許為空 newstime datetime 8 添加/修改時(shí)間 默認(rèn)值getdate() click int 4 點(diǎn)擊率 允許為空 注意:新聞編號(hào)(newsid)實(shí)現(xiàn)自動(dòng)編號(hào)的方法可參照本章表3.2下面的說(shuō)明。在SQL Server2000中,可以使用char、varchar和text等3種數(shù)據(jù)類型存儲(chǔ)非Unicode字符數(shù)據(jù)。
25、Char和varchar只能存儲(chǔ)最多8000個(gè)字符,其中char用于存儲(chǔ)固定長(zhǎng)度的字符數(shù)據(jù),varchar用于存儲(chǔ)可變長(zhǎng)度的字符數(shù)據(jù)。如果需要存儲(chǔ)的數(shù)據(jù)很大,則可以使用text數(shù)據(jù)類型,text數(shù)據(jù)類型是可變長(zhǎng)度的,最多可為2147483647個(gè)字符。 4.新聞評(píng)論信息表discussInfo(表3.5) 該信息表用于存儲(chǔ)新聞評(píng)論的基本信息,包括評(píng)論編號(hào)(discussid)、評(píng)論對(duì)應(yīng)的新聞編號(hào)(newsid)、評(píng)論者(name)、評(píng)論內(nèi)容(content)、添加/修改時(shí)間(discusstime)。 在已創(chuàng)建的SQL Server數(shù)據(jù)庫(kù)news中,創(chuàng)建一個(gè)表,名為“discussInf
26、o”,向表中添加字段如表3.5所示。 表3.5 評(píng)論信息表discussInfo 字段名 數(shù)據(jù)類型 長(zhǎng)度 說(shuō)明 備注 discussid int 4 評(píng)論編號(hào) 設(shè)為主鍵且自動(dòng)編號(hào) newsid int 4 評(píng)論的新聞編號(hào) 不允許為空 name varchar 20 評(píng)論者 不允許為空 content varchar 2000 評(píng)論內(nèi)容 不允許為空 discusstime datetime 8 添加/修改時(shí)間 默認(rèn)值getdate() 注意:評(píng)論編號(hào)(discussid)實(shí)現(xiàn)自動(dòng)編號(hào)的方法可參照本章表3.2下面的說(shuō)明。在SQL S
27、erver2000中,可以使用datetime和smalldatetime兩種數(shù)據(jù)類型存儲(chǔ)日期時(shí)間數(shù)據(jù)。datetime數(shù)據(jù)類型用于存儲(chǔ)從1753年1月1日到9999年12月31日的日期和時(shí)間數(shù)據(jù),精確到3.33ms;smalldatetime數(shù)據(jù)類型用于存儲(chǔ)從1900年1月1日到2079年6月6日的日期和時(shí)間數(shù)據(jù),精確到分鐘。有些程序員習(xí)慣了使用datetime數(shù)據(jù)類型存儲(chǔ)日期時(shí)間數(shù)據(jù),其實(shí)在精確度要求不高的情況下,使用smalldatetime數(shù)據(jù)類型就足夠了。 5.公告信息表gonggaoInfo(表3.5) 該信息表用于存儲(chǔ)公告的基本信息,包括公告編號(hào)(id)、公告標(biāo)題(title
28、)、公告內(nèi)容(content)、公告圖片相對(duì)路徑(images)、添加/修改時(shí)間(gonggaotime)、點(diǎn)擊率(click)。在已創(chuàng)建的SQL Server數(shù)據(jù)庫(kù)news中,創(chuàng)建一個(gè)表,名為“gonggaoInfo”,向表中添加字段如表3.5所示。 表3.5 公告信息表gonggaoInfo 字段名 數(shù)據(jù)類型 長(zhǎng)度 說(shuō)明 備注 id int 4 公告編號(hào) 設(shè)為主鍵且自動(dòng)編號(hào) title varchar 50 公告標(biāo)題 不允許為空 content varchar 4000 公告內(nèi)容 不允許為空 images varchar 50 公告圖片相
29、對(duì)路徑 允許為空 gonggaotime datetime 8 添加/修改時(shí)間 默認(rèn)值getdate() click int 4 點(diǎn)擊率 允許為空 注意:公告編號(hào)(id)實(shí)現(xiàn)自動(dòng)編號(hào)的方法可參照本章表3.2下面的說(shuō)明。 6.投票項(xiàng)目信息表VoteItem(表3.6) 該信息表用于存儲(chǔ)投票項(xiàng)目的基本信息,包括投票項(xiàng)目編號(hào)(Id)、投票項(xiàng)目名稱(Item)、投票數(shù)(VoteCount)。 在已創(chuàng)建的SQL Server數(shù)據(jù)庫(kù)news中,創(chuàng)建一個(gè)表,名為“VoteItem”,向表中添加字段如表3.6所示。 表3.6 投票項(xiàng)目信息表VoteItem 字段名 數(shù)據(jù)類
30、型 長(zhǎng)度 說(shuō)明 備注 Id int 4 投票項(xiàng)目編號(hào) 設(shè)為主鍵且自動(dòng)編號(hào) Item varchar 50 投票項(xiàng)目名稱 不允許為空 VoteCount int 4 投票數(shù) 默認(rèn)值設(shè)為0 注意:投票項(xiàng)目編號(hào)(Id)實(shí)現(xiàn)自動(dòng)編號(hào)的方法可參照本章表3.2下面的說(shuō)明。 7.投票IP地址信息表VoteIP(表3.7) 該信息表用于存儲(chǔ)投票IP地址的基本信息,包括投票IP地址編號(hào)(Id)、投票IP地址(IP)、投票時(shí)間(VoteTime)。 在已創(chuàng)建的SQL Server數(shù)據(jù)庫(kù)news中,創(chuàng)建一個(gè)表,名為“VoteIP”,向表中添加字段如表3.7所示。 表3
31、.7 投票IP地址信息表VoteIP 字段名 數(shù)據(jù)類型 長(zhǎng)度 說(shuō)明 備注 Id int 4 投票IP地址編號(hào) 設(shè)為主鍵且自動(dòng)編號(hào) IP varchar 50 投票IP地址 不允許為空 VoteTime datetime 8 投票時(shí)間 默認(rèn)值getdate() 注意:投票IP地址編號(hào)(Id)實(shí)現(xiàn)自動(dòng)編號(hào)的方法可參照本章表3.2下面的說(shuō)明。 3.4 公用模塊 為了使新聞發(fā)布系統(tǒng)的結(jié)構(gòu)清晰、代碼規(guī)范,把系統(tǒng)中重復(fù)使用的代碼寫(xiě)在一個(gè)頁(yè)面內(nèi),當(dāng)需要的時(shí)候直接加載進(jìn)來(lái)即可。該系統(tǒng)的公用模塊包括以下頁(yè)面。 3.4.1 數(shù)據(jù)庫(kù)連接頁(yè)Conn.asp 系
32、統(tǒng)中幾乎所有頁(yè)面都要進(jìn)行數(shù)據(jù)庫(kù)的連接,把數(shù)據(jù)庫(kù)連接代碼保存在頁(yè)面Conn.asp中,這樣可以避免重復(fù)編程。 Conn.asp的代碼如下所示。 <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <%'數(shù)據(jù)庫(kù)的連接 dim conn,connstr '定義conn和connstr變量 '連接數(shù)據(jù)庫(kù)news,設(shè)置用戶名為sa,密碼為1234567,服務(wù)器為MYSERVER connstr="Driver={sql server};uid=sa;pwd=1234567;database= new
33、s;SERVER=MYSERVER" set conn=server.createobject("ADODB.CONNECTION") '創(chuàng)建一個(gè)ADO Connection對(duì)象 conn.open connstr '打開(kāi)數(shù)據(jù)庫(kù) %> 在文件中引用此文件時(shí)把該文件作為頭文件直接調(diào)用即可,代碼如下所示。 頁(yè)面設(shè)計(jì)效果:由于該頁(yè)面沒(méi)有任何html代碼,也沒(méi)有任何asp的輸出顯示代碼,所以瀏覽該頁(yè)面時(shí)沒(méi)有任何效果。 3.4.2 層疊樣
34、式表文件Css.css 為了使新聞發(fā)布系統(tǒng)的界面美觀、風(fēng)格統(tǒng)一、修改方便,創(chuàng)建一個(gè)層疊樣式表文件Css.css,對(duì)留言板系統(tǒng)所有網(wǎng)頁(yè)文件中所標(biāo)記的屬性實(shí)行統(tǒng)一控制。 Css.css的代碼如下所示。 編寫(xiě)頁(yè)面
36、代碼時(shí),在每個(gè)頁(yè)面的
和標(biāo)記之間包含該樣式表文件,就可以起到統(tǒng)一頁(yè)面風(fēng)格的作用,具體代碼如下所示。 頁(yè)面設(shè)計(jì)效果:由于該頁(yè)面沒(méi)有任何html代碼,也沒(méi)有任何asp的輸出顯示代碼,所以瀏覽該頁(yè)面時(shí)沒(méi)有任何效果。 3.4.3 常量文件adovbs.inc adovbs.inc是常量文件。是IIS/PWS所提供的文件,存放著ADO相關(guān)常數(shù)的定義,使用inc文件可以使我們的程序,增加可讀性,更易于開(kāi)發(fā)和維護(hù)。這個(gè)文件在C:\Program Files\Common Files\SYSTEM\AD37、O下在使用的時(shí)候把它拷貝到虛擬目錄下即可。 adovbs.inc是將常用參數(shù)定義為常量放在包含文件中,使用該參數(shù)時(shí),調(diào)用這個(gè)常量就行了,這樣就可以當(dāng)你需要改變這個(gè)參數(shù)時(shí),不需要修改程序,只要修改包含文件中常量的值。adovbs.inc包含的是一些常用的const參數(shù)和其對(duì)應(yīng)的值的對(duì)照聲明,在你使用這些const參數(shù)的時(shí)候必須包含adovbs.inc,否則程序?qū)o(wú)法獲悉這些const參數(shù)的值是多少。 這個(gè)文件在下面講解的數(shù)據(jù)轉(zhuǎn)換和上傳圖片頁(yè)Function.asp將用到。調(diào)用adovbs.inc文件,代碼如下所示。 頁(yè)面
38、設(shè)計(jì)效果:由于該頁(yè)面沒(méi)有任何html代碼,也沒(méi)有任何asp的輸出顯示代碼,所以瀏覽該頁(yè)面時(shí)沒(méi)有任何效果。 3.4.4 數(shù)據(jù)轉(zhuǎn)換和上傳圖片頁(yè)Function.asp 系統(tǒng)中還需要一些轉(zhuǎn)換函數(shù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換,以及獲取服務(wù)器端相對(duì)圖片路徑,上傳圖片等。由于這些函數(shù)在后面的幾個(gè)頁(yè)面中被多次用到,所以將它們單獨(dú)取出來(lái),保存在Function.asp中。 Function.asp的代碼如下所示。 <% '功能:取得服務(wù)端相對(duì)圖片路徑使圖片能正常顯示 '定義一個(gè)Get函數(shù),該函數(shù)的作用是取得服務(wù)端相對(duì)圖片路徑 '設(shè)置一個(gè)
39、參數(shù)imagespath,該參數(shù)指圖片路徑 Function Get(imagespath) '如果圖片不為空,則取得服務(wù)端圖片相對(duì)路徑 If imagespath <> "" Then Get"UpImages/" &year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&Right(imagespath,4) Else '如果圖片為空,則取得服務(wù)端圖片相對(duì)路徑為空 Get ="" End If '返回值:圖片路徑 End Function '功能
40、:用stream組件上傳圖片 '定義一個(gè)upImages函數(shù),該函數(shù)的作用是上傳客戶端圖片 '設(shè)置一個(gè)參數(shù)imagespath,該參數(shù)指客戶端圖片路徑 Function upImages(imagespath) Set objStream = Server.CreateObject("ADODB.Stream") '創(chuàng)建上傳組件對(duì)象 objStream.Type = 1 '指定或返回的數(shù)據(jù)類型 objStream.Open '打開(kāi)上傳組件對(duì)象 objStream.LoadFrom '把客戶端圖片路
41、徑裝入上傳組件對(duì)象中 '將客戶端圖片路徑寫(xiě)到服務(wù)端的文件中 objStream.SaveTo(Get(imagespath)), adSaveCreateOverWrite objStream.Close If ERR.number<>0 Then '如果上傳失敗返回0 upImages = 0 Else '如果上傳成功返回1 upImages = 1 End If End Function '定義一個(gè)unHtml函數(shù),該函數(shù)的作用是將字符串的一些換行符、回車符等轉(zhuǎn)換成HTML格式,使其在顯示的 時(shí)候,
42、能夠按正常格式顯示 Function unHtml(content) '設(shè)置一個(gè)參數(shù)content,該參數(shù)指信息內(nèi)容 unHtml=content '給函數(shù)unHtml賦值為信息內(nèi)容content '如果信息內(nèi)容不為空,則把信息內(nèi)容中的一些字符轉(zhuǎn)換成HTML格式 If content <> "" Then unHtml=replace(unHtml,"&","&") '把信息內(nèi)容中的"&"轉(zhuǎn)換成HTML格式 unHtml=replace(unHtml,"<","<") '把信息內(nèi)容中的"<"轉(zhuǎn)換成HTML格式
43、
unHtml=replace(unHtml,">",">") '把信息內(nèi)容中的">"轉(zhuǎn)換成HTML格式
unHtml=replace(unHtml,chr(34),""") '把信息內(nèi)容中的引號(hào)轉(zhuǎn)換成HTML格式
unHtml=replace(unHtml,chr(13),"
") '把信息內(nèi)容中的換行符轉(zhuǎn)換成HTML格式
unHtml=replace(unHtml,chr(32)," ") '把信息內(nèi)容中的空格轉(zhuǎn)換成HTML格式
End If
'返回值:字符串中的空格及回車符等被轉(zhuǎn)換成html語(yǔ)法
44、格式 End Function %> 在文件中引用此文件時(shí)把該文件作為頭文件直接調(diào)用即可,代碼如下所示。 頁(yè)面設(shè)計(jì)效果:由于該頁(yè)面沒(méi)有任何html代碼,也沒(méi)有任何asp的輸出顯示代碼,所以瀏覽該頁(yè)面時(shí)沒(méi)有任何效果。 3.4.5 公共頁(yè)面Out.asp Out.asp是Default.asp、List.asp、View.asp和ViewGonggao.asp頁(yè)面的公共頁(yè)面部分。由于Default.asp、List.asp、View.asp和ViewGonggao.asp頁(yè)面的頂部和左部設(shè)計(jì)都是相同的,所以將
45、這兩個(gè)部分的代碼單獨(dú)取出來(lái),放在Out.asp中。Out.asp的主要代碼如下所示。 <% '定義頁(yè)面頂部 %> <% Sub Top() %>
首頁(yè) |
46、<% '在頁(yè)面上部顯示每個(gè)新聞版塊名稱 Set Rs = Server.CreateObject("ADODB.Recordset") '創(chuàng)建記錄集對(duì)象 '把新聞版塊信息從新聞版塊信息表中取出來(lái) Sql="Select * From newsclassInfo" Rs.Open Sql,conn,3,3 '把取出的信息放在記錄集對(duì)象中 Do While not Rs.EOF '循環(huán)顯示新聞版塊名稱 %> <%'顯示新聞版塊名稱并設(shè)置鏈接 %> "> <%=Rs("classtitle")%> | <% Rs.MoveNext Loop Rs.Close Set Rs=nothing %> 新聞搜索 | 參加投票 | 登錄 <%'如果管理員登錄后訪問(wèn)該系統(tǒng),則顯示管理、退出%> <% If Session("name") <> "" Then %> │ 管理 │ 退出 <% End If %> |
51、 Sub Lefts() %>
59、 Rs1=nothing %> |
||||||
|
64、p頁(yè)面的相應(yīng)過(guò)程即Top()、Lefts()即可: <% call Top() %> 或 <% call Lefts() %> 這樣做有兩個(gè)好處:一是節(jié)省了代碼行數(shù),減少工作量;二是便于修改。 頁(yè)面設(shè)計(jì)效果:由于該頁(yè)面沒(méi)有任何html代碼,也沒(méi)有任何asp的輸出顯示代碼,所以瀏覽該頁(yè)面時(shí)沒(méi)有任何效果。 3.5 用戶瀏覽模塊 此模塊包括系統(tǒng)首頁(yè)、版塊新聞標(biāo)題瀏覽、新聞詳細(xì)信息瀏覽、新聞評(píng)論信息瀏覽、公告信息瀏覽。此模塊負(fù)責(zé)版塊新聞標(biāo)題信息的顯示,新聞詳細(xì)信息的顯示、新聞評(píng)論信息的顯示、公告信息的顯示。該系統(tǒng)中所有的新聞信息和新聞評(píng)論信息以及版塊信息和公告信息全在此模塊中顯示
65、,用戶在瀏覽新聞信息的同時(shí)還可以發(fā)表評(píng)論。訪問(wèn)者和管理員進(jìn)入該系統(tǒng)必須首先進(jìn)入該模塊。此模塊包括系統(tǒng)的首頁(yè),該頁(yè)面顯示所有新聞?lì)悇e及部分新聞標(biāo)題。 3.5.1 系統(tǒng)首頁(yè)Default.asp Default.asp是新聞發(fā)布系統(tǒng)首頁(yè)。在系統(tǒng)首頁(yè)顯示企業(yè)或者個(gè)人信息最新公告,最新公告像“跑馬燈”一樣由右至左動(dòng)態(tài)顯示。在系統(tǒng)首頁(yè)顯示所有新聞?lì)悇e及最新新聞動(dòng)態(tài)和熱貼排行。當(dāng)單擊新聞動(dòng)態(tài)上的更多鏈接時(shí),轉(zhuǎn)到新聞標(biāo)題頁(yè)面,顯示更多的新聞信息。在頁(yè)面的左下方顯示系統(tǒng)當(dāng)前訪問(wèn)量。 在新聞系統(tǒng)首頁(yè)的右側(cè)主要顯示了三部分的信息。一是熱點(diǎn)新聞,即每個(gè)新聞?lì)悇e中點(diǎn)擊率最高的新聞;二是最新公告,采用滾動(dòng)的方式
66、顯示公告標(biāo)題并設(shè)置超鏈接;三是每個(gè)新聞?lì)悇e中最新的3條新聞。頁(yè)面顯示效果圖,如圖所示3.7所示。 圖3.7 系統(tǒng)首頁(yè)顯示效果圖 當(dāng)管理員登錄后訪問(wèn)該頁(yè)面其他部分不變,只是導(dǎo)航欄上顯示管理和退出按鈕。如圖3.8所示。 圖3.8 系統(tǒng)首頁(yè)顯示效果圖 下面介紹Default.asp的主要代碼。 頁(yè)面代碼分析如下所示。 1.連接數(shù)據(jù)庫(kù)、定義頁(yè)面風(fēng)格、進(jìn)行數(shù)據(jù)轉(zhuǎn)換和調(diào)用導(dǎo)航欄 頁(yè)面設(shè)計(jì):此系統(tǒng)的設(shè)計(jì)是把所有的新聞信息、版塊信息等全部保存在數(shù)據(jù)庫(kù)中,此頁(yè)面要顯示新聞信息版塊的名稱等內(nèi)容,就必須和數(shù)據(jù)庫(kù)相連,所以此頁(yè)面要引用數(shù)據(jù)庫(kù)連接頁(yè)。由于該頁(yè)面從數(shù)據(jù)庫(kù)讀取信息需要把unHTML格式的字符轉(zhuǎn)換成HTML格式的字符使其能正常顯示所以要進(jìn)行數(shù)據(jù)轉(zhuǎn)換。為了使該留言板系統(tǒng)界面美觀、風(fēng)格統(tǒng)一所以要統(tǒng)一定義頁(yè)面風(fēng)格。 代碼如下所示。 <%'調(diào)用Conn.asp文件連接數(shù)據(jù)庫(kù)%> <%'調(diào)
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024《增值稅法》全文學(xué)習(xí)解讀(規(guī)范增值稅的征收和繳納保護(hù)納稅人的合法權(quán)益)
- 2024《文物保護(hù)法》全文解讀學(xué)習(xí)(加強(qiáng)對(duì)文物的保護(hù)促進(jìn)科學(xué)研究工作)
- 銷售技巧培訓(xùn)課件:接近客戶的套路總結(jié)
- 20種成交的銷售話術(shù)和技巧
- 銷售技巧:接近客戶的8種套路
- 銷售套路總結(jié)
- 房產(chǎn)銷售中的常見(jiàn)問(wèn)題及解決方法
- 銷售技巧:值得默念的成交話術(shù)
- 銷售資料:讓人舒服的35種說(shuō)話方式
- 汽車銷售績(jī)效管理規(guī)范
- 銷售技巧培訓(xùn)課件:絕對(duì)成交的銷售話術(shù)
- 頂尖銷售技巧總結(jié)
- 銷售技巧:電話營(yíng)銷十大定律
- 銷售逼單最好的二十三種技巧
- 銷售最常遇到的10大麻煩
相關(guān)資源
更多相關(guān)搜索
copyright@ 2023-2025 zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有 聯(lián)系電話:18123376007
備案號(hào):蜀ICP備2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)
本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!