- 相關推薦
ASP交友系統設計(一)
前 言
在科技不斷發展的今天,利用計算機進行現代化通訊已經成為我們身邊必部可少的工具。我們身處在一個知識日新月異、時刻充滿挑戰的時代,科技的飛速,知識不斷創新的社會。所以利用新的通訊方式增進同學見友誼,增進朋友之間的了解是時代所要求的。
作為當代大學生,應有長遠的目光和隨機應變的能力,應走在時間的前面,掌握最新的社會動態、最先進科學技術,以調整自己的知識結構和能力結構,去適應社會的發展。新世紀需要具有豐富現代科學知識的人;需要能夠獨立解決問題、完成工作的人;需要能獨當一面、時常挑戰自己極限的人;需要有創新意識的人。我們在不斷努力中學習做一個與時代并進的人。
在進入實習的階段中越來越覺得友誼的增進是必須的。俗話說人在社會,多一個朋友是條路,而且各種通訊方式的變更更是五花八門。因此我想做一個校友錄系統來增加一種通訊方式以方便我院學生的聯系。讓我院學生感受到雖然身處異地,卻隨時可以鼠標一點重新讓你有重歸校園的親切感。
我現在用文字形式將我做此系統的過程及其功能介紹展現給大家。由于是初次編寫,缺少經驗,可能有許多不完備或出錯的地方,誠懇希望老師們不吝指正。
關鍵詞: 校友錄系統、窗體、控件、數據庫
第一章 系統設計
§1.1 市場需求分析
隨著社會的發展,同學之間之間的學術交流,以及同學之間的相互聯系 ,等這些都必須利用計算機,因此用電子信息技術來交流已經成為社會發展的趨勢 。在交流中大家可以重新一起回憶往事。有新鮮事大家可以一起交流,有疑問可以通過留言方式來獲取校友提供的信息。這樣既增進了同學之間的友誼同時也得到了自己想要獲取的信息。
計算機技術的迅速發展帶動其它技術的發展,自然也推動著信息技術高度發展快速前進。信息、信息技術和信息化的重要性日益被人們所認識,高科技電子通訊也日益被大眾所接受,所以現代化通訊方式是今后發展的趨勢,,所以建立一套符合實際的、簡便快捷的、易于掌握的信息系統勢在必行。
§1.2 系統設計
§1.2.1 系統目標設計
通過此系統可以輕松瀏覽自己或與自己好友的詳細情況,注冊會員后還可輕松添加、修改、刪除好友信息。
§1.2.2 開發設計思想
本系統的開發設計思想:
★系統應符合規定,滿足大家日常通訊的工作需要,并達到操作過程中的直觀、方便、實用、安全等要求;
★系統采用模塊化程序設計方法,既便于系統功能的各種組合和修改,又便于未參與開發的技術維護人員的補充和維護;
★系統應具備數據庫維護功能,及時根據用戶需求進行數據的添加,刪除、修改、等操作。
★系統中還應具備有信息查詢功能,以便使管理人員方便、及時地了解各類有關情況,使系統真正地幫助并提高管理員的管理水平,使管理方便、快捷、準確、無誤。
§1.3 校友錄系統的開發環境及其可擴展性
§1.3.1 校友錄系統的開發環境
(1)硬件環境:
主機:電腦486DX/100,推薦Pentium200以上;
內存:最低要求8MB,最好在32M內上;
硬盤:程序需用硬盤容量約2M,由數據所需空間使用情況而定;
顯示器:標準VGA彩色(黑白)顯示器;1024×768;
(2)軟件配置:
操作系統:windowsXP
系統開發軟件:Dreamweaver MX
數據庫開發軟件:Access2000
操作環境: Asp+Access ,IIS4.0
1.ASP:20世紀末,隨著計算機科學的發展,數據庫技術在Internet中的應用越來越廣泛,為廣大網絡用戶提供了更加周到和人性化的服務。個性化已逐漸成為當今Web應用的潮流。本文研究了一種基于數據關聯規則網上論壇系統,論壇也稱為BBS,BBS是BULLETIN BOARD SYSTEM的縮寫,意即電子公告板,一種在INTERNET上常用的用于信息服務的web系統,他的主要服務是用來幫助瀏覽者相互溝通,吸引用戶、服務用戶的。
2.IIS:WE務器是Web應用程序的心臟。IIS(Internet Information Server)是微軟推出的Windows NT Option Pack的主要成員,作為Win2000server的擴展,自推出以來已經有了很大發展,其體系結構是當今市場上最受關注的Web服務器之一。新推出的IIS4.0版本增強了系統安全性,具有服務器端腳本開發調試,內容管理和站點分析,崩潰防護,內置JAVA虛擬機及全面支持ASP等強大功能。
IIS與ASP相結合:
在過去,客戶機/服務器結構的設計與Web的相關技術幾乎處于平行線上,兩者相互獨立并無法作出集成性的設計。現在我們利用IIS+ASP構成三層式Web結構(如圖2.1所示)的中間一層,將客戶機/服務器結構與Web密切結合,完成前后端兩者的集成輸出功能,使得Web站點的開發更方便,實現的功能更強大! ±肐IS+ASP技術來集成Web前后端所帶來的強大效益可歸結為以下幾個方面:
(1)減少構建和維護成本
(2)加快聯機過程
(3)軟件集中在服務器端開發管理
(4)端可使用任何瀏覽器(IE、Netscape…..)
(5)端可存取任何數據庫 (SQL、Access…..)
(6)用任何腳本語言開發 (VBScript、java script、PERL…..)
ASP的內部特點:
ASP提供了6個功能強大的內部對象,每個對象具有各自的屬性(Property)、方法(Method),有的還擁有數據集合(Collection)與事件(Event),它們共同完成Web中的一些重要工作。這6個對象及其功能描述如表2.1所示。
表2.1 ASP 內部6大對象及其功能
對象名稱 功能描述
Request 從客戶端取得信息
Response 將信息送給客戶端
Server 提供一些Web服務器工具
Session 儲存在一個Session內的用戶信息,該信息僅可被該用戶訪問
Application 在一個ASP-Application中讓不同的客戶端共享信息
ObjectContext 配合Microsoft Transaction服務器進行分布式事務處理
合理地運用這些對象可以使原本復雜,煩瑣的工作變得簡捷而條理清晰。我們可以用以下的語法直接使用這些對象:對象/屬性/方法/數據集合
3.GLOBAL文件
每一個以Active Server Pages為基礎的應用程序都擁有一個Global.asa文件(ASA后綴名其實是Active Server Application的縮寫),它位于每一個應用程序的基點目錄之下。當Active Server Pages做下面兩個動作時,Server便會去讀Global.asa文件:(1)Web Server啟動之后,一個應用程序目錄中任一個ASP文件被提出第一個HTTP請求(Request)時。
(2)不具有任何Session的客戶端向Server請求一個ASP文件時。 前面已經提到Application和Session這兩個ASP的內部對象。Application對象內的信息供所有正在執行該應用程序的用戶分享,它創建于Web Server啟動后一個應用程序中任一ASP文件被提出第一個HTTP請求時,結束于Server端停止運行。而Session對象僅屬于一位用戶,維持一個用戶端的信息,其他用戶無法訪問,它創建于一個不具有Session的用戶向Server請求一個ASP文件時,結束于該Session到期(即用戶端超過某時間段沒有向Server提出要求或刷新Web頁面)或Abandon語句的調用?梢,Global.asa文件的調用與Application與Session這兩個對象密切相關。事實上我們通常在Global。asa文件中寫入以下內容:
(1) Application或Session的開始事件(Start-event)。
(2) Application或Session的結束事件 (End-event)。
這樣,在一個Application或Session對象被創建或結束時,系統會自動完成Global.asa文件中寫入的相應事件。值得注意的是,如果一個Application與一個Session同時開始,Active Server Pages會先處理Application的開始事件,而如果一個Application與一個Session同時結束,Active Server Pages則會先處理Session的結束事件。
CGI(Common Gateway Interface,通用網關接口)也是Internet上一種功能強大的Web頁面技術,其工作方式有別于ASP。我們現對二者進行比較。Active Server Pages開發Web應用程序的特點:。1) 完全嵌入HTML,與HTML、Script語言完美結合。。2) 無須手動編譯和鏈接程序!。3) 面向對象,并可擴展ActiveX Server組件功能!。4) 使用腳本語言(java script、VBScript或PERL)編寫!。5) 存取數據庫輕松容易(使用ADO組件)!。6) 可使用任何語言編寫自己的ActiveX Server組件!。7) 無瀏覽器兼容問題!。8) 程序代碼隱藏,客戶端僅能看到ASP輸出的HTML文件。。9) 縮短Web開發時間! ∠啾戎,使用CGI開發Web應用程序具有以下缺點:。1) 不易與HTML文件集成!。2) 須使用其他較復雜的語言來開發CGI程序。。3) 程序開發時間較長!。4) 存取數據庫不容易。。5) 每個CGI程序被不同用戶執行時都得重新執行一次,并占去Server的一個端口(Port),降低Server效率。 可見,ASP在數據庫訪問、與HTML的集成、提高服務器的效率等諸多方面都優于CGI,更適應Web應用程序開發的需要,因此本文選擇了ASP作為個性化頁面生成器的開發工具。 ACCESS數據庫開發能匯集各種信息以供查詢、存儲和檢索。Access 的優點在于它能使用數據表示圖或自定義窗體收集信息。數據表示圖提供了一種類似于 Excel 的電子表格,可以使數據庫一目了然。另外,Access 允許創建自定義報表用于打印或輸出數據庫中的信息。Access也提供了數據存儲庫,可以使用桌面數據庫文件把數據庫文件置于網絡文件服務器,與其他網絡用戶共享數據庫。Access 是一種關系數據庫工具,關系數據庫是已開發的最通用的數據庫之一。如上所述,Access 作為關系數據庫開發具備了許多優點,可以在一個數據包中同時擁有桌面數據庫的便利和關系數據庫的強大功能。
§1.3.2 交友錄管理系統的可擴展性
由于時間的限制,且個人的水平有限,在該系統中有很多未涉及的地方。辟如說:系統沒有歌曲下載和信息下載功能,沒有各友情網站之間的連接。今后,可對此系統在這方面加以改進,這樣交友錄才會越來越壯大,我們的設計才會越來越健全。
還有,系統的同步更新做的并不是很完善,統計也沒有具體去做。這是一個重要的環節,可以努力去開發,做好后既可以簡化系統的復雜性,又可以提高系統的安全性。
在這里講這些,只是希望讀者能夠注意到這幾點也是非常重要的,是具有相當可擴展性的環節。為讀者改進這個系統的做一個簡單的提示。
系統功能的完善有待我們共同去努力!
第二章 總體設計
總體設計階段的基本目的是用比較抽象概括的方式確定系統如何完成預定的任務,也就是說,應該確定系統的物理配置方案,并且進而確定組成系統的每個程序的結構。因此,總體設計階段主要由兩個小階段組成。首先是系統設計,從數據流圖出發設計完成系統功能的若干種合理的物理方案,然后進行軟件結構設計,確定軟件由哪些模塊組成以及這些模塊之間的動態調節應用關系。層次圖和結構圖是描繪軟件結構的常用工具。
§2.1 系統功能分析
本系統是建立在WinXP 平臺上,用VB語言開發設計,用Access來記錄數據。為的是面向用戶,其中包括好友注冊,好友個人管理,網站會員管理等。本系統的總體功能是通過好友注冊,好友登陸驗證,對好友進行管理。方便用戶,代替了以前的手動操作。大大為交友者和管理者雙方節省了時間。
系統管理包括用戶管理、修改個人信息、退出系統。
用戶管理包括添加、刪除用戶及確定、退出。
修改個人信息包括驗證、確定、取消。
交友錄的運行包括管理員管理、好友留言信息預覽、好友查詢。
管理員管理是通過對姓名、以及具體好友的個人信息、進行添加、刪除、修改、更新。
交友留言信息預覽是通過調用數據庫里信息來實現。
校友查詢通過好友的姓名,來查詢實現。
版權聲明是為了保證本系統不被抄襲。
幫助即本系統的說明書。
§2.2 系統功能模塊劃分
在系統功能分析的基礎上,考慮Visual Basic 6.0程序編制的特點,得到如下圖所示的系統功能模塊圖。
(系統功能模塊如上圖)
第三章 數據庫設計
數據庫在任何系統中占有非常重要的地位,它是數據的來源。數據庫的結構好壞,將直接影響到系統功能的實現。
所以建庫前要做好充分的準備。首先,要了解用戶各個方面的需求,他們的需求主要體現在各種信息的提供、保存、更新、查詢。其次,要收集基本的數據,并理清其中的關系,以備后用。
根據交友管理系統的要求,通過對好友管理工作過程的內容和數據流程分析,設計如下面所示的數據項和數據結構:
用戶信息包括的數據項有:user_id(自動編號),用戶名,密碼和注冊日期 。
用戶詳細注冊信息包括的數據項有:lar_id(自動編號), 用戶ID,姓名,生日,年齡,學歷,職業,電話,性格,星座等。
留言信息包括的數據項有:ID(自動編號),留言者姓名,留言內容,對方用戶ID,留言者ID。
好友信息包括的數據項有: ID(自動編號),用戶名,性別,地區。
有了上面的數據結構、數據項和數據流程,我們就能進行下面的數據庫設計。
§3.1 概念結構設計
得到上面的數據項和數據結構以后,就可以設計出滿足用戶的各種窗體,以及它們之間的關系,為后面的邏輯結構設計打下基礎。
本實例根據上面的設計規劃出的實體有:用戶信息實體、書類信息實體、書簡介信息實體、進書表信息實體,各個實體具體的描述E-R圖如下。
用戶管理信息實體的E-R圖如下:
好友信息實體的E-R圖如下:
好友簡介信息實體的E-R圖如下:
§3.2 邏輯結構設計
數據庫的概念結構設計完成后,現在可以將上面的數據庫概念結構轉化為數據庫的邏輯結構。
我現在將用下面的一個表來表示交友系統數據庫中一個表的設計。
用戶簡單信息注冊表如下:
列名 數據類型 字段大小 必填字段 默認值
User_id 整型 4
User_name 文本 18 是
Password 文本 18 是
用戶詳細注冊信息表如下:
列名 數據類型 字段大小 必填字段 默認值
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 是
用戶留言信息表如下:
列名 數據類型 字段大小 必填字段 默認值
ID 整型 4
NetNAME 文本 4 是
Word 文本 255 是
For_id 4 4
User_id 貨幣 4
好友信息表如下:
列名 數據類型 字段大小 必填字段 默認值
ID 整型 4
NetNAME 文本 50 是
sex 文本 50 是
home 文本 50 是
For_id 整型 4
User_id 整型 4
§3.3 數據庫的實現
經過前面的需求分析和概念結構設計以后,F在就可以在Access數據庫中創建數據表了。
打開Access軟件,新建數據庫命名為“date.mdb”,目的是為了方便用戶理解。在其上通過表設計器分別新建用戶信息表、好友信息表、好友詳細信息表、留言信息表。
在用戶信息表中添字段時,必須考慮到用戶名和密碼的數據類型和字段大小。經過我的考慮,我定用戶名和密碼的數據類型為文本型即什么類型的字符都可以。定用戶名的字段大小為18個字符,密碼的字段大小為18個字符。
同理,我考慮好了用戶簡單信息表、用戶詳細信息表、留言信息表,以及好友信息表中應填寫的字段名,且經過考察,定下了這些字段的數據類型和字段大小。
在填寫記錄時,一定要謹慎,和字段名必須相對應,且要符合字段名的數據類型和字段大小。我按照自己定下的規格,將自己收集到的數據填寫在了相應的表中。
第四章 系統詳細設計
有了上面的系統分析和數據庫分析,便可以利用ASP進行系統的設計了。在桌面建立“FRIEND在其下建立“IMAGES,和“DATE下分別存放生成文件,圖片文件和數據庫文件。
§4.1 主界面的設計及分析
運行ASP,新建一個虛擬目錄“FRIEND”,新建站點。
建立交友系統主控界面如下圖:
(圖4.1.1)
其上有上有各種類型的菜單選項,如好友注冊、個人檔案、相片上傳、檔案注冊、好友登陸。以及下一級子菜單?筛鶕约旱男枨筮M行選擇。且工具欄上有相對應的快捷按鈕,方便用戶,為用戶節省時間。
窗體右面的類型表即書類型和書類型代號的對應表是為了提醒用戶,方便用戶,讓用戶不必強行記憶這么多東西,就是忘了也可方便查找。
§4.2 各界面的設計及分析
§4.2.1 網友注冊模塊
網友注冊包括以下子模塊:
會員注冊
reg.asp
regsubmit.asp
regok.asp
register.asp
ladd.asp
read.asp
用戶登陸驗證
default.asp
login.asp
your.asp
各子模塊聯系如下:
用戶注冊頁面:
reg.asp頁面示例
a.頁面中需要用戶填寫的HTML表單元素有:
名稱 表單元素類型 含義 最大長度
User_name Text 用戶登陸名稱 10
Password Password 用戶登陸密碼 10
Password_two Password 確認密碼 10
b.頁面所涉及的數據表信息:
此頁面僅向系統提供用戶名和密碼。
c.頁面代碼分析:
<%
if session("user_id")<>1 then
response.redirect "havereg.htm"
end if
%>
注冊不成功頁面:
regsubmit.asp頁面示例
a.頁面中需要用戶填寫的HTML表單元素有:
此頁面無需填寫HTML表單元素。
b.頁面所涉及的數據表信息:
此頁面僅向系統提供用戶住冊名稱和密碼。
c.頁面代碼分析:
<!--#include file="conn.asp"-->
<%取得提交表單的用戶名,密碼。
user_name =left(request("user_name"),10)
password =left(request("password"),10)
如果密碼為空終止程序執行。
if password="" then
response.write "數據有錯!"
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
如果用戶住冊成功直接跳轉到regok.asp
response.redirect "regok.asp"
response.end
else
%>
用戶住冊成功頁:
regok.asp頁面示例a.頁面中需要用戶填寫的HTML表單元素有:
此頁面無需填寫HTML表單元素。
b.頁面所涉及的數據表信息:
此頁面沒有涉及數據庫表的信息
用戶填寫個人信息頁
register.asp頁面示例
a.頁面中需要用戶填寫的HTML表單元素有:
名稱 表單元素類型 含義 最大長度
name Text 真實姓名 10
Home Text 籍貫 10
company Text 所在單位 50
Postalcode Text 郵編 6
Tel Text 聯系電話 20
Fresume Text 簡歷 200
Netname Text 網名 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.頁面所涉及的數據表信息:
此頁面為用戶填寫個人信息。
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
'叛斷此用戶是否已經入會
if session("user_id")="1" 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 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.頁面所涉及的數據表信息:
此頁面僅向系統提供用戶詳細的注冊信息,用到了數據表 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") & "已向您發出交友請求"
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") & "”發出交友請求,請靜候佳音!"
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.頁面所涉及的數據表信息:
此頁面僅向系統提供用戶名和密碼。
c.頁面代碼分析:
<form action="login.asp" method="POST">
……
</ form >
7.用戶登陸失敗顯示頁
login.asp頁面示例
a.頁面中需要用戶填寫的HTML表單元素有:
此頁面無需填寫HTML表單元素。
b.頁面所涉及的數據表信息:
此頁面僅向系統提供登陸錯誤信息。
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('數據填寫有錯!');"
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('數據填寫有錯!');"
response.write "history.go(-1);"
response.write "</script>"
response.end
end if
8.用戶登陸成功顯示頁
your.asp頁面示例
a.頁面中需要用戶填寫的HTML表單元素有:
此頁面無需填寫HTML表單元素。
b.頁面所涉及的數據表信息:
此頁面僅向系統提供登陸正確信息。本頁面用到了簡單用戶注冊信息表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
'叛斷此用戶是否已經注冊
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
'叛斷此用戶是否已經提交檔案
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 網友個人管理模塊
網友個人管理模塊包括以下子模塊:
資料管理
相片管理
交友請求回復
留言管理
資料管理模塊包括以下子頁面:
Edit.asp
Eadd.asp
Delhy.asp
相片管理模塊包括以下子頁面:
sendphoto.asp
addpic.asp
delpic.asp
交友請求回復管理頁
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 聯系電話 20
Fresume Text 簡歷 200
Netname Text 網名 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.頁面所涉及的數據表信息:
此頁面為用戶填寫個人信息。用到的數據表信息有larchives的操作
c.頁面代碼分析:
<!--#include file="conn.asp"-->
<%
'叛斷此用戶是否已經入會
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.頁面所涉及的數據表信息:
本頁面用到了詳細用戶注冊信息表larchives的操作。
c.頁面代碼分析:
代碼與用戶提交個人詳細信息代碼十分相似。詳情請參照以上代碼。
2.用戶刪除好友頁
delhy.asp頁面示例
該頁面為用戶刪除好友頁,刪除成功后直接跳轉到個人管理首頁,因此沒有頁面顯示。
面中需要用戶填寫的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 網站管理模塊
網站管理模塊包括以下幾個頁面:
Adminlogin.asp 管理員登陸頁
Adminpass.asp 帳號審核頁
Admin.asp 管理員頁
Deluser.asp 刪除用戶頁
各頁面聯系如下:
1.管理員登陸頁頁
adminlogin.asp頁面示例
a.頁面中需要用戶填寫的HTML表單元素有:
名稱 表單元素類型 含義 最大長度
admin_name Text 用戶登陸名稱 14
admin_Password Password 用戶登陸密碼 14
b.頁面所涉及的數據表信息:
此頁面僅向系統提供管理員姓名和密碼。
c.頁面代碼分析:
<form method="POST" action="adminpass.asp">
......
......
</from>
第五章 調試運行
編好的程序難免有錯,必須反復地檢查改正,直至達到預定設計要求方能投入使用。程序調試的目的就是檢查并糾正程序中的錯誤,以保證程序的可靠運行。調試通常分三步進行:檢查程序是否存在錯誤,確定出錯的位置,糾正錯誤。
經過我的運行測試,我發現我的程序有以下問題:
系統的同步更新只做了一個庫存量的增加和減少,且庫存量的多少可以為負數。且沒有自動提醒。
所有的窗體都必須在1024×768分辨率下運行,否則系統會有很多東西顯示不出來。
用系統的功能處沒有實現交友雙方的直接留言界面,顯的界面很是死板。還有待提高。
當系統在另外一臺計算機上運行時,由于路徑問題,系統將不能正常運行。
進銷查詢不是很簡化,庫存查詢沒實現模糊查詢。
每個文本框中字段的大小都沒有限制,可以輸入任意長度的字符串或數字。
整個系統不是很完善,代碼也是如此。數據庫中的數據大部分為文本型,換成其他類型會由于類型不匹配而導致程序出錯。
總體來說系統完整性、安全性、簡約性還不是很好,有待完善。
結束語
經過兩個月的努力,這套交友管理系統的構思、設計、上機運行調試已圓滿結束。在此期間,我查閱了許多資料,也得到了老師、同學的大力支持與幫助,我誠心的感謝他們!
剛開始設計這套系統時遇到了好多難題。最主要的是不知從何入手,在指導老師的幫助下我對設計有了一個大概的了解?墒窃诰唧w編程時又遇到了不少的難題,有時一個很簡單的內容不知為何就是不能運行,如果它得不到解決,后面的工作也無法進行。有時一天才解決一個小問題,效率很慢,真的有些想放棄了。可是經過老師、同學的幫助及自己的努力,在問題解決時,那種勝利的喜悅又是無法用言語來形容的。也就是在這種不斷出現問題的灰心和不斷解決問題的喜悅中,這套交友管理系統終于問世了。
通過這個系統的制作,我體會到了ASP的優點,學以致用,是學習的目的,也是學習的最好方法。它使我對面向用戶有了更新的認識,使我懂得得了只有越為用戶著想,才會越受歡迎。也告訴我以后做事一定要系統化、結構化、思維一定要嚴密。因為任何計劃,只有嚴密的思考加上反復的推敲才會更完善。
最后,我再次感謝幫助過我的人,尤其是我的老師,是她使我走入了ASP的大門。這次設計只是一個開始,今后的路還有很長,我會加倍努力,爭取設計出更多、更好、更實用的軟件為大家提供服務。希望這套交友管理系統能真正發揮它的作用,為用戶帶來方便!
參考文獻
書名 作者 出版社
《ASP+ACCESS組建動態網站》 劉韜、駱娟、何旭洪 人民郵電出版社
《Visual Basic數據庫開發實例精粹》 郭瑞軍、唐邦民 電子工業出版社
《網絡數據庫應用教程》 袁枚,林志英,劉勁 人民郵電出版社
《網絡程序設計—ASP》 尚俊杰 清華大學出版社
《ACCESS應用技術教程》 史秀章 高等教育出版社
《網絡數據庫應用教程》 林志英 人民郵電出版社
《JAVA編程從基礎到實踐》 沈煒、楊世錫 電子工業出版社
【ASP交友系統設計(一)】相關文章:
ASP在線教育系統(一)05-11
ASP05-29
ASP 3.0高級編程(二)05-29
學生信息管理系統設計開題報告07-20
基于PLC的斷路器型式試驗系統設計03-10
基于web的異地并行設計與制造系統研究06-02
消防聯動控制系統(一)05-11
職工工資管理系統的設計與開發論文開題報告09-15
基于電話網絡的熱網遠程控制系統設計05-11
雙容水箱串級液位控制系統設計 開題報告07-30