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