亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

ASP交友系統(tǒng)設(shè)計(一)

時間:2023-03-07 11:02:40 計算機畢業(yè)論文 我要投稿
  • 相關(guān)推薦

ASP交友系統(tǒng)設(shè)計(一)

前  言
 在科技不斷發(fā)展的今天,利用計算機進行現(xiàn)代化通訊已經(jīng)成為我們身邊必部可少的工具。我們身處在一個知識日新月異、時刻充滿挑戰(zhàn)的時代,科技的飛速,知識不斷創(chuàng)新的社會。所以利用新的通訊方式增進同學(xué)見友誼,增進朋友之間的了解是時代所要求的。
 作為當(dāng)代大學(xué)生,應(yīng)有長遠的目光和隨機應(yīng)變的能力,應(yīng)走在時間的前面,掌握最新的社會動態(tài)、最先進科學(xué)技術(shù),以調(diào)整自己的知識結(jié)構(gòu)和能力結(jié)構(gòu),去適應(yīng)社會的發(fā)展。新世紀需要具有豐富現(xiàn)代科學(xué)知識的人;需要能夠獨立解決問題、完成工作的人;需要能獨當(dāng)一面、時常挑戰(zhàn)自己極限的人;需要有創(chuàng)新意識的人。我們在不斷努力中學(xué)習(xí)做一個與時代并進的人。
 在進入實習(xí)的階段中越來越覺得友誼的增進是必須的。俗話說人在社會,多一個朋友是條路,而且各種通訊方式的變更更是五花八門。因此我想做一個校友錄系統(tǒng)來增加一種通訊方式以方便我院學(xué)生的聯(lián)系。讓我院學(xué)生感受到雖然身處異地,卻隨時可以鼠標(biāo)一點重新讓你有重歸校園的親切感。
 我現(xiàn)在用文字形式將我做此系統(tǒng)的過程及其功能介紹展現(xiàn)給大家。由于是初次編寫,缺少經(jīng)驗,可能有許多不完備或出錯的地方,誠懇希望老師們不吝指正。
關(guān)鍵詞: 校友錄系統(tǒng)、窗體、控件、數(shù)據(jù)庫

第一章 系統(tǒng)設(shè)計
§1.1 市場需求分析
 隨著社會的發(fā)展,同學(xué)之間之間的學(xué)術(shù)交流,以及同學(xué)之間的相互聯(lián)系 ,等這些都必須利用計算機,因此用電子信息技術(shù)來交流已經(jīng)成為社會發(fā)展的趨勢 。在交流中大家可以重新一起回憶往事。有新鮮事大家可以一起交流,有疑問可以通過留言方式來獲取校友提供的信息。這樣既增進了同學(xué)之間的友誼同時也得到了自己想要獲取的信息。
 計算機技術(shù)的迅速發(fā)展帶動其它技術(shù)的發(fā)展,自然也推動著信息技術(shù)高度發(fā)展快速前進。信息、信息技術(shù)和信息化的重要性日益被人們所認識,高科技電子通訊也日益被大眾所接受,所以現(xiàn)代化通訊方式是今后發(fā)展的趨勢,,所以建立一套符合實際的、簡便快捷的、易于掌握的信息系統(tǒng)勢在必行。
§1.2 系統(tǒng)設(shè)計
§1.2.1 系統(tǒng)目標(biāo)設(shè)計
 通過此系統(tǒng)可以輕松瀏覽自己或與自己好友的詳細情況,注冊會員后還可輕松添加、修改、刪除好友信息。
§1.2.2 開發(fā)設(shè)計思想
 本系統(tǒng)的開發(fā)設(shè)計思想:
 ★系統(tǒng)應(yīng)符合規(guī)定,滿足大家日常通訊的工作需要,并達到操作過程中的直觀、方便、實用、安全等要求;
 ★系統(tǒng)采用模塊化程序設(shè)計方法,既便于系統(tǒng)功能的各種組合和修改,又便于未參與開發(fā)的技術(shù)維護人員的補充和維護;
 ★系統(tǒng)應(yīng)具備數(shù)據(jù)庫維護功能,及時根據(jù)用戶需求進行數(shù)據(jù)的添加,刪除、修改、等操作。
 ★系統(tǒng)中還應(yīng)具備有信息查詢功能,以便使管理人員方便、及時地了解各類有關(guān)情況,使系統(tǒng)真正地幫助并提高管理員的管理水平,使管理方便、快捷、準(zhǔn)確、無誤。
§1.3 校友錄系統(tǒng)的開發(fā)環(huán)境及其可擴展性
§1.3.1 校友錄系統(tǒng)的開發(fā)環(huán)境
 (1)硬件環(huán)境:
 主機:電腦486DX/100,推薦Pentium200以上;
 內(nèi)存:最低要求8MB,最好在32M內(nèi)上;
 硬盤:程序需用硬盤容量約2M,由數(shù)據(jù)所需空間使用情況而定;
 顯示器:標(biāo)準(zhǔn)VGA彩色(黑白)顯示器;1024×768;
 (2)軟件配置:
 操作系統(tǒng):windowsXP
 系統(tǒng)開發(fā)軟件:Dreamweaver MX
 數(shù)據(jù)庫開發(fā)軟件:Access2000
 操作環(huán)境: Asp+Access ,IIS4.0
 1.ASP:20世紀末,隨著計算機科學(xué)的發(fā)展,數(shù)據(jù)庫技術(shù)在Internet中的應(yīng)用越來越廣泛,為廣大網(wǎng)絡(luò)用戶提供了更加周到和人性化的服務(wù)。個性化已逐漸成為當(dāng)今Web應(yīng)用的潮流。本文研究了一種基于數(shù)據(jù)關(guān)聯(lián)規(guī)則網(wǎng)上論壇系統(tǒng),論壇也稱為BBS,BBS是BULLETIN BOARD SYSTEM的縮寫,意即電子公告板,一種在INTERNET上常用的用于信息服務(wù)的web系統(tǒng),他的主要服務(wù)是用來幫助瀏覽者相互溝通,吸引用戶、服務(wù)用戶的。
 2.IIS:WE務(wù)器是Web應(yīng)用程序的心臟。IIS(Internet Information Server)是微軟推出的Windows NT Option Pack的主要成員,作為Win2000server的擴展,自推出以來已經(jīng)有了很大發(fā)展,其體系結(jié)構(gòu)是當(dāng)今市場上最受關(guān)注的Web服務(wù)器之一。新推出的IIS4.0版本增強了系統(tǒng)安全性,具有服務(wù)器端腳本開發(fā)調(diào)試,內(nèi)容管理和站點分析,崩潰防護,內(nèi)置JAVA虛擬機及全面支持ASP等強大功能。
 IIS與ASP相結(jié)合:
 在過去,客戶機/服務(wù)器結(jié)構(gòu)的設(shè)計與Web的相關(guān)技術(shù)幾乎處于平行線上,兩者相互獨立并無法作出集成性的設(shè)計,F(xiàn)在我們利用IIS+ASP構(gòu)成三層式Web結(jié)構(gòu)(如圖2.1所示)的中間一層,將客戶機/服務(wù)器結(jié)構(gòu)與Web密切結(jié)合,完成前后端兩者的集成輸出功能,使得Web站點的開發(fā)更方便,實現(xiàn)的功能更強大! ±肐IS+ASP技術(shù)來集成Web前后端所帶來的強大效益可歸結(jié)為以下幾個方面:
 (1)減少構(gòu)建和維護成本
 (2)加快聯(lián)機過程
 (3)軟件集中在服務(wù)器端開發(fā)管理
 (4)端可使用任何瀏覽器(IE、Netscape…..)
 (5)端可存取任何數(shù)據(jù)庫 (SQL、Access…..)
 (6)用任何腳本語言開發(fā) (VBScript、java script、PERL…..)

 ASP的內(nèi)部特點:
 ASP提供了6個功能強大的內(nèi)部對象,每個對象具有各自的屬性(Property)、方法(Method),有的還擁有數(shù)據(jù)集合(Collection)與事件(Event),它們共同完成Web中的一些重要工作。這6個對象及其功能描述如表2.1所示。
 
 表2.1  ASP 內(nèi)部6大對象及其功能
對象名稱 功能描述 
Request 從客戶端取得信息 
Response 將信息送給客戶端 
Server 提供一些Web服務(wù)器工具 
Session 儲存在一個Session內(nèi)的用戶信息,該信息僅可被該用戶訪問 
Application 在一個ASP-Application中讓不同的客戶端共享信息 
ObjectContext 配合Microsoft Transaction服務(wù)器進行分布式事務(wù)處理 
 
合理地運用這些對象可以使原本復(fù)雜,煩瑣的工作變得簡捷而條理清晰。我們可以用以下的語法直接使用這些對象:對象/屬性/方法/數(shù)據(jù)集合
 3.GLOBAL文件
 每一個以Active Server Pages為基礎(chǔ)的應(yīng)用程序都擁有一個Global.asa文件(ASA后綴名其實是Active Server Application的縮寫),它位于每一個應(yīng)用程序的基點目錄之下。當(dāng)Active Server Pages做下面兩個動作時,Server便會去讀Global.asa文件:(1)Web Server啟動之后,一個應(yīng)用程序目錄中任一個ASP文件被提出第一個HTTP請求(Request)時。
(2)不具有任何Session的客戶端向Server請求一個ASP文件時! ∏懊嬉呀(jīng)提到Application和Session這兩個ASP的內(nèi)部對象。Application對象內(nèi)的信息供所有正在執(zhí)行該應(yīng)用程序的用戶分享,它創(chuàng)建于Web Server啟動后一個應(yīng)用程序中任一ASP文件被提出第一個HTTP請求時,結(jié)束于Server端停止運行。而Session對象僅屬于一位用戶,維持一個用戶端的信息,其他用戶無法訪問,它創(chuàng)建于一個不具有Session的用戶向Server請求一個ASP文件時,結(jié)束于該Session到期(即用戶端超過某時間段沒有向Server提出要求或刷新Web頁面)或Abandon語句的調(diào)用。可見,Global.asa文件的調(diào)用與Application與Session這兩個對象密切相關(guān)。事實上我們通常在Global。asa文件中寫入以下內(nèi)容:
(1) Application或Session的開始事件(Start-event)。
(2) Application或Session的結(jié)束事件 (End-event)。
 這樣,在一個Application或Session對象被創(chuàng)建或結(jié)束時,系統(tǒng)會自動完成Global.asa文件中寫入的相應(yīng)事件。值得注意的是,如果一個Application與一個Session同時開始,Active Server Pages會先處理Application的開始事件,而如果一個Application與一個Session同時結(jié)束,Active Server Pages則會先處理Session的結(jié)束事件。
 
 CGI(Common Gateway Interface,通用網(wǎng)關(guān)接口)也是Internet上一種功能強大的Web頁面技術(shù),其工作方式有別于ASP。我們現(xiàn)對二者進行比較。Active Server Pages開發(fā)Web應(yīng)用程序的特點: (1) 完全嵌入HTML,與HTML、Script語言完美結(jié)合!。2) 無須手動編譯和鏈接程序!。3) 面向?qū)ο螅⒖蓴U展ActiveX Server組件功能!。4) 使用腳本語言(java script、VBScript或PERL)編寫。。5) 存取數(shù)據(jù)庫輕松容易(使用ADO組件)!。6) 可使用任何語言編寫自己的ActiveX Server組件。。7) 無瀏覽器兼容問題!。8) 程序代碼隱藏,客戶端僅能看到ASP輸出的HTML文件。。9) 縮短Web開發(fā)時間! ∠啾戎拢褂肅GI開發(fā)Web應(yīng)用程序具有以下缺點:。1) 不易與HTML文件集成!。2) 須使用其他較復(fù)雜的語言來開發(fā)CGI程序!。3) 程序開發(fā)時間較長。。4) 存取數(shù)據(jù)庫不容易!。5) 每個CGI程序被不同用戶執(zhí)行時都得重新執(zhí)行一次,并占去Server的一個端口(Port),降低Server效率! 】梢,ASP在數(shù)據(jù)庫訪問、與HTML的集成、提高服務(wù)器的效率等諸多方面都優(yōu)于CGI,更適應(yīng)Web應(yīng)用程序開發(fā)的需要,因此本文選擇了ASP作為個性化頁面生成器的開發(fā)工具。      ACCESS數(shù)據(jù)庫開發(fā)能匯集各種信息以供查詢、存儲和檢索。Access 的優(yōu)點在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息。數(shù)據(jù)表示圖提供了一種類似于 Excel 的電子表格,可以使數(shù)據(jù)庫一目了然。另外,Access 允許創(chuàng)建自定義報表用于打印或輸出數(shù)據(jù)庫中的信息。Access也提供了數(shù)據(jù)存儲庫,可以使用桌面數(shù)據(jù)庫文件把數(shù)據(jù)庫文件置于網(wǎng)絡(luò)文件服務(wù)器,與其他網(wǎng)絡(luò)用戶共享數(shù)據(jù)庫。Access 是一種關(guān)系數(shù)據(jù)庫工具,關(guān)系數(shù)據(jù)庫是已開發(fā)的最通用的數(shù)據(jù)庫之一。如上所述,Access 作為關(guān)系數(shù)據(jù)庫開發(fā)具備了許多優(yōu)點,可以在一個數(shù)據(jù)包中同時擁有桌面數(shù)據(jù)庫的便利和關(guān)系數(shù)據(jù)庫的強大功能。
§1.3.2 交友錄管理系統(tǒng)的可擴展性
 由于時間的限制,且個人的水平有限,在該系統(tǒng)中有很多未涉及的地方。辟如說:系統(tǒng)沒有歌曲下載和信息下載功能,沒有各友情網(wǎng)站之間的連接。今后,可對此系統(tǒng)在這方面加以改進,這樣交友錄才會越來越壯大,我們的設(shè)計才會越來越健全。
 還有,系統(tǒng)的同步更新做的并不是很完善,統(tǒng)計也沒有具體去做。這是一個重要的環(huán)節(jié),可以努力去開發(fā),做好后既可以簡化系統(tǒng)的復(fù)雜性,又可以提高系統(tǒng)的安全性。
在這里講這些,只是希望讀者能夠注意到這幾點也是非常重要的,是具有相當(dāng)可擴展性的環(huán)節(jié)。為讀者改進這個系統(tǒng)的做一個簡單的提示。
 系統(tǒng)功能的完善有待我們共同去努力!
第二章 總體設(shè)計
 總體設(shè)計階段的基本目的是用比較抽象概括的方式確定系統(tǒng)如何完成預(yù)定的任務(wù),也就是說,應(yīng)該確定系統(tǒng)的物理配置方案,并且進而確定組成系統(tǒng)的每個程序的結(jié)構(gòu)。因此,總體設(shè)計階段主要由兩個小階段組成。首先是系統(tǒng)設(shè)計,從數(shù)據(jù)流圖出發(fā)設(shè)計完成系統(tǒng)功能的若干種合理的物理方案,然后進行軟件結(jié)構(gòu)設(shè)計,確定軟件由哪些模塊組成以及這些模塊之間的動態(tài)調(diào)節(jié)應(yīng)用關(guān)系。層次圖和結(jié)構(gòu)圖是描繪軟件結(jié)構(gòu)的常用工具。
§2.1 系統(tǒng)功能分析
 本系統(tǒng)是建立在WinXP 平臺上,用VB語言開發(fā)設(shè)計,用Access來記錄數(shù)據(jù)。為的是面向用戶,其中包括好友注冊,好友個人管理,網(wǎng)站會員管理等。本系統(tǒng)的總體功能是通過好友注冊,好友登陸驗證,對好友進行管理。方便用戶,代替了以前的手動操作。大大為交友者和管理者雙方節(jié)省了時間。
 系統(tǒng)管理包括用戶管理、修改個人信息、退出系統(tǒng)。
 用戶管理包括添加、刪除用戶及確定、退出。
 修改個人信息包括驗證、確定、取消。
 交友錄的運行包括管理員管理、好友留言信息預(yù)覽、好友查詢。
 管理員管理是通過對姓名、以及具體好友的個人信息、進行添加、刪除、修改、更新。
 交友留言信息預(yù)覽是通過調(diào)用數(shù)據(jù)庫里信息來實現(xiàn)。
 校友查詢通過好友的姓名,來查詢實現(xiàn)。

 版權(quán)聲明是為了保證本系統(tǒng)不被抄襲。
 幫助即本系統(tǒng)的說明書。
§2.2 系統(tǒng)功能模塊劃分
 在系統(tǒng)功能分析的基礎(chǔ)上,考慮Visual Basic 6.0程序編制的特點,得到如下圖所示的系統(tǒng)功能模塊圖。
   

(系統(tǒng)功能模塊如上圖)
第三章 數(shù)據(jù)庫設(shè)計
 數(shù)據(jù)庫在任何系統(tǒng)中占有非常重要的地位,它是數(shù)據(jù)的來源。數(shù)據(jù)庫的結(jié)構(gòu)好壞,將直接影響到系統(tǒng)功能的實現(xiàn)。
 所以建庫前要做好充分的準(zhǔn)備。首先,要了解用戶各個方面的需求,他們的需求主要體現(xiàn)在各種信息的提供、保存、更新、查詢。其次,要收集基本的數(shù)據(jù),并理清其中的關(guān)系,以備后用。
 根據(jù)交友管理系統(tǒng)的要求,通過對好友管理工作過程的內(nèi)容和數(shù)據(jù)流程分析,設(shè)計如下面所示的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):
用戶信息包括的數(shù)據(jù)項有:user_id(自動編號),用戶名,密碼和注冊日期 。
用戶詳細注冊信息包括的數(shù)據(jù)項有:lar_id(自動編號), 用戶ID,姓名,生日,年齡,學(xué)歷,職業(yè),電話,性格,星座等。
留言信息包括的數(shù)據(jù)項有:ID(自動編號),留言者姓名,留言內(nèi)容,對方用戶ID,留言者ID。
好友信息包括的數(shù)據(jù)項有: ID(自動編號),用戶名,性別,地區(qū)。
 有了上面的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)項和數(shù)據(jù)流程,我們就能進行下面的數(shù)據(jù)庫設(shè)計。
§3.1  概念結(jié)構(gòu)設(shè)計
 得到上面的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計出滿足用戶的各種窗體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。
 本實例根據(jù)上面的設(shè)計規(guī)劃出的實體有:用戶信息實體、書類信息實體、書簡介信息實體、進書表信息實體,各個實體具體的描述E-R圖如下。
 用戶管理信息實體的E-R圖如下:


 好友信息實體的E-R圖如下:

 
 
 
 好友簡介信息實體的E-R圖如下:
 
 
 
 
 §3.2 邏輯結(jié)構(gòu)設(shè)計
 數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計完成后,現(xiàn)在可以將上面的數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為數(shù)據(jù)庫的邏輯結(jié)構(gòu)。
   我現(xiàn)在將用下面的一個表來表示交友系統(tǒng)數(shù)據(jù)庫中一個表的設(shè)計。
用戶簡單信息注冊表如下:
列名 數(shù)據(jù)類型 字段大小 必填字段 默認值 
User_id  整型 4   
User_name 文本 18 是  
Password 文本 18 是  
用戶詳細注冊信息表如下:
列名 數(shù)據(jù)類型 字段大小 必填字段 默認值 
Lar_id 整型 4   
User_id 整型 4   
Name 文本 10 是  
Sex 文本 2 是  
Britherday 文本 12 是  
age 整型 4 是 0 
Home 文本 30 是 0 
Education 文本 10 是  
Job 文本 20 是  
Company 文本 50 是  
Tel 文本 20 是  
Netname 文本 10 是  
Email 文本 50 是  
Homepage 文本 50 是  
Music 文本 50 是  
Book 文本 20 是  
People 文本 30 是  
Interest 文本 50 是  
Photo 整型 4 是  
ip 文本 14 是  
Star 文本 50 是  

用戶留言信息表如下:
列名 數(shù)據(jù)類型 字段大小 必填字段 默認值 
ID 整型 4   
NetNAME 文本 4 是  
Word 文本 255 是  
For_id 4 4   
User_id 貨幣 4   
好友信息表如下:
列名 數(shù)據(jù)類型 字段大小 必填字段 默認值 
ID 整型 4   
NetNAME 文本 50 是  
sex 文本 50 是  
home 文本 50 是  
For_id 整型 4   
User_id 整型 4   


§3.3 數(shù)據(jù)庫的實現(xiàn)
 經(jīng)過前面的需求分析和概念結(jié)構(gòu)設(shè)計以后,F(xiàn)在就可以在Access數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)表了。
 打開Access軟件,新建數(shù)據(jù)庫命名為“date.mdb”,目的是為了方便用戶理解。在其上通過表設(shè)計器分別新建用戶信息表、好友信息表、好友詳細信息表、留言信息表。
 在用戶信息表中添字段時,必須考慮到用戶名和密碼的數(shù)據(jù)類型和字段大小。經(jīng)過我的考慮,我定用戶名和密碼的數(shù)據(jù)類型為文本型即什么類型的字符都可以。定用戶名的字段大小為18個字符,密碼的字段大小為18個字符。
 同理,我考慮好了用戶簡單信息表、用戶詳細信息表、留言信息表,以及好友信息表中應(yīng)填寫的字段名,且經(jīng)過考察,定下了這些字段的數(shù)據(jù)類型和字段大小。
 在填寫記錄時,一定要謹慎,和字段名必須相對應(yīng),且要符合字段名的數(shù)據(jù)類型和字段大小。我按照自己定下的規(guī)格,將自己收集到的數(shù)據(jù)填寫在了相應(yīng)的表中。
第四章 系統(tǒng)詳細設(shè)計
 有了上面的系統(tǒng)分析和數(shù)據(jù)庫分析,便可以利用ASP進行系統(tǒng)的設(shè)計了。在桌面建立“FRIEND在其下建立“IMAGES,和“DATE下分別存放生成文件,圖片文件和數(shù)據(jù)庫文件。
§4.1 主界面的設(shè)計及分析
 運行ASP,新建一個虛擬目錄“FRIEND”,新建站點。
 建立交友系統(tǒng)主控界面如下圖:
 
 
 
(圖4.1.1)
 其上有上有各種類型的菜單選項,如好友注冊、個人檔案、相片上傳、檔案注冊、好友登陸。以及下一級子菜單?筛鶕(jù)自己的需求進行選擇。且工具欄上有相對應(yīng)的快捷按鈕,方便用戶,為用戶節(jié)省時間。
     窗體右面的類型表即書類型和書類型代號的對應(yīng)表是為了提醒用戶,方便用戶,讓用戶不必強行記憶這么多東西,就是忘了也可方便查找。
§4.2 各界面的設(shè)計及分析
§4.2.1 網(wǎng)友注冊模塊
 網(wǎng)友注冊包括以下子模塊:
會員注冊
reg.asp
regsubmit.asp
regok.asp
register.asp
ladd.asp
read.asp
用戶登陸驗證
default.asp
login.asp
your.asp
各子模塊聯(lián)系如下:

     
用戶注冊頁面:
reg.asp頁面示例
                
a.頁面中需要用戶填寫的HTML表單元素有:
   
名稱 表單元素類型 含義 最大長度 
User_name Text 用戶登陸名稱 10 
Password Password 用戶登陸密碼 10 
Password_two Password 確認密碼 10 
b.頁面所涉及的數(shù)據(jù)表信息:
此頁面僅向系統(tǒng)提供用戶名和密碼。
c.頁面代碼分析:
        <%
 if session("user_id")<>1 then
         response.redirect "havereg.htm"
end if
%>
注冊不成功頁面:
regsubmit.asp頁面示例

 
 
a.頁面中需要用戶填寫的HTML表單元素有:
     此頁面無需填寫HTML表單元素。
b.頁面所涉及的數(shù)據(jù)表信息:
此頁面僅向系統(tǒng)提供用戶住冊名稱和密碼。
c.頁面代碼分析:

       <!--#include file="conn.asp"-->
<%取得提交表單的用戶名,密碼。

   user_name     =left(request("user_name"),10)
   password      =left(request("password"),10)
如果密碼為空終止程序執(zhí)行。

if password="" then
   response.write "數(shù)據(jù)有錯!"
   response.end
end if
Set rs_user = Server.CreateObject("ADODB.Recordset")
sql="select * from user_reg where user_name like '" & user_name & "'"
rs_user.open sql,conn,3,2

if rs_user.eof and rs_user.bof then
       rs_user.addnew
        rs_user("user_name")=user_name
        rs_user("password")=password
        rs_user("date")=date
        rs_user.update
        rs_user.movelast
        session("user_id")=rs_user("user_id")
        rs_user.close
       如果用戶住冊成功直接跳轉(zhuǎn)到regok.asp
        response.redirect "regok.asp"
        response.end
else
%>

用戶住冊成功頁:
regok.asp頁面示例a.頁面中需要用戶填寫的HTML表單元素有:
 此頁面無需填寫HTML表單元素。
 b.頁面所涉及的數(shù)據(jù)表信息:
此頁面沒有涉及數(shù)據(jù)庫表的信息
用戶填寫個人信息頁
register.asp頁面示例

 
 
a.頁面中需要用戶填寫的HTML表單元素有:
   


名稱 表單元素類型 含義 最大長度 
name Text 真實姓名 10 
Home Text 籍貫 10 
company Text 所在單位 50 
Postalcode Text 郵編 6 
Tel Text 聯(lián)系電話 20 
Fresume Text 簡歷 200 
Netname Text 網(wǎng)名 10 
Homepage Text 主頁 50 
Email Text 郵箱 50 
Chartroom Text 常進的聊天室 50 
Sport Text 喜歡的運動 30 
Book Text 喜歡的書 50 
People Text 喜歡的人 30 
Interest Text 愛好 50 
Music Text 喜歡的音樂 50 
Adage Text 人生格言 50 
Character Text 性格簡介 50 
b.頁面所涉及的數(shù)據(jù)表信息:
 此頁面為用戶填寫個人信息。
c.頁面代碼分析:
       <!--#include file="conn.asp"-->
<%
dim rs_lar
dim sql
dim i
'叛斷Session變量是否超時


if isnull(session("user_id")) then
   response.redirect "timeout.htm"
end if
'叛斷此用戶是否已經(jīng)入會
if session("user_id")="1" then
    response.redirect "notreg.htm"
  response.end
end if
'判斷是否已經(jīng)填寫檔案
Set rs_lar = Server.CreateObject("ADODB.Recordset")
sql="select * from larchives where user_id =" & session("user_id")
rs_lar.open sql,conn,3,2
if not(rs_lar.eof and rs_lar.bof) then
   response.redirect "haveregist.htm"
   response.end
end if
rs_lar.close
set rs_lar=nothing
set conn=nothing
%>

5.用戶信息顯示頁:
read.asp頁面示例

 


a.頁面中需要用戶填寫的HTML表單元素有:
     此頁面無需填寫HTML表單元素。
b.頁面所涉及的數(shù)據(jù)表信息:
此頁面僅向系統(tǒng)提供用戶詳細的注冊信息,用到了數(shù)據(jù)表 larchives的操作。
c.頁面代碼分析:
<!--#include file="conn.asp"-->
<%
'叛斷Session變量是否超時
if isempty(session("user_id")) or session("user_id")="" then
   response.redirect "timeout.htm"
end if
user_id=request("user_id")

Set rs_lar = Server.CreateObject("ADODB.Recordset")
sql="select * from larchives where user_id=" & user_id
rs_lar.open sql,conn,3,2

Set connpic = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("data/picture.mdb")
connpic.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
Set rspic = Server.CreateObject("ADODB.Recordset")
sql="select * from pic where user_id=" & user_id
rspic.open sql,connpic,1,1

set rs_apply=server.createobject("adodb.recordset")
sql="select * from apply where for_id=" & user_id & " and user_id=" & session("user_id")
rs_apply.open sql,conn,1,1
if not(rs_apply.eof and rs_apply.bof) then
 willstr=rs_lar("netname") & "已向您發(fā)出交友請求"
end if
rs_apply.close
set rs_apply=nothing

set rs_friend=server.createobject("adodb.recordset")
sql="select * from friend where (for_id=" & session("user_id") & " and user_id=" & user_id & ") or (for_id=" & user_id & " and user_id=" & session("user_id") & ")"
rs_friend.open sql,conn,1,1
if not(rs_friend.eof and rs_friend.bof) then
 willstr=rs_lar("netname") & "是您的好友"
end if
rs_friend.close
set rs_friend=nothing

set rs_apply=server.createobject("adodb.recordset")
sql="select * from apply where user_id =" & session("user_id") & " and for_id=" & user_id
rs_apply.open sql,conn,1,1
if not(rs_apply.eof and rs_apply.bof) then
 willstr="您已向“" & rs_lar("netname") & "”發(fā)出交友請求,請靜候佳音!"
end if
rs_apply.close
set rs_apply=nothing


if rspic.eof and rspic.bof then
   picid=1
   cur=1
else
   rspic.pagesize=1
   cur=request("cur")
   if cur="" or clng(cur)<1 then cur=1
   if clng(cur)>rspic.pagecount then cur=rspic.pagecount
   rspic.absolutepage=cur
   picid=rspic("id")
end if
   pics=rspic.recordcount
%>
 
 
 
 
6.用戶登陸顯示頁:
default.asp頁面示例
 
             
a.頁面中需要用戶填寫的HTML表單元素有:
   
名稱 表單元素類型 含義 最大長度 
User_name Text 用戶登陸名稱 10 
Password Password 用戶登陸密碼 10 
b.頁面所涉及的數(shù)據(jù)表信息:
此頁面僅向系統(tǒng)提供用戶名和密碼。
c.頁面代碼分析:
    <form action="login.asp" method="POST">
 ……
 </ form >
7.用戶登陸失敗顯示頁
login.asp頁面示例

 

 

 


a.頁面中需要用戶填寫的HTML表單元素有:
      此頁面無需填寫HTML表單元素。
b.頁面所涉及的數(shù)據(jù)表信息:
此頁面僅向系統(tǒng)提供登陸錯誤信息。
c.頁面代碼分析:
     <%
Option Explicit
dim rs_user
dim sql
dim user_name,password

   user_name     =left(request("user_name"),10)
   password      =left(request("password"),10)

if password="" or user_name="" then
   response.write "<script language='java script'>"
   response.write "alert('數(shù)據(jù)填寫有錯!');"
   response.write "history.go(-1);"
   response.write "</script>"
   response.end
end if


if InStr(LCase(password),"'")<>0 or InStr(LCase(password),"or")<>0 then
  response.write "<script language='java script'>"
  response.write "alert('密碼不合法,請重新輸入!');"
  response.write "history.go(-1);"
  response.write "</script>"
  response.end
  end if

if server.HTMLEncode(user_name)<>user_name or InStr(user_name,"【")<>0 or InStr(user_name,"】")<>0 or InStr(user_name," ")<>0 or InStr(user_name," ")<>0 or InStr(user_name,"?")<>0 then
response.write "<script language='java script'>"
   response.write "alert('數(shù)據(jù)填寫有錯!');"
   response.write "history.go(-1);"
   response.write "</script>"
   response.end
   end if
 


8.用戶登陸成功顯示頁

your.asp頁面示例

 

 


a.頁面中需要用戶填寫的HTML表單元素有:
      此頁面無需填寫HTML表單元素。


b.頁面所涉及的數(shù)據(jù)表信息:
此頁面僅向系統(tǒng)提供登陸正確信息。本頁面用到了簡單用戶注冊信息表uaer_reg,用戶詳細注冊表 larchives,信息表leaveword,好友列表friend等。
c.頁面代碼分析:
<!--#include file="conn.asp"-->
<%
dim rs_lar,rs_word,rs_apply,rs_back,rs_friend,rs_user
dim sql

'叛斷Session變量是否超時
if isempty(session("user_id")) then
   response.redirect "timeout.htm"
end if

'叛斷此用戶是否已經(jīng)注冊
if session("user_id")=1 then response.redirect "notreg.htm"

Set rs_lar = Server.CreateObject("ADODB.Recordset")
sql="select * from larchives where user_id =" & session("user_id")
rs_lar.open sql,conn,3,2

'叛斷此用戶是否已經(jīng)提交檔案
if rs_lar.eof and rs_lar.bof then
  response.redirect "notregist.htm"
  response.end

 

end if
Set rs_word = Server.CreateObject("ADODB.Recordset")
sql="select * from leaveword where for_id=" & session("user_id") & " order by id desc"
rs_word.open sql,conn,1,1

set rs_apply=server.createobject("adodb.recordset")
sql="select * from apply where for_id=" & session("user_id")
rs_apply.open sql,conn,3,2

set rs_back=server.createobject("adodb.recordset")
sql="select * from back where for_id=" & session("user_id")
rs_back.open sql,conn,3,2

set rs_friend=server.createobject("adodb.recordset")
sql="select * from friend where for_id=" & session("user_id")
rs_friend.open sql,conn,3,2

Set rs_user = Server.CreateObject("ADODB.Recordset")
sql="select * from user_reg where user_id=" & session("user_id")
rs_user.open sql,conn,3,2

%>

 


§4.2.2 網(wǎng)友個人管理模塊
 網(wǎng)友個人管理模塊包括以下子模塊:
資料管理
相片管理
交友請求回復(fù)
留言管理
 資料管理模塊包括以下子頁面:
Edit.asp
Eadd.asp 
Delhy.asp
相片管理模塊包括以下子頁面:
sendphoto.asp 
addpic.asp
delpic.asp
交友請求回復(fù)管理頁
accept.asp
refuse.asp
delqq.asp
管理子模塊包含以下頁面
leaveword.asp
delliuyan.asp

 


1.用修改寫個人信息頁
edit.asp頁面示例

 
 
a.頁面中需要用戶填寫的HTML表單元素有:
   


名稱 表單元素類型 含義 最大長度 
name Text 真實姓名 10 
Home Text 籍貫 10 
company Text 所在單位 50 
Postalcode Text 郵編 6 
Tel Text 聯(lián)系電話 20 
Fresume Text 簡歷 200 
Netname Text 網(wǎng)名 10 
Homepage Text 主頁 50 
Email Text 郵箱 50 
Chartroom Text 常進的聊天室 50 
Sport Text 喜歡的運動 30 
Book Text 喜歡的書 50 
People Text 喜歡的人 30 
Interest Text 愛好 50 
Music Text 喜歡的音樂 50 
Adage Text 人生格言 50 
Character Text 性格簡介 50 
b.頁面所涉及的數(shù)據(jù)表信息:
 此頁面為用戶填寫個人信息。用到的數(shù)據(jù)表信息有l(wèi)archives的操作
c.頁面代碼分析:
   <!--#include file="conn.asp"-->
<%
'叛斷此用戶是否已經(jīng)入會
if session("user_id")="" then
     response.redirect "notreg.htm"
  response.end
end if

Set rs_lar = Server.CreateObject("ADODB.Recordset")
sql="select * from larchives where user_id=" & session("user_id")
rs_lar.open sql,conn,3,2
if rs_lar.eof and rs_lar.bof then
   response.redirect "notregist.htm"
   response.end
end if
%>
2.保存修改的個人信息頁
eadd.asp頁面示例
該頁面為用戶提交個人檔案后所看到的頁面

 

 a.頁面中需要用戶填寫的HTML表單元素有:
        此頁面無需填寫HTML表單元素。
 b.頁面所涉及的數(shù)據(jù)表信息:
 本頁面用到了詳細用戶注冊信息表larchives的操作。
 c.頁面代碼分析:
         代碼與用戶提交個人詳細信息代碼十分相似。詳情請參照以上代碼。
2.用戶刪除好友頁
delhy.asp頁面示例
該頁面為用戶刪除好友頁,刪除成功后直接跳轉(zhuǎn)到個人管理首頁,因此沒有頁面顯示。
面中需要用戶填寫的HTML表單元素有:
 本頁面無需填寫HTML表單元素。
頁面代碼分析:
<!--#include file="conn.asp"-->
<%
if request("id") = "" then
response.redirect"default.asp"
response.end
end if
set rs_id = Server.CreateObject("ADODB.Recordset")
sql = "select * from friend where id="& request("id")
rs_id.open sql,conn,3,2
rs_id.close
Set rs_del = Server.CreateObject("ADODB.Recordset")
sql="delete  from friend where id=" & request("id")
rs_del.open sql,conn,3,2

conn.close
response.redirect"your.asp"
response.end
%>

§4.2.3 網(wǎng)站管理模塊
 網(wǎng)站管理模塊包括以下幾個頁面:
Adminlogin.asp 管理員登陸頁
Adminpass.asp 帳號審核頁
Admin.asp 管理員頁
Deluser.asp  刪除用戶頁
各頁面聯(lián)系如下:


1.管理員登陸頁頁
adminlogin.asp頁面示例

 

a.頁面中需要用戶填寫的HTML表單元素有:
   
名稱 表單元素類型 含義 最大長度 
admin_name Text 用戶登陸名稱 14 
admin_Password Password 用戶登陸密碼 14 
b.頁面所涉及的數(shù)據(jù)表信息:
此頁面僅向系統(tǒng)提供管理員姓名和密碼。
c.頁面代碼分析:
<form method="POST" action="adminpass.asp">
......
......
</from>
 
 
 第五章 調(diào)試運行
 編好的程序難免有錯,必須反復(fù)地檢查改正,直至達到預(yù)定設(shè)計要求方能投入使用。程序調(diào)試的目的就是檢查并糾正程序中的錯誤,以保證程序的可靠運行。調(diào)試通常分三步進行:檢查程序是否存在錯誤,確定出錯的位置,糾正錯誤。
 經(jīng)過我的運行測試,我發(fā)現(xiàn)我的程序有以下問題:
系統(tǒng)的同步更新只做了一個庫存量的增加和減少,且?guī)齑媪康亩嗌倏梢詾樨摂?shù)。且沒有自動提醒。
所有的窗體都必須在1024×768分辨率下運行,否則系統(tǒng)會有很多東西顯示不出來。
用系統(tǒng)的功能處沒有實現(xiàn)交友雙方的直接留言界面,顯的界面很是死板。還有待提高。
當(dāng)系統(tǒng)在另外一臺計算機上運行時,由于路徑問題,系統(tǒng)將不能正常運行。
進銷查詢不是很簡化,庫存查詢沒實現(xiàn)模糊查詢。
每個文本框中字段的大小都沒有限制,可以輸入任意長度的字符串或數(shù)字。
整個系統(tǒng)不是很完善,代碼也是如此。數(shù)據(jù)庫中的數(shù)據(jù)大部分為文本型,換成其他類型會由于類型不匹配而導(dǎo)致程序出錯。
 總體來說系統(tǒng)完整性、安全性、簡約性還不是很好,有待完善。
結(jié)束語
 經(jīng)過兩個月的努力,這套交友管理系統(tǒng)的構(gòu)思、設(shè)計、上機運行調(diào)試已圓滿結(jié)束。在此期間,我查閱了許多資料,也得到了老師、同學(xué)的大力支持與幫助,我誠心的感謝他們!
 剛開始設(shè)計這套系統(tǒng)時遇到了好多難題。最主要的是不知從何入手,在指導(dǎo)老師的幫助下我對設(shè)計有了一個大概的了解。可是在具體編程時又遇到了不少的難題,有時一個很簡單的內(nèi)容不知為何就是不能運行,如果它得不到解決,后面的工作也無法進行。有時一天才解決一個小問題,效率很慢,真的有些想放棄了?墒墙(jīng)過老師、同學(xué)的幫助及自己的努力,在問題解決時,那種勝利的喜悅又是無法用言語來形容的。也就是在這種不斷出現(xiàn)問題的灰心和不斷解決問題的喜悅中,這套交友管理系統(tǒng)終于問世了。
 通過這個系統(tǒng)的制作,我體會到了ASP的優(yōu)點,學(xué)以致用,是學(xué)習(xí)的目的,也是學(xué)習(xí)的最好方法。它使我對面向用戶有了更新的認識,使我懂得得了只有越為用戶著想,才會越受歡迎。也告訴我以后做事一定要系統(tǒng)化、結(jié)構(gòu)化、思維一定要嚴密。因為任何計劃,只有嚴密的思考加上反復(fù)的推敲才會更完善。
 最后,我再次感謝幫助過我的人,尤其是我的老師,是她使我走入了ASP的大門。這次設(shè)計只是一個開始,今后的路還有很長,我會加倍努力,爭取設(shè)計出更多、更好、更實用的軟件為大家提供服務(wù)。希望這套交友管理系統(tǒng)能真正發(fā)揮它的作用,為用戶帶來方便!

 參考文獻
書名 作者 出版社 
《ASP+ACCESS組建動態(tài)網(wǎng)站》 劉韜、駱娟、何旭洪 人民郵電出版社 
《Visual Basic數(shù)據(jù)庫開發(fā)實例精粹》 郭瑞軍、唐邦民 電子工業(yè)出版社 
《網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用教程》 袁枚,林志英,劉勁 人民郵電出版社 
《網(wǎng)絡(luò)程序設(shè)計—ASP》 尚俊杰 清華大學(xué)出版社 
《ACCESS應(yīng)用技術(shù)教程》 史秀章 高等教育出版社 
《網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用教程》 林志英 人民郵電出版社 
《JAVA編程從基礎(chǔ)到實踐》 沈煒、楊世錫 電子工業(yè)出版社 

【ASP交友系統(tǒng)設(shè)計(一)】相關(guān)文章:

ASP在線教育系統(tǒng)(一)05-11

ASP05-29

ASP 3.0高級編程(二)05-29

學(xué)生信息管理系統(tǒng)設(shè)計開題報告07-20

基于PLC的斷路器型式試驗系統(tǒng)設(shè)計03-10

基于web的異地并行設(shè)計與制造系統(tǒng)研究06-02

消防聯(lián)動控制系統(tǒng)(一)05-11

職工工資管理系統(tǒng)的設(shè)計與開發(fā)論文開題報告09-15

基于電話網(wǎng)絡(luò)的熱網(wǎng)遠程控制系統(tǒng)設(shè)計05-11

雙容水箱串級液位控制系統(tǒng)設(shè)計 開題報告07-30