? ? ? ? 經常在網上沖浪的小伙伴們是不是很少人會去聊天室聊天呢?其實我們只要多留意一下就會發現其實很大聊天室都是由CGI程序或者用CGI程序的Applet維護 ,但是CGI程序CGI程序是很費時費力的,那么現在小編將為大家介紹ASP規劃聊天室的方法。
一、?聊?天?室?的?規?劃:?
1、?談?話?內?容?儲?存?方?式?的?選?擇:?在?客?戶?機?上?顯?示?即?時?談?話?的?內?容?應?以?什?么?方?式?儲?存?在?服?務?器?呢??ASP?有?兩?種?選?擇,?一?種?是?以?文?本?文?件?方?式,?一?種?是?以?數?據?庫?方?式。?但?筆?者?感?覺ASP?對?文?本?文?件?操?作?的?指?令?遠?不?如ADO(Active?Data?Object)?提?供?的?對?數?據?庫?操?作?的?指?令?多。?所?以?利?用ADO,ASP?能?對?數?據?庫?靈?活?地?操?作,?比?如?插?入、?刪?除、?更?新、?查?詢?等?等。?筆?者?選?擇Access?數?據?庫?來?儲?存?談?話?的?內?容。?該?數?據?庫?內?容?只?保?留?一?天(?可?根?據LAN?的?實?際?情?況?確?定?時?間?長?短)?的?談?話?內?容。?
2、?聊?天?室?界?面?的?設?計:?為?了?客?戶?能?夠?方?便?地?瀏?覽?站?點?的?內?容,?又?能?盡?可?能?地?顯?示?聊?天?室?的?內?容,?筆?者?在?一?幅?主?頁?里?設?計?了?三?幀。?左?邊?一?幀?顯?示?的?是?站?點?的Index。?右?邊?一?幀?又?分?成?上?下?兩?幀。?上?幀?占70%,?用?來?顯?示?當?前?聊?天?室?的?內?容;?下?幀?占30%,?用?來?提?供?一?個?文?本?輸?入?框?和?供?用?戶?反?饋?的?按?鈕。?
3、?進?入?聊?天?室?的?步?驟:?象?大?多?數?聊?天?室?一?樣,?首?先?應?該?提?供?給?用?戶?一?個?登?錄?界?面,?由?用?戶?輸?入?自?己?的?名?字?或?別?名?和?自?己?隨?意?給?定?的?密?碼。?如?果?輸?入?的?用?戶?名?與?線?的?用?戶?名?相?同,?則?提?示?用?戶?重?新?選?擇?用?戶?名?或?重?新?輸?入?密?碼,?以?保?證?在?線?的?所?有?用?戶?名?都?是?唯?一?的。?登?陸?成?功?后?進?入?聊?天?室,?內?容?顯?示?幀?顯?示“?歡?迎?加?入”?的?歡?迎?信?息。?用?戶?就?可?以?在?文?本?輸?入?區?內?輸?入?談?話?內?容?了。?
二、?設?計?過?程?和?開?發?技?巧:?
1、?設?計ODBC?系?統?數?據?源:?如?前?所?述,?本?開?發?采?用ASP?對?ADO?進?行?操?作,?因?此?必?須?先?對?數?據?源?進?行?設?置。?在NT?服?務?器?的?控?制?面?板?里?雙?擊ODBC?圖?標,?在?系?統DSN?頁?添?加?系?統DSN,?選?擇Microsoft?Access?Driver,Data?Source?Name?為‘fybchat',?Database?選?擇Chat?目?錄?下?的chat.mdb.?該?數?據?庫?包?括?下?面?幾?個?字?段:name,?content,?password,?chattime,?chatdate,?分?別?以?來?存?儲?姓?名、?談?話?內?容、?密?碼、?談?話?時?間?和?談?話?日?期。?
2、?登?錄?界?面?設?計:?登?錄?界?面?為?一html?頁,?包?含?一?些?警?告?信?息?和?一?個Form。?該Form?以?來?獲?取?帳號和?密?碼,?如?下?所?示:?
<form?method="post"?action="receivedata.asp">帳號:?
<input?type="text"?name="usname"?>密?碼:?
<input?type="password"?name="uspassword"?>?
</center?>?
<input?type="submit"?value="?進?入"?>?
<input?type="reset"?value="?重?填"?>?
</center?>?
<input?type="hidden"?name="content"?value=""?>?
</form>?
通?過?提?交?按?鈕?來?激?發receivedata.asp。?該ASP?文?件?主?要?來?保?證?在?聊?天?室?里?沒?有?兩?個?用?戶?是?同?帳號?的。?用?戶?提?交?信?息?后,?該?文?件?打?開chat.mdb?檢?查?是?否?已?經?有?該帳號,?如?果?有?但?密?碼?不?對?就?提?醒?用?戶?重?新?輸?入?密?碼,?如?果?沒?有?那?么?用?戶?就?順?利?進?入?了?聊?天?室。?進?入?聊?天?室?界?面?的?功?能?由?下?列?語?句?完?成:?
?<FRAMESET?ROWS="70%,30%"?>?
?<FRAME?SRC="forum.asp"?NAME="main"?MARGINWIDTH="1"? ?
?MARGINHEIGHT="1"?Noresize?>?
<FRAME?SRC="frft.asp?kname=?<%?=name%>"?NAME="footnotes"?
MARGINWIDTH="1"?Noresize?>?
?</FRAMESET?>?
注?意?這?里?有?一?個?技?巧,?通?過?參?數kname?將?用?戶?的?帳號?隱?藏?在?客?戶?的?瀏?覽?器?里?面?了,?這?樣?一?來,?用?戶?每?次?提?交?談?話?內?容?的?同?時?也?把?他?的帳號提?交?了。?
3、?文?本?輸?入?區?的?設?計:?文?本?輸?入?區?是?由frft.asp?產?生?的。?如?上?所?述,?用?戶?每?次?提?交?談?話?內?容?的?同?時?也?把?他?的?帳號?提?交?了,?用?戶?提?交?談?話?內?容?的?動?作?是?激?活forum.asp。?Forum.asp?的?作?用?是?刷?新?聊?天?室?的?內?容。Frft.asp?內?容?如?下?
<!DOCTYPE?HTML?PUBLIC?"?-//IETF//DTD?HTML//EN"?>?
<html?>?
<head?>?
<meta?http-equiv="Content-Type"?content="text/html;?charset=gb_2312-80"?>?
<meta?name="GENERATOR"?content="Microsoft?FrontPage?2.0"?>?
<title?>?
</head?>?
<body?>?
<%?kname=request.QueryString("kname")%?>?
<base?target="main"?>?
<form?name="fm1"?method="POST"?action="forum.asp">?
<p?align="center"?><input?type="text"?size="90"?name="content"?>? <p?align="center"?><input?type="button"?name="B1"?value="?提?交/?刷?新"?>?
<input?type="reset"?name="B2"?value="?重?寫"?>?
<input?type="hidden"?name="kname"?value="">
當我們不想在CGI或Applet的開發中費時費力的話,我們就可以利用ASP規劃聊天室,看完后你覺得對你有幫助嗎?
新聞熱點
疑難解答