国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Dreamweaver MX 2004網(wǎng)站短消息系統(tǒng)開發(fā)教程
當(dāng)我們登錄到某些論壇或社區(qū)時(shí),在頁(yè)面中會(huì)出現(xiàn)“短消息”提示對(duì)話框,用于提醒登錄用戶查收、管理站務(wù)短消息。該系統(tǒng)即為網(wǎng)站短消息系統(tǒng)。它主要用于網(wǎng)站管理員發(fā)送站務(wù)管理信息,和注冊(cè)用戶好友之間的相互聯(lián)系、溝通。本文將以Dreamweaver MX 2004為基礎(chǔ),結(jié)合Access 2003后臺(tái)數(shù)據(jù)庫(kù),實(shí)現(xiàn)一個(gè)完整的網(wǎng)站短消息系統(tǒng)。讓你的網(wǎng)站更加豐富多采,個(gè)性化十足。

  一、短信系統(tǒng)分析與開發(fā)準(zhǔn)備

  1.短信系統(tǒng)功能說(shuō)明

  (1)因?yàn)槎滔⑾到y(tǒng)必須存在于要求登錄會(huì)員系統(tǒng)中,所以需要一個(gè)簡(jiǎn)單的用戶注冊(cè)和登錄。

  (2)每位用戶擁有屬于自己的收件箱和發(fā)件箱。

  (3)發(fā)送的消息在對(duì)方登錄時(shí)應(yīng)該獲得提醒前去查閱。

  (4)批量刪除消息的功能(其實(shí)是不顯示而已)。

  (5)群發(fā)消息功能(可以對(duì)幾個(gè)用戶發(fā)出同樣的消息)。

  (6)用戶可以自定義好友組。

  2.建立Web共享

  為了可以在本機(jī)對(duì)所開發(fā)的Web程序進(jìn)行測(cè)試、預(yù)覽,我們需要在本地磁盤上對(duì)開發(fā)目錄做“Web共享”操作。

  (1)在Windows 2000/XP中,單擊“開始→設(shè)置→控制面板”菜單項(xiàng),在出現(xiàn)的對(duì)話框中雙擊“添加或刪除程序”圖標(biāo),在出現(xiàn)的對(duì)話框中單擊“添加/刪除Windows組件”按鈕,然后在出現(xiàn)的對(duì)話框中單擊“Internet信息服務(wù)”選項(xiàng),單擊“下一步”按鈕,將Windows XP安裝光盤置入光驅(qū),即開始安裝和配置“Internet信息服務(wù)”組件。安裝完成,單擊“完成”按鈕即可。

  注意:在Windows 98中,需要安裝PWS(Personal Web Server,個(gè)人Web服務(wù))。

  (2)在本地磁盤上建立目錄“Smail”,如C:\smail,用于存放“短消息系統(tǒng)”所有的文件。

  (3)右鍵單擊該目錄,在出現(xiàn)的菜單中選擇“屬性”命令,在出現(xiàn)的對(duì)話框中單擊“Web共享”選項(xiàng)卡,單擊“共享這個(gè)文件夾”選項(xiàng),然后在出現(xiàn)的對(duì)話框中單擊“目錄瀏覽”選項(xiàng)即可。

  完成后你可以通過(guò)http://localhost/Smail來(lái)訪問(wèn)存在于該目錄中的文件。

  3.數(shù)據(jù)庫(kù)設(shè)計(jì)

  這里,我們使用Access 2003作為站點(diǎn)的后臺(tái)數(shù)據(jù)庫(kù),在前面建立的“Smail”目錄中建立一個(gè)名字為“Smail”的數(shù)據(jù)庫(kù),根據(jù)需要的功能,我們?cè)趲?kù)中建立3個(gè)數(shù)據(jù)表。

  (1)用戶信息表:需要用戶登錄自然要有存儲(chǔ)用戶信息的數(shù)據(jù)表,下面是一個(gè)簡(jiǎn)單的用戶信息表結(jié)構(gòu)。

字段名數(shù)據(jù)類型長(zhǎng)度默認(rèn)值備注
UID自動(dòng)編號(hào)長(zhǎng)整型-設(shè)置為“主鍵”
用戶文本20-
密碼文本12-

  注意:在設(shè)計(jì)完“用戶信息表”后直接在表中加入了一些用戶名作為系統(tǒng)開發(fā)過(guò)程中測(cè)試使用。

  (2)短消息內(nèi)容表:用于存放短消息的內(nèi)容以及相關(guān)信息。

字段名數(shù)據(jù)類型長(zhǎng)度默認(rèn)值備注
SID自動(dòng)編號(hào)長(zhǎng)整型-設(shè)置為“主鍵”
發(fā)件人文本20-對(duì)應(yīng)用戶信息表中的用戶名
發(fā)件時(shí)間日期/時(shí)間-Now()當(dāng)發(fā)件內(nèi)容提交時(shí)讀取服務(wù)器系統(tǒng)時(shí)間
消息內(nèi)容備注--消息內(nèi)容存放字段
發(fā)件顯示是/否-True值為“True”表示顯示,“False”表示不顯示
收件人文本20-對(duì)應(yīng)用戶信息表中的用戶名
收件時(shí)間日期/時(shí)間--收件人閱讀消息內(nèi)容的時(shí)間
收件顯示是/否-True值為“True”表示顯示,“False”表示不顯示

  (3)好友組信息表:由于希望實(shí)現(xiàn)方便的群發(fā)功能,因此創(chuàng)建該表用來(lái)記錄用戶常用的發(fā)件對(duì)象集合。

字段名數(shù)據(jù)類型長(zhǎng)度默認(rèn)值備注
ZID自動(dòng)編號(hào)長(zhǎng)整型-設(shè)置為“主鍵”
組名文本20-用戶自定義的組名稱
組成員文本200-組中的成員名字,之間用“,”分隔
組屬于文本20-該組屬于的用戶

  二、在Dreamweaver MX 2004中建立站點(diǎn)

  1.建立站點(diǎn)

  (1)啟動(dòng)Dreamweaver MX 2004,在歡迎頁(yè)面上單擊“Dreamweaver Site…”(Dreamweaver站點(diǎn))選項(xiàng),啟動(dòng)創(chuàng)建站點(diǎn)向?qū)А?/p>

  (2)在“Basic”(基本)模式下建立站點(diǎn),首先輸入站點(diǎn)名稱“短消息系統(tǒng)”。單擊“Next”按鈕。

  (3)在出現(xiàn)的對(duì)話框中,詢問(wèn)當(dāng)前站點(diǎn)使用何種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)開發(fā)。單擊“Yes,I want to......”選項(xiàng),然后選擇“ASP VBScript”選項(xiàng)。單擊“Next”按鈕。

  (4)在出現(xiàn)的對(duì)話框中,詢問(wèn)對(duì)測(cè)試文件存放、預(yù)覽等選項(xiàng),一般我們均在本地測(cè)試系統(tǒng),這里選擇前面建立的目錄即可,如C:\smail。單擊“Next”按鈕。

  (5)在出現(xiàn)的對(duì)話框中,詢問(wèn)當(dāng)前站點(diǎn)的測(cè)試路徑,我們按照先前定義的“Web共享”目錄名輸入“http://localhost/Smail/”后單擊“Test URL”(測(cè)試URL)按鈕,系統(tǒng)提示通過(guò)測(cè)試,單擊“確定”按鈕。單擊“Next”按鈕。

  (6)在出現(xiàn)的對(duì)話框中,詢問(wèn)你完成后的頁(yè)面是否及時(shí)更新到其他機(jī)器中,該選項(xiàng)主要針對(duì)團(tuán)隊(duì)開發(fā)設(shè)立,讓你的同事可以隨時(shí)了解你開發(fā)過(guò)程中的改動(dòng),單擊“No”選項(xiàng)。單擊“Next”按鈕。

  (7)在出現(xiàn)的對(duì)話框中,顯示站點(diǎn)定義完畢的一些信息,直接單擊“Done”(完成)按鈕,完成“Smail”站點(diǎn)的建立。

  2.建立數(shù)據(jù)源鏈接

  在Dreamweaver中進(jìn)行動(dòng)態(tài)網(wǎng)頁(yè)開發(fā),必須先要與數(shù)據(jù)庫(kù)鏈接。在歡迎窗口上選擇“ASP VBScript”選項(xiàng)創(chuàng)建一個(gè)新文件。單擊“Application”(應(yīng)用程序)工作面板,單擊“Database”(數(shù)據(jù)庫(kù))選項(xiàng)卡,然后單擊“+”按鈕,選擇“Custom Connection String”(自定義連接字符串)命令,在出現(xiàn)的對(duì)話框中進(jìn)行鏈接設(shè)置。其中:

  “Connection name”(連接名稱):Smail。

  “Connection string”(連接字符串): Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Smail\smail.mdb。

  注意:這里的數(shù)據(jù)源位置C:\Smail\smail.mdb,即是你前面存放數(shù)據(jù)庫(kù)的位置,需要根據(jù)你自己的具體情況修改。

  “Dreamweaver should connect”(Dreamweaver應(yīng)連接):Using driver on this machine(使用本地計(jì)算機(jī)上的驅(qū)動(dòng)程序)。

  完成后單擊“Test”(測(cè)試)按鈕,如果鏈接成功則會(huì)出現(xiàn)“Connection was made successfully”提示對(duì)話框。

  3.決定系統(tǒng)必要的文件和操作

  根據(jù)需要的功能,我們必須先設(shè)定好需要開發(fā)的頁(yè)面及其相應(yīng)的功能。

  (1)用戶注冊(cè)、登錄以及必要的信息提示。包括:

  Default.asp(用戶登錄頁(yè))、Login.asp(新用戶注冊(cè)頁(yè))、LoginError.asp(新用戶注冊(cè)重名提示頁(yè))、Error.asp(登錄錯(cuò)誤后轉(zhuǎn)向的錯(cuò)誤提示頁(yè))、Restrict.asp(限制未登錄用戶訪問(wèn)的代碼頁(yè))等。

  (2)實(shí)現(xiàn)短消息收發(fā)的主體文件。包括:

  Index.asp(登錄正確后轉(zhuǎn)向的首頁(yè))、S_Take.asp(用戶的收件箱頁(yè)面)、S_Send.asp(用戶的發(fā)件箱頁(yè)面)、S_Mail.asp(用戶發(fā)送短消息的頁(yè)面)、S_Group.asp(用戶自定義組的頁(yè)面)等。

  (3)對(duì)必要的細(xì)節(jié)進(jìn)行修改。包括:

  修改S_Mail.asp頁(yè)以適合群發(fā)消息、修改Login.asp頁(yè)屏蔽“,"字符等操作。

  三、用戶注冊(cè)、登錄以及必要的信息提示

  1.Default.asp:用戶登錄頁(yè)

  凡是涉及用戶概念的系統(tǒng)免不了都需要制作注冊(cè)和登錄等頁(yè)面。

  (1)新建Default.asp頁(yè)面,在頁(yè)面內(nèi)設(shè)計(jì)一個(gè)登錄表單,如圖1所示。在Properties(屬性)面板中設(shè)置文本框名分別為“username”和“password”,其中“password”文本框的“Type”類型設(shè)置為“password”。

  (2)單擊“Application”(應(yīng)用程序)工作面板,單擊“Server Behaviors”(服務(wù)器行為)選項(xiàng)卡,單擊“+”按鈕,選擇“User Authentication”(用戶身份驗(yàn)證)選項(xiàng),在出現(xiàn)的菜單中選擇“Log In User(登錄用戶)”命令,在出現(xiàn)的對(duì)話框中進(jìn)行如下設(shè)置:

  Get input from form(從表單獲取輸入):因?yàn)轫?yè)面只有一個(gè)表單,所以默認(rèn)即為“form1”。

  Username field(用戶名字段):username。對(duì)應(yīng)用戶名的文本框username。

  Password field(密碼字段):password。對(duì)應(yīng)密碼的文本框password。

  Validate using connection(使用連接驗(yàn)證):使用我們已經(jīng)建立的“smail”。

  Table(表格):用戶信息表。

  Username column(用戶名列):用戶名。

  Password column(密碼列):密碼。

  If login succeeds, go to(如果登錄成功,轉(zhuǎn)到):index.asp。

  Go to precious URL (if it exists)(轉(zhuǎn)到前一個(gè)URL(如果它存在)):選中。這是一個(gè)比較實(shí)用的選項(xiàng),比如你在頁(yè)面A使用了“Restrict Access To Page”限制對(duì)頁(yè)訪問(wèn)的服務(wù)器行為后,該頁(yè)面需要用戶登錄后才可訪問(wèn),而用戶沒(méi)有經(jīng)過(guò)登錄直接鏈接到頁(yè)面A,那么就會(huì)被轉(zhuǎn)到default.asp頁(yè)要求登錄。選中該選項(xiàng),在登錄完成后則不前往index.asp頁(yè),而是直接轉(zhuǎn)向頁(yè)面A。

  If login fails, go to(如果登錄失敗,轉(zhuǎn)到):Error.asp。

  Restrict access based on(基于以下項(xiàng)限制訪問(wèn)):Username and password。這里可以設(shè)置你的登錄是否還需要用戶等級(jí)概念,如果需要?jiǎng)t選擇“Username, password, and access level”(用戶名、密碼和訪問(wèn)級(jí)別)選項(xiàng),并且在“Get level from”(獲取級(jí)別自)選項(xiàng)中選擇從哪個(gè)字段來(lái)獲得等級(jí)標(biāo)準(zhǔn)。設(shè)置完畢后即完成登錄驗(yàn)證。

  這里簡(jiǎn)要的說(shuō)明一下登錄驗(yàn)證的原理,我們分析源碼后可以得知該頁(yè)是根據(jù)用戶名、密碼與數(shù)據(jù)庫(kù)中“用戶信息表”的匹配來(lái)決定登錄的用戶是否為合法用戶,從而產(chǎn)生一個(gè)名為“MM_Username”的Session變量,只要合法用戶登錄后并且在變量的生命周期內(nèi),這個(gè)變量就代表登錄的用戶名,如果你選擇的是區(qū)分等級(jí)的用戶登錄,則還會(huì)有一個(gè)區(qū)別等級(jí)的Session變量“MM_UserAuthorization”。

  (3)為了避免用戶沒(méi)有在表單內(nèi)輸入必要的信息就單擊“登錄”按鈕,還需要對(duì)表單進(jìn)行一個(gè)簡(jiǎn)單的驗(yàn)證。選中“登錄”按鈕,單擊“Tag<input>”(<input>標(biāo)簽)工作面板(或按Shift+F3組合鍵),單擊“Behaviors”(行為)選項(xiàng)卡,單擊“+”按鈕,選擇“Validate Form”(檢查表單行為)命令,在出現(xiàn)的對(duì)話框中,將兩個(gè)文本框欄中的“Value”(值)選項(xiàng)設(shè)置為“Required”(必需的)選項(xiàng),以進(jìn)行必填驗(yàn)證。

  (4)最后在登錄頁(yè)建立一個(gè)到Login.asp注冊(cè)頁(yè)的鏈接,完成該頁(yè)。

  2.Login.asp:新用戶注冊(cè)頁(yè)

  (1)新建Login.asp頁(yè)面,單擊“Application”(應(yīng)用程序)工作面板,單擊“Server Behaviors”(服務(wù)器行為)選項(xiàng)卡,單擊“+”按鈕,選擇“Insert Record”(插入記錄)選項(xiàng),在出現(xiàn)的菜單中選擇“Record Insertion Form Wizard”(插入記錄表單向?qū)?命令。在出現(xiàn)的對(duì)話框中進(jìn)行設(shè)置:

  Connection(連接):smail。

  Insert into table(插入到表格):用戶信息表。

  After inserting, go to(插入后,轉(zhuǎn)向):default.asp。

  在選擇需插入的數(shù)據(jù)表后,Dreamweaver會(huì)將該數(shù)據(jù)表中的所有字段都顯示在“Form fields”(表單字段)列表內(nèi)供選擇設(shè)置。我們?cè)谶@里需要選中“UID”項(xiàng),然后單擊“-”按鈕將其刪除(因?yàn)樵撟侄问亲詣?dòng)編號(hào)類型的,不可插入)。選中用戶名時(shí),在對(duì)話框下方的項(xiàng)目中將出現(xiàn)默認(rèn)的值,你可以對(duì)其進(jìn)行修改:

  Label(文本):對(duì)應(yīng)選中字段在頁(yè)面中顯示的文本。

  Display as(顯示為):對(duì)應(yīng)選中字段在頁(yè)面中出現(xiàn)供插入數(shù)據(jù)的控件。

  Submit as(提交為):對(duì)應(yīng)選中字段提交的數(shù)據(jù)類型。

  Default value(默認(rèn)值):插入數(shù)據(jù)的控件上顯示的默認(rèn)值。在這里我們按下表設(shè)定:

字段名LabelDisplay asSubmit asDefault value
用戶名用戶名Text fieldText-
密碼密碼Password fieldText-

  完成后確定返回,頁(yè)面上會(huì)自動(dòng)插入表單和輸入數(shù)據(jù)用的控件。

  (2)對(duì)生成的表單進(jìn)行簡(jiǎn)單修改后,我們需要作避免相同用戶名注冊(cè)的操作。單擊“Application”(應(yīng)用程序)選項(xiàng)卡,單擊“User Authentication”(用戶身份驗(yàn)證)按鈕,在出現(xiàn)的菜單中選擇“Check New Username”(檢查新用戶名)命令,在出現(xiàn)的對(duì)話框中進(jìn)行設(shè)置:

  Username field(驗(yàn)證用戶名):因?yàn)檩斎胄彰奈谋究蚩丶怯煞?wù)器行為自動(dòng)生成的,所以選擇對(duì)應(yīng)用戶名的文本框控件名“Element”。

  If already exists, go to(如果輸入的用戶名已經(jīng)存在,轉(zhuǎn)向):LoginError.asp。

  完成設(shè)定后返回,最后需要對(duì)表單輸入做必填驗(yàn)證,該操作與Default.asp頁(yè)面的表單驗(yàn)證一樣,這里不作過(guò)多說(shuō)明。

  3.LoginError.asp:新用戶注冊(cè)重名提示頁(yè)

  該頁(yè)是在注冊(cè)新用戶時(shí),遇到重名后轉(zhuǎn)向的提示頁(yè),所以只需要在頁(yè)面上輸入提示信息,并給出返回注冊(cè)頁(yè)的鏈接即可。

  新建LoginError.asp頁(yè)面,單擊“Application”(應(yīng)用程序)工作面板,單擊“Binding”(綁定)選項(xiàng)卡,單擊“+”按鈕選中“Request Variable”(請(qǐng)求變量)選項(xiàng),在出現(xiàn)的對(duì)話框中進(jìn)行設(shè)置:

  Type(類型):Request.QueryString,即URL變量。

  Name(名稱):RequserName。該變量名由Login.asp頁(yè)面中“Check New Username”服務(wù)器行為創(chuàng)建,當(dāng)注冊(cè)的用戶名重復(fù)時(shí),該行為將輸入值命名為“RequserName”,通過(guò)URL傳遞到LoginError.asp頁(yè),這里只是做了一個(gè)承接的作用。

  完成后將該變量拖入到頁(yè)面相應(yīng)位置即可。如圖2所示。

  4.Error.asp:登錄失敗轉(zhuǎn)向的錯(cuò)誤提示頁(yè)

  該錯(cuò)誤提示頁(yè)面主要是登錄錯(cuò)誤而轉(zhuǎn)向的頁(yè)面,在頁(yè)面上說(shuō)明并加上重新轉(zhuǎn)到Default.asp頁(yè)登錄的鏈接即可。

  5.Restrict.asp:限制未登錄用戶訪問(wèn)的代碼頁(yè)

  在制作Login.asp頁(yè)面時(shí)已經(jīng)講到,用戶登錄系統(tǒng)后會(huì)自動(dòng)創(chuàng)建Session變量“MM_Username”,那么只要在該變量?jī)?nèi)檢查到它的存在就可以認(rèn)為用戶已經(jīng)成功登錄了?,F(xiàn)在我們創(chuàng)建一段檢查該變量的代碼,然后將代碼置入需要登錄才可訪問(wèn)的頁(yè)面中就可以限制未登錄用戶的訪問(wèn)了。

  (1)新建Restrict.asp頁(yè)面,單擊“Application”(應(yīng)用程序)工作面板,單擊“Server Behaviors”(服務(wù)器行為)選項(xiàng)卡,單擊“+”按鈕,選擇“User Authentication”(用戶身份驗(yàn)證)選項(xiàng),在出現(xiàn)的菜單中選擇“Restrict Access To Page”(限制對(duì)頁(yè)的訪問(wèn))命令,在出現(xiàn)的對(duì)話框中進(jìn)行設(shè)置:

  Restrict based on(驗(yàn)證包括的項(xiàng)目):Username and password,僅驗(yàn)證用戶名和密碼。

  If access denied, go to(如果拒絕訪問(wèn),則轉(zhuǎn)向):Default.asp。

  (2)完成設(shè)定后我們轉(zhuǎn)到源代碼窗口,因?yàn)榇隧?yè)面將被包含到其他頁(yè)面,所以這里只需要“Restrict Access To Page”生成的ASP代碼即可,而其他的都可以刪除。

  首先刪除<%@LANGUAGE=″VBSCRIPT″ CODEPAGE=″936″%>一句。然后刪除ASP代碼以后的全部HTML代碼,完成后即可存盤。

  其實(shí),你也可以在每個(gè)頁(yè)面都使用這個(gè)“Restrict Access To Page”來(lái)為登錄用戶限定訪問(wèn),不過(guò)為了代碼的簡(jiǎn)潔、易懂,可以將常用代碼存為一頁(yè),然后使用包含頁(yè)的方法來(lái)置入到所有登錄后才能訪問(wèn)的頁(yè)面中。你只需要在頁(yè)面源碼窗口頂部加入代碼即可。

  四、實(shí)現(xiàn)短消息收發(fā)的主體文件

  1.S_Take.asp:用戶的收件箱頁(yè)面

  該頁(yè)為收件箱頁(yè)面,任何發(fā)送給登錄用戶的消息都可在此瀏覽。收件箱根據(jù)用戶登錄后的“Session”變量在“短消息內(nèi)容表”的“收件人”字段中比對(duì),符合的就屬于該用戶的收件箱。

  (1)新建S_Take.asp頁(yè)面,在頁(yè)面建立靜態(tài)元素,如圖3所示。

  其中,“發(fā)送消息”鏈接到S_Mail.asp頁(yè)面;“發(fā)件箱”鏈接到S_Send.asp頁(yè)面;“管理組”鏈接到S_Group.asp頁(yè)面。

  (2)單擊“Application”(應(yīng)用程序)工作面板,單擊“Binding”(綁定)選項(xiàng)卡,單擊“+”按鈕選中“Recordset(Query)”(記錄集)選項(xiàng),在出現(xiàn)的對(duì)話框中建立記錄集:

  Name(名稱):SM1。

  Connection(連接):smail。

  Table(數(shù)據(jù)表):短消息內(nèi)容表。

  Columns(字段):All。

  Filter(過(guò)濾條件):收件人、=、Session Variable、MM_Username。

  Sort(排序):SID、Descending。

  完成前面的設(shè)定后,單擊“Advanced”(高級(jí))按鈕,在出現(xiàn)的對(duì)話框中的“SQL”區(qū)域中添加過(guò)濾代碼“AND 收件顯示 = True”,然后修改代碼為:

  SELECT *

  FROM 短消息內(nèi)容表。

  WHERE 收件人 = ‘MMColParam‘ AND 收件顯示 = True

  ORDER BY SID DESC

  該代碼表示記錄集篩選的不只是收件人,并且“收件顯示”字段值必須為True,這樣做是為了在后面可以過(guò)濾已經(jīng)刪除的消息。單擊“確定”按鈕完成記錄集建立。

  (3)在“Application”工作面板中單擊“Binding”(綁定)選項(xiàng)卡,單擊“+”按鈕,選擇“Session Variable”(創(chuàng)建變量)選項(xiàng),在出現(xiàn)的對(duì)話框中設(shè)置“Name”值為“MM_Username”,在站點(diǎn)中建立一個(gè)Session變量,該類型變量在你站點(diǎn)內(nèi)的任何以登錄頁(yè)面上都可以使用。使用時(shí)只需要選擇需要替換的文字后單擊“insert”按鈕即可。

  選擇頁(yè)面上的“某某人”文字,然后選擇該變量后單擊“insert”按鈕,用戶登錄后的名字就可在此顯示出來(lái)。

  (4)在“Application”工作面板中單擊“Binding”(綁定)選項(xiàng)卡,然后將記錄集“SM1”展開,拖動(dòng)動(dòng)態(tài)數(shù)據(jù)到相應(yīng)的頁(yè)面位置,對(duì)于復(fù)選框設(shè)定“Name”為“DELID”,將動(dòng)態(tài)數(shù)據(jù)“SID”綁定到“Checked Value”項(xiàng)目中。然后選擇動(dòng)態(tài)數(shù)據(jù)所在的行,應(yīng)用“Server Behavior”下的“Repeat Region”(重復(fù)區(qū)域)服務(wù)器行為,在出現(xiàn)的對(duì)話框中選擇“SM1”記錄集和默認(rèn)每頁(yè)顯示10條記錄,完成后如圖4所示。

  (5)增加翻頁(yè)鏈接。單擊“Application”(應(yīng)用程序)工作面板,單擊“Server Behaviors”(服務(wù)器行為)選項(xiàng)卡,單擊“+”按鈕,選擇“Recordset Paging”(記錄集翻頁(yè))選項(xiàng),在出現(xiàn)的菜單中選擇“Recordset Navigation Bar”(記錄集導(dǎo)航條)選項(xiàng),在出現(xiàn)的對(duì)話框中設(shè)置“Recordset”(記錄集)為“SM1”,“Display using”(顯示方式)為“Text”,單擊“確定”按鈕即可在頁(yè)面當(dāng)前位置插入前后的翻頁(yè)鏈接。

  (6)增加刪除信息的Command。前面說(shuō)過(guò),當(dāng)你不需要收件箱中的某條消息時(shí),應(yīng)該將其刪除(其實(shí)是不顯示而已)。在“Application”工作面板中單擊“Binding”(綁定)選項(xiàng)卡,單擊“+”按鈕,選中“Command(Store Procedure)”(存儲(chǔ)過(guò)程)選項(xiàng)。在出現(xiàn)的對(duì)話框中設(shè)置建立名稱為“Command1”的命令。其中“SQL”域和“Variables”變量域中的代碼表示由表單獲得“DELID”參數(shù)放入變量“MM_DEL”,然后根據(jù)該變量來(lái)修改“短消息內(nèi)容表”中的“收件顯示”字段值為False。確定后轉(zhuǎn)到“代碼”窗口,找到以下兩段代碼:

  代碼段1:

 ?。?

  if(Request.QueryString ("DelID") <> "") then Command1__MM_Del = Request.QueryString ("DelID")

  %>

  代碼段2:

 ?。?

  set Command1 = Server.CreateObject("ADODB.Command")

  Command1.ActiveConnection = MM_smail_STRING

  Command1.CommandText = "UPDATE 短消息內(nèi)容表 SET 發(fā)件顯示 = False WHERE SID in (" + Replace(Command1__MM_Del, "‘","‘‘") +")"

  Command1.CommandType = 1

  Command1.CommandTimeout = 0

  Command1.Prepared = true

  Command1.Execute()

  %>

  上述兩段代碼是剛才Command操作產(chǎn)生的,我們需要修改一下后放在其他代碼的上方,讓其在打開該頁(yè)面時(shí)首先執(zhí)行該段代碼。

 ?。?

  if(Request.QueryString ("DelID") <>"") then

  Command1__MM_Del = Request.QueryString ("DelID")

  set Command1 = Server.CreateObject("ADODB.Command")

  Command1.ActiveConnection = MM_smail_STRING

  Command1.CommandText = "UPDATE 短消息內(nèi)容表 SET 發(fā)件顯示 = False WHERE SID in (" + Replace(Command1__MM_Del, "‘","‘‘") + ") "

  Command1.CommandType = 1

  Command1.CommandTimeout = 0

  Command1.Prepared = true

  Command1.Execute()

  Response.Redirect "S_Take.asp"

  End If

  %>

  修改后的代碼表示,如果表單參數(shù)“DELID”不為空,那么就根據(jù)“SID”字段決定哪些記錄需要修改“收件顯示”字段為False,完成后重新加載該頁(yè),否則就跳過(guò)該段修改代碼。

  提交表單還需要設(shè)置“Action”(動(dòng)作)為提交到本頁(yè)“S_Take.asp”;數(shù)據(jù)傳遞“Method”模式為“GET”,表示從URL傳遞參數(shù)。

  (7)增加閱讀消息時(shí)間的Command。當(dāng)有消息到達(dá)時(shí),你必須要將當(dāng)前時(shí)間寫入到“收件時(shí)間”字段中。我們可以在頁(yè)面上再加一個(gè)Command,將屬于登錄用戶并且“收件時(shí)間”為空的記錄都寫入當(dāng)前時(shí)間。你可以按照上述方法在對(duì)話框中設(shè)置Command,“SQL”區(qū)域代碼如下:

  UPDATE 短消息內(nèi)容表

  SET 收件時(shí)間 = Now()

  WHERE 收件人 = ‘MM_name‘ and 收件時(shí)間 is null

  變量“MM_name”由Session變量“MM_Username”獲得,它與建立“SM1”記錄集是一樣的,然后在源碼窗口中整合代碼,將其移動(dòng)到記錄集的結(jié)束代碼段:

 ?。?

  SM1.Close()

  Set SM1 = Nothing

  %>

  整合后代碼如下:

  <%

  UpCmd__MM_name = Session("MM_Username")

  set UpCmd = Server.CreateObject("ADODB.Command")

  UpCmd.ActiveConnection = MM_smail_STRING

  UpCmd.CommandText = "UPDATE 短消息內(nèi)容表 SET 收件時(shí)間 = Now() WHERE 收件人 = ‘" + Replace(UpCmd__MM_name, "‘", "‘‘") + "‘ and 收件時(shí)間 is null "

  UpCmd.CommandType = 1

  UpCmd.CommandTimeout = 0

  UpCmd.Prepared = true

  UpCmd.Execute()

  %>

  該代碼表示將當(dāng)前登錄用戶的Session變量存入“UpCmd_MM_name”變量,根據(jù)當(dāng)前用戶和收件時(shí)間為空的記錄來(lái)修改“收件時(shí)間”等于當(dāng)前時(shí)間。

  經(jīng)過(guò)以上步驟,完成收件箱頁(yè)面的制作。

  2.S_Send.asp:用戶的發(fā)件箱頁(yè)面

  發(fā)件箱保留所有的發(fā)送信息,實(shí)現(xiàn)原理和收件箱基本相同,下面簡(jiǎn)單介紹其實(shí)現(xiàn)方法。

  (1)建立靜態(tài)頁(yè)面。其結(jié)構(gòu)與S_Take.asp頁(yè)面類似,這里的“閱讀”是指顯示當(dāng)收件人閱讀這條消息的時(shí)間。如圖5所示。

  (2)建立發(fā)件記錄集“SM1”并綁定到頁(yè)面。記錄集建立如圖6所示,表示只顯示當(dāng)前用戶自己的并且“發(fā)件顯示”字段為“True”的消息,以序號(hào)“SID”的降序排列。

  (3)綁定記錄到頁(yè)面。如上述操作,依次綁定動(dòng)態(tài)數(shù)據(jù)到頁(yè)面上,復(fù)選框“DELID”綁定“SID”動(dòng)態(tài)記錄;使用“Repeat Region”(重復(fù)區(qū)域)服務(wù)器行為和“Recordset Navigation Bar”(記錄集導(dǎo)航條)即可。

  提交表單與上述設(shè)置相同,,設(shè)置“Action”為提交到本頁(yè)“S_Send.asp”,“Method”為“GET”。完成后如圖7所示。

  (4)增加修改信息為在發(fā)件箱不顯示的Command。該Command的建立與前面介紹的S-Take.asp頁(yè)面方法大致一樣(讀者可參看前文講述),你只要拷貝前面的代碼,無(wú)須在對(duì)話框中設(shè)置。代碼如下:

 ?。?

  If(Request.QueryString("DELID") <> "") Then

  Command1__MM_DEL = Request.QueryString("DELID")

  set Command1 = Server.CreateObject("ADODB.Command")

  Command1.ActiveConnection = MM_Smail_STRING

  Command1.CommandText = "UPDATE 短消息內(nèi)容表 SET 發(fā)件顯示 = False WHERE SID in (" + Replace(Command1__MM_DEL, "‘","‘‘") + ") "

  Command1.CommandType = 1

  Command1.CommandTimeout = 0

  Command1.Prepared = true

  Command1.Execute()

  Response.Redirect "S_Send.asp"

  End If

  %>

  同樣,將這段代碼放在頁(yè)面頂端,完成該頁(yè)。

  3.S_Mail.asp 用戶發(fā)送短消息的頁(yè)面

  該頁(yè)面為發(fā)送消息的頁(yè)面,需要在數(shù)據(jù)庫(kù)中插入收件人、消息內(nèi)容和發(fā)件人信息。

  單擊“Application”(應(yīng)用程序)工作面板,單擊“+”按鈕,選擇“Insert Record”(插入記錄)選項(xiàng),在出現(xiàn)的菜單中選擇“Record Insertion Form Wizard”(插入記錄表單向?qū)?命令。在出現(xiàn)的對(duì)話框中進(jìn)行設(shè)置。

  Connection(連接):smail。

  Insert into table(插入到表格):短消息內(nèi)容表。

  After inserting, go to(插入后,轉(zhuǎn)向):S_Send.asp。

  在“Form fields”(表單字段)列表我們只保留需要插入記錄的字段,其他字段選擇后單擊“-”按鈕刪除。另外對(duì)“消息內(nèi)容”字段的“Display as”屬性設(shè)定為“Text atea”,對(duì)“發(fā)件人”字段的“Default value”屬性設(shè)為“<%=Session(″MM_Username″)%>”,表示從Session變量直接獲取,其他的一些設(shè)置如前述操作。

  完成插后在頁(yè)面上加入一些鏈接信息即可。如圖8所示。

  4.Index.asp:登錄正確后轉(zhuǎn)向的首頁(yè)

  該頁(yè)面為用戶登錄正確的轉(zhuǎn)向頁(yè),短消息系統(tǒng)作為論壇或者社區(qū)中的一個(gè)模塊,在該頁(yè)面只需要存在鏈接,如果有新的消息到達(dá)即出現(xiàn)提醒信息即可。

  首先,你需要建立記錄集判斷用戶是否有新的消息到來(lái)。該判斷很簡(jiǎn)單,在數(shù)據(jù)庫(kù)中過(guò)濾“收件人”屬于當(dāng)前用戶并且“收件時(shí)間”為空的記錄,如果存在這樣的記錄,那么顯示提示信息。記錄集建立如圖9所示。

  完成后,在頁(yè)面上添加提示有新消息的文字并做好到S_Take.asp頁(yè)的鏈接,在選擇該行文字后使用“Application”(應(yīng)用程序)工作面板中“Show Region”(顯示區(qū)域)選項(xiàng)卡中的“Show If Recordset Not Empty”(如果記錄集不為空顯示區(qū)域)服務(wù)器行為。

  在出現(xiàn)的對(duì)話框中選擇“Recordset”記錄集為“SM1”,完成后確定返回頁(yè)面。這樣,當(dāng)你登錄到該頁(yè),如果數(shù)據(jù)庫(kù)中存在收件人為用戶本人,并且“收件時(shí)間”還為空的信息,那么記錄集就會(huì)返回記錄,你的提示信息就會(huì)顯示在頁(yè)面上。

  經(jīng)過(guò)上述操作,短消息系統(tǒng)已經(jīng)可以正常運(yùn)行了,不過(guò)對(duì)于論壇或者社區(qū)的管理員來(lái)說(shuō),有時(shí)需要把一條消息同時(shí)發(fā)送給幾個(gè)人甚至幾十個(gè)人,一條條操作是很麻煩的。下面,讓我們來(lái)建立用戶組,實(shí)現(xiàn)短消息群發(fā)的功能。

  五、實(shí)現(xiàn)短消息群發(fā)功能

  建立S_Group.asp頁(yè)面,在這個(gè)頁(yè)面中,我們需要有增加組、刪除組和給組內(nèi)用戶發(fā)消息的鏈接等功能。先建立框架,準(zhǔn)備好動(dòng)態(tài)數(shù)據(jù)存放的位置。如圖10所示。

  建立記錄集獲得屬于當(dāng)前登錄用戶自己的組信息,各項(xiàng)設(shè)置如圖11所示,它與前面建立的操作基本一樣,這里不再說(shuō)明。

  將“SMG”記錄集中的“組名”和“組成員”綁定到頁(yè)面,然后選擇該行使用“Repeat Region”(重復(fù)區(qū)域)服務(wù)器行為,注意在出現(xiàn)的對(duì)話框中設(shè)置顯示所有記錄,即選中“All record”項(xiàng)。

  接下來(lái)的操作與前面發(fā)送消息頁(yè)面一樣,使用“Application”中的“Record Insertion Form Wizard”插入記錄表單,在出現(xiàn)的對(duì)話框中設(shè)置:

  Connection:smail。

  Insert into table:好友組信息表。

  After inserting, go to:S_Group.asp。

  在“Form fields”中,我們刪除“ZID”字段,保留其余3個(gè)。“組名”和“組成員”使用默認(rèn)的屬性即可,對(duì)“組屬于”字段的“Display as”屬性設(shè)定為“Hidden field”(隱藏域),“Default value”屬性設(shè)為“<%=Session(″MM_Username″)%>”表示從該好友組屬于當(dāng)前登錄用戶。

  完成后表單上注明在輸入“組成員”文本框中用戶名之間需要用半角逗號(hào)分隔,這主要是為了后面對(duì)每個(gè)用戶發(fā)送消息時(shí),讓程序知道如何區(qū)別用戶名。接下來(lái),我們需要實(shí)現(xiàn)刪除記錄的功能,選擇“刪除”文字綁定鏈接:

  S_Group.asp?DELID=<%=(SMG.Fields.Item("ZID").Value)%>

  上述代碼表示,鏈接到本頁(yè)并傳遞“DELID”參數(shù),而參數(shù)值由記錄集中的“ZID”獲得。

  刪除數(shù)據(jù)的代碼還是由Command來(lái)實(shí)現(xiàn),操作方法與前面一樣,不過(guò)這次是刪除記錄的操作所以其中的“Type”應(yīng)該選擇“Delete”,完成后同樣需要進(jìn)行合并和移動(dòng)到頁(yè)面前端。下面給出Command中的SQL代碼以及合并后的程序代碼:

  SQL代碼:

  DELETE FROM 好友組信息表

  WHERE ZID = MM_ID

  合并修改后的代碼:

 ?。?

  If (Request.QueryString("DELID") <> "") Then

  DelCommand__MM_ID = Request.QueryString("DELID")

  set DelCommand = Server.CreateObject("ADODB.Command")

  DelCommand.ActiveConnection = MM_Smail_STRING

  DelCommand.CommandText = "DELETE FROM組信息表 WHERE ZID = " + Replace(DelCommand__MM_ID, "‘", "‘‘") + ""

  DelCommand.CommandType = 1

  DelCommand.CommandTimeout = 0

  DelCommand.Prepared = true

  DelCommand.Execute()

  Response.Redirect "S_Group.asp"

  End If

  %>

  最后在組名上做好鏈接到發(fā)送消息頁(yè)面的鏈接:

  S_Mail.asp?ALL=<%=(SMG.Fields.Item("組成員").Value)%>

  這里表示通過(guò)組名鏈接到發(fā)送消息的頁(yè)面并且傳遞參數(shù)“ALL”,參數(shù)值由記錄集的“組成員”獲得,也就是傳遞一個(gè)由多個(gè)用戶名組成且以英文逗號(hào)分隔的字符串。完成頁(yè)面如圖12所示。

  六、對(duì)必要的細(xì)節(jié)進(jìn)行修改

  1.修改S_Mail.asp頁(yè)以適合群發(fā)消息

  首先獲得S_Group.asp頁(yè)傳遞過(guò)來(lái)的組成員信息,單擊收件人的文本框,在“Properties”屬性面板→“Init val”初始值中填入:

 ?。?= Request.QueryString("ALL") %>

  表示收件人文本框值可以由URL參數(shù)“ALL”來(lái)獲得。

  選擇“Command”,如圖13設(shè)置建立名稱為“Command1”的插入記錄命令(Command):

  自己建立的變量運(yùn)行值都是要一一對(duì)應(yīng)頁(yè)面上的文本框名。確定后轉(zhuǎn)到源碼視窗可以找到以下代碼:  

 ?。?

  if(Request.Form("Element") <> "") then Command1__MM_Send = Request.Form("Element")

  if(Request.Form("Element3") <> "") then Command1__MM_Mail = Request.Form("Element3")

  if(Request.Form("Element5") <> "") then Command1__MM_Take = Request.Form("Element5")

  %>

 ?。?

  set Command1 = Server.CreateObject("ADODB.Command")

  Command1.ActiveConnection = MM_smail_STRING

  Command1.CommandText = "INSERT INTO 短消息內(nèi)容表 (發(fā)件人, 消息內(nèi)容, 收件人) VALUES (‘" + Replace(Command1__MM_Send, "‘", "‘‘") + "‘,‘" + Replace(Command1__MM_Mail, "‘", "‘‘") + "‘,‘" + Replace(Command1__MM_Take, "‘", "‘‘") + "‘ ) "

  Command1.CommandType = 1

  Command1.CommandTimeout = 0

  Command1.Prepared = true

  Command1.Execute()

  %>

  修改成以下代碼并放在頁(yè)面頂部就可以根據(jù)多用戶來(lái)發(fā)送消息了。

 ?。?

  If (CStr(Request("MM_insert")) = "form1") Then

  DIM Str_Take

  Str_Take = (Request.Form("Element5"))

  If (InStr((Str_Take),",") > (0)) Then

  If (Right(Str_Take,1)) = "," Then Str_Take = StrReverse(Replace(StrReverse(Str_Take),",","",1,1))

  if(Request.Form("Element") <> "") then Command1__MM_Send = Request.Form("Element")

  if(Request.Form("Element3") <> "") then Command1__MM_Mail = Request.Form("Element3")

  For EACH Command1__MM_Take IN (Split(Str_Take,","))

  set Command1 = Server.CreateObject("ADODB.Command")

  Command1.ActiveConnection = MM_Smail_STRING

  Command1.CommandText = "INSERT INTO 短消息內(nèi)容表 (發(fā)件人, 消息內(nèi)容, 收件人) VALUES (‘" + Replace(Command1__MM_Send, "‘", "‘‘") + "‘,‘" + Replace(Command1__MM_Mail, "‘", "‘‘") + "‘,‘" + Replace(Command1__MM_Take, "‘", "‘‘") + "‘) "

  Command1.CommandType = 1

  Command1.CommandTimeout = 0

  Command1.Prepared = true

  Command1.Execute()

  NEXT

  Response.Redirect "S_Send.asp"

  End If

  End If

  %>

  以上代碼看起來(lái)好像很復(fù)雜,其實(shí)分解一下就很容易理解了,下面對(duì)添加的語(yǔ)句逐條說(shuō)明:

  <%

  If (CStr(Request("MM_insert")) = "form1") Then

  因?yàn)樘峤挥涗浀谋韱问怯蒁reamweaver自動(dòng)生成,表單中會(huì)存在一個(gè)名為“MM_insert”隱藏域,值包含提交的表單名,所以這里以變量“MM_insert”是否存在來(lái)判斷表單是否提交,如果變量值等于“form1”那么表示表單已經(jīng)被提交,繼續(xù)執(zhí)行下面的代碼:

  DIM Str_Take

  聲明變量Str_Take

  Str_Take = (Request.Form("Element5"))

  設(shè)置變量Str_Take從表單參數(shù)中獲得收件人的值

  If (InStr((Str_Take),",") > (0)) Then

  利用InStr函數(shù)獲得半角逗號(hào)字符在收件人變量中的位置,如果大于0表示存在該字符,也就是說(shuō)明該信息是多用戶收取的,那么繼續(xù)執(zhí)行下面的代碼:

  注意:下面做的一步是判斷用戶名后是否存在多余的半角逗號(hào)字符,因?yàn)樾稳?#8220;用戶1,用戶2,”這樣的字符串在后面數(shù)組分隔中會(huì)認(rèn)為是三個(gè)用戶從而多出一條收件人為空的記錄,所以要作下面一個(gè)去除操作。

  If (Right(Str_Take,1)) = "," Then Str_Take = StrReverse(Replace(StrReverse(Str_Take),",","",1,1))

  如果收件人變量中右起第一個(gè)字符為半角逗號(hào)字符那么先用StrReverse函數(shù)將字符串的字符順序顛倒過(guò)來(lái),再利用Replace函數(shù)從第一個(gè)字符開始搜索半角逗號(hào),搜索到后替換成空值并且只替換一次,最后再將該字符串順序顛倒回來(lái)。上來(lái)描述得好像有些復(fù)雜,其實(shí)就是將形如“用戶1,用戶2,”這樣的字符串最后一個(gè)半角逗號(hào)去除。

  if(Request.Form("Element") <> "") then Command1__MM_Send = Request.Form("Element")

  if(Request.Form("Element3") <> "") then Command1__MM_Mail = Request.Form("Element3")

  上面使用Command代碼獲得發(fā)件人和短消息內(nèi)容,還有一個(gè)獲得收件人信息的代碼已經(jīng)用變量Str_Take替代了。

  For EACH Command1__MM_Take IN (Split(Str_Take,","))

  利用Split函數(shù)以半角逗號(hào)將收件人變量分隔存入數(shù)組,使用數(shù)組循環(huán)語(yǔ)句進(jìn)行插入記錄代碼的循環(huán)。

  set Command1 = Server.CreateObject("ADODB.Command")

  Command1.ActiveConnection = MM_Smail_STRING

  Command1.CommandText = "INSERT INTO dbo.短消息表 (發(fā)件人, 消息內(nèi)容, 收件人) VALUES (‘" + Replace(Command1__MM_Send, "‘", "‘‘") + "‘,‘" + Replace(Command1__MM_Mail, "‘", "‘‘") + "‘,‘" + Replace(Command1__MM_Take, "‘", "‘‘") + "‘) "

  Command1.CommandType = 1

  Command1.CommandTimeout = 0

  Command1.Prepared = true

  Command1.Execute()

  以上Command插入代碼不變。

  NEXT

  數(shù)組中的循環(huán)結(jié)束后跳出循環(huán)。

  Response.Redirect "S_Send.asp"

  完成插入后前往發(fā)件箱頁(yè)面查看剛剛發(fā)送的短消息。

  End If

  End If

  %>

  以上操作完成后頁(yè)面會(huì)根據(jù)是收件人的信息來(lái)決定由哪段代碼來(lái)進(jìn)行插入操作,不過(guò)其結(jié)果是一樣的都是在數(shù)據(jù)庫(kù)中插入記錄。當(dāng)然你可以刪除以前的插入代碼而都使用現(xiàn)在的Command代碼來(lái)做到,這里就不講解了。圖14測(cè)試群發(fā)后轉(zhuǎn)到的發(fā)件箱頁(yè)面:

  2.修改Login.asp頁(yè)屏蔽“,”字符

  最后還有一個(gè)小問(wèn)題,由于群發(fā)是根據(jù)半角逗號(hào)來(lái)區(qū)分用戶名的,所以用戶名的注冊(cè)需要屏蔽這個(gè)字符,可以在注冊(cè)時(shí)用個(gè)簡(jiǎn)單的JS來(lái)避免。

  先刪除“注冊(cè)”按鈕上已有的表單驗(yàn)證,然后在源碼窗口的<head></head>標(biāo)簽內(nèi)寫入以下JS語(yǔ)句:

  <script language="javascript">

 ?。?--

  function MM_CheckForm()

  {

  if (document.form1.Element.value.indexOf(‘,‘) != -1||document.form1.Element.value == ""||document.form1.Element2.value == "") { alert("用戶名和密碼不可為空\(chéng)n用戶名不可包含“,”字符");

  return false ; }

  }

  //-->

 ?。?script>

  代碼表示當(dāng)用戶名和密碼文本框輸入為空時(shí)或者用戶名文本框內(nèi)包含了“,”半角逗號(hào)標(biāo)記時(shí),表單不可提交,并彈出消息框進(jìn)行提示。

  然后在提交表單的“注冊(cè)”按鈕上修改代碼成為如下:

 ?。糹nput name="Submit" type="submit" onClick="return MM_CheckForm(this.form);" value="注冊(cè)">

  完成后你可以在頁(yè)面上測(cè)試一下這個(gè)JS可以是否成功提示錯(cuò)誤信息,另外提醒一下不要忘了將“Restrict.asp”限制訪問(wèn)的代碼加入到需要登錄頁(yè)面的每個(gè)頁(yè)面頂部。

  現(xiàn)在的新消息提醒設(shè)定是在登錄Index.asp頁(yè)時(shí)顯示文字,你也可以改成圖片或者聲音提示,并且將代碼存成一個(gè)頁(yè)面在其它頁(yè)中調(diào)用,加上設(shè)定自動(dòng)刷新時(shí)間,如此就可以隨時(shí)都獲得短消息了。

  系統(tǒng)的開發(fā)是具有多樣性的,你可以根據(jù)需要來(lái)實(shí)現(xiàn)不同的功能,前提就是明確需求、理清思路,然后再動(dòng)手。

  最后要說(shuō)的是雖然Macromedia公司給我們提供了強(qiáng)大的視窗操作界面,不過(guò)對(duì)于開發(fā)完整、靈活的系統(tǒng)不熟悉代碼還是不行的,我們主張?jiān)贒reamweaver MX 2004的界面下構(gòu)建網(wǎng)頁(yè)框架和大致的程序代碼,對(duì)于細(xì)節(jié)上的還是多修改源碼和做好注釋,否則滿地的找插件也解決不了你的問(wèn)題。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
怎樣實(shí)現(xiàn)禁止通過(guò)瀏覽器的后退按鈕訪問(wèn)以前的記錄?
ASP留言本教程
PHP入門速成(2)
高級(jí)表單驗(yàn)證-針對(duì)多次提交表單
《ASP動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)》第10章使用ASP設(shè)計(jì)應(yīng)用程序
ASP.NET四種頁(yè)面導(dǎo)航方式之比較與選擇
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服