程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> 利用ASP規劃聊天室

利用ASP規劃聊天室

編輯:關於ASP編程

     經 常 在Internet 上 沖 浪 的 網 友 恐 怕 很 少 有 人 沒 有 去 過 聊 天 室 胡亂神聊。 你 只 要 稍 微 留 意 一 下 就會 發 現 這 些 聊 天 室 大 多 是 用CGI 程 序 或 者 用java 開 發 的 Applet 維 護 的。 開 發 過 這 類CGI 或Applet 的 程 序 員 都 知 道, 這 種 開 發 工 作 是 費 時 費 力 的。 那 麼 有 沒 有 一 種 更 簡 單、 省 力 的 開 發 方 式 呢 ? 答 案 是 肯 定 的。 

       關 於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=

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved