【正文】
End If % 在文件中引用此文件作為頭文件,代碼如下 : !include File 3. 在修改和刪除新聞時(shí),除了 Admin 用戶擁有所有權(quán)限外,其他用戶只能修改自己創(chuàng)建的新聞。相關(guān)代碼如下: 字體 SELECT onChange var c [].value。FONTSIZE: 9pt39。 在添加和修改新聞內(nèi)容 的網(wǎng)頁(yè)中,必須將表單定義為 myform,輸入新聞內(nèi)容的滾動(dòng)文本框定義為 txtcontent,否則此功能將無(wú)法實(shí)現(xiàn)。color:black39。39。 border 0 cellspacing 0 cellpadding 0 39。pic/39。本站中使用 進(jìn)行身份驗(yàn)證。 % stitle% % Loop % 在調(diào)用 時(shí),參數(shù) flag 表示新聞?lì)悇e。 變量 sql_where 用來(lái)記錄查詢條件。設(shè)置分頁(yè)顯示,每頁(yè)顯示 20 條新聞?dòng)涗? 20 39。 i amp。cid % rs CateId % amp。 下面將介紹相關(guān)的代碼。 CateName amp。 amp。 for j 0。 s true。39。以 strid 的值為參數(shù)執(zhí)行 ,參數(shù) Oper 等于 delete,就可以刪除選中記錄了。 var nn .item Cate 。這樣可以避免出現(xiàn)重復(fù)的新聞?lì)悇e。 CateName amp。 39。Oper edit div align center input type hidden name sOrgTitle value % sTitle% font color FFFFFF font color 000000 類別名稱 input type text name txttitle size 20 value % sTitle% input type submit name Submit value 修 改 %Else% form name AForm method post action ?Oper add div align center font color FFFFFF font color 000000 類別名稱 input type text name txttitle size 20 input type submit name Submit value 添 加 %End If% 添加和修改新聞?lì)悇e的腳本都是 ,只是參數(shù)不同。COLOR:Red39。page amp。 sql_where amp。 39。?flag % cid% 39。 更多新聞 ... loop % 因?yàn)樵诘?l 步中已經(jīng)將各新聞?lì)悇e的標(biāo)題讀取到記錄集 rsCate 中,所以只需要使用執(zhí)行 語(yǔ)句將指針復(fù)位就可以了。?id + cstr rs id + 39。 39。每個(gè)新聞?lì)悇e標(biāo)題被定義為一個(gè)書(shū)簽,名為 a 類別編號(hào) % a href a % cid% font style 39。按順序讀取所有新聞?lì)悇e,保存在記錄集 rsCate 中 sql SELECT * FROM Category ORDER BY CateId Set rsCate sql 39。 font[space]face 39。 39。例如,選中正文 abc,然后選擇“楷體”、“ 1 號(hào)字”,將生成如下代碼: font[space]face 楷體 _GB2312 font[space]size 1 abc [space]是自定義的符號(hào),因?yàn)榭崭裨谵D(zhuǎn)換成 HTML 格式時(shí),將被替換為“ amp。UID sa。 4.創(chuàng)建表 Users 創(chuàng)建表 Users 的腳本文件為 ,它的代碼如下: USE news GO CREATE TABLE Users UserId Int Primary Key IDENTITY, UserName Varchar 50 NOT NULL, UserPwd Varchar 50 NOT NULL, Ename Varchar 50 , Email Varchar 50 GO INSERT INTO Users UserName, UserPwd, Ename, Email VALUES 39。 3.網(wǎng)友評(píng)論信息表 Discuss 網(wǎng)友評(píng)論 信息表 Discuss用來(lái)保存網(wǎng)友對(duì)新聞的評(píng)論信息,結(jié)構(gòu)如表 3所示。 第一節(jié) 創(chuàng)建數(shù)據(jù)庫(kù) 首先創(chuàng)建一個(gè)數(shù)據(jù)庫(kù) news,用來(lái)保存本系統(tǒng)的所有數(shù)據(jù)。 圖 1 新聞發(fā)布及管理系統(tǒng)功能模塊示意圖 新聞發(fā)布及管理系統(tǒng)的功能模塊之間的關(guān)系如圖 2 所示。此項(xiàng)功能需得到 MTS Microsoft Transcation Server 管理的支持。 頁(yè)面的結(jié)構(gòu): ASP 的程序代碼簡(jiǎn)單、通用,文件名由 .asp 結(jié)尾, ASP 文件通常由四部分構(gòu)成: 標(biāo)準(zhǔn)的 HTML 標(biāo)記:所有的 HTML 標(biāo)記均可使用。 語(yǔ)言相容性高 ASP 與所有的 ActiveX Script 語(yǔ)言都相容,除了可結(jié)合 HTML,VBScript、 Java Script、 Active X 服務(wù)器組件來(lái)設(shè)計(jì)外,并可經(jīng)由“ plugIn(外掛組件模組)的方式,使用其他廠商( Third Party)所提供的語(yǔ)言。經(jīng)過(guò)授權(quán)的用戶可以通過(guò) Web 瀏覽器,以人機(jī)交互式的客戶端程序?qū)崿F(xiàn)對(duì)學(xué)校新聞的發(fā)布、管理、實(shí)時(shí)的進(jìn)行行為統(tǒng)計(jì)和記錄。 第二節(jié) ASP 技術(shù)訪問(wèn) WEB 數(shù)據(jù)庫(kù)訪問(wèn) WEB 數(shù)據(jù)庫(kù)的多種方案目前在WINDOWS 環(huán)境下有多種訪問(wèn) WEB 數(shù)據(jù)庫(kù)的技術(shù),主要有: 1 .公共網(wǎng)關(guān)接口 CGI Common Gateway Interface CGI 是較早實(shí)現(xiàn)的技術(shù)。 1 WINDOWS NT server 運(yùn)行 IIS Inter Information Server 以上。 5 Content Linking 組件:生成 WEB 頁(yè)內(nèi)容列表,并將各頁(yè)順序連接,用于制作導(dǎo)航條。 圖 3 用戶管理功能模塊的關(guān)系圖 第三節(jié) 系統(tǒng)流程分析 為了使讀者進(jìn)一步了解本實(shí)例系統(tǒng)的設(shè)計(jì),本小節(jié)將對(duì)系統(tǒng)進(jìn)行流程分析。 表 1 表 Category 的結(jié)構(gòu) 編號(hào) 字段名稱 數(shù)據(jù)結(jié)構(gòu) 說(shuō)明 1 CateId int 新聞?lì)悇e編號(hào) 2 CateName varchar 50 新聞?lì)悇e名稱 ? 在設(shè)計(jì)數(shù)據(jù)庫(kù)結(jié)構(gòu)時(shí),很多表都需要設(shè)計(jì)一個(gè)整型字段作為標(biāo)識(shí)列,這幾乎已經(jīng)成為慣例, 例如表Category 中的 CateId 字段。 編號(hào) 字段名稱 數(shù)據(jù)結(jié)構(gòu) 說(shuō)明 1 ?UserId ?int 用戶ID 號(hào)。39。所以在修改和刪除新聞時(shí),需要判斷當(dāng)前用戶是否是 Admin或指定新聞的作者。 if .text! 39。 OPTION selected value 宋體 宋體 OPTION value 楷體 _GB2312 楷體 OPTION value 新宋體 新宋體 OPTION value 黑體 黑體 OPTION value 隸書(shū) 隸書(shū) OPTION value Andale Mono Andale Mono OPTION value Arial Arial OPTION value Arial Black Arial Black OPTION value Book Antiqua Book Antiqua OPTION value Century Gothic Century Gothic OPTION value Comic Sans MS Comic Sans MS OPTION value Courier New Courier New OPTION value Geia Geia OPTION value Impact Impact OPTION value Tahoma Tahoma OPTION value Times New Roman Times New Roman OPTION value Trebuchet MS Trebuchet MS OPTION value Script MT Bold Script MT Bold OPTION value Stencil Stencil OPTION value Verdana Verdana OPTION value Lucida Console Lucida Console 在下拉菜單中,定義了系統(tǒng)支持的字體名稱,下拉菜單的值與字體名稱相同。 系統(tǒng)主界面與登錄程序設(shè)計(jì) 第一節(jié) 設(shè)計(jì)主界面 本主界面為 ,它的功能是顯示新聞?lì)悇e和每個(gè)類別中的 10 條新聞,并提供進(jìn)入管理界面 的鏈接。 % stitle% | % Loop % 如果網(wǎng)頁(yè)中顯示的內(nèi)容較多,通常需要通過(guò)定義書(shū)簽的方法使用戶快速到達(dá)指定的位置。 font color red 新聞查詢 | a href font color red style 39。按提交時(shí)間的降序顯示新聞標(biāo)題 sql SELECT * FROM News WHERE CateId amp。 ALT 39。對(duì)于需要登陸才能察看的網(wǎng)頁(yè)可以在網(wǎng)頁(yè)的最前端加上如下代碼: !include file ”chkpwd. asp” 這樣為登陸的用戶將看到如下界面: 第三節(jié) 設(shè)計(jì)管理界面 管理界面的功能是對(duì)新聞?lì)悇e和新聞提供管理界面,只有有權(quán)限的用戶才能進(jìn)入管理界面。如果 flag 0,則顯示全部新聞,否則顯示指定類別的新聞。如果當(dāng)前用戶是 Admin,則 sql_where “”,即顯示所有新聞;否則設(shè)置查詢條件為“ Poster “” amp。讀取參數(shù) page,表示當(dāng)前的頁(yè)碼,使用 CLng 將其轉(zhuǎn)換為長(zhǎng)整型 Page CLng Request Page 39。 ] Next End If End If % 這部分代碼的關(guān)鍵部分是根據(jù)新聞?lì)悇e和用戶類型生成 sELECT 語(yǔ)句,查詢指定的新聞?dòng)涗洝ame % rs C ateName % 修 改 td align center input type checkbox name Cate id % rs CateId % % LOOP % 可以看到,修改新聞?lì)悇e的頁(yè)面也是 Cate_Admin. asp。 在執(zhí)行 時(shí),可以在 url 中包含參數(shù),程序?qū)⒏鶕?jù)參數(shù) Oper的值決定進(jìn)行的操作,與添加數(shù)據(jù)相關(guān)的代碼如下: % 39。 39。 CateName amp。j 。 Cateid .item Cate,j .id+。 name add 當(dāng)單擊“添加新聞”按鈕時(shí),將觸發(fā) onclick 事件,并調(diào) newwin 39。因?yàn)閺?fù)選框的 id 值與對(duì)應(yīng)的新聞?lì)悇e編號(hào)相同,所以最后 strid 中保存的是以逗號(hào)為 分隔符的待刪除的新聞?lì)悇e編號(hào)。 var strid, strurl。 注意,在修改新聞?lì)悇e之前,應(yīng)該判斷新的新 聞?lì)悇e是否已經(jīng)存在。 amp。 CateName amp。如果當(dāng)前狀態(tài)為修改,則顯示修改的表單,否則顯示添加的表單 If Soperate update Then sTitle name % form name UFrom method post action ?cid % Operid% amp。如果記錄集為空,則顯示“目前還沒(méi)有記錄” td colspan 3 align center font style 39。 amp。 And amp。 Session UserName amp。顯示新聞?lì)悇e鏈接,注意根據(jù)類別編號(hào)設(shè)置參數(shù) flag DO WHILE Not stitle rsCate CateName cid rsCate CateId % | a href 39。?flag + CSt