1、建立第一個(gè)頁(yè)面 1.asp,其主要作用是讓查找密碼的朋友輸入其用戶名,很簡(jiǎn)單的頁(yè)面:一個(gè)name文本輸入框,和一個(gè)submit提交按鈕。
2、1.asp中選form標(biāo)記,在相應(yīng)的屬性框中,“動(dòng)作”填寫2.asp,“方法”采用post。
3、保存1.asp,在站點(diǎn)里面新建2.asp,并打開它。該頁(yè)的作用有兩個(gè): (1)判斷上一頁(yè),即1.asp所填寫名字在數(shù)據(jù)庫(kù)中是否存在。 (2)不存在應(yīng)提示出錯(cuò),存在則應(yīng)將該用戶的問題(question)字段內(nèi)容顯示。具體怎么實(shí)現(xiàn)呢?
4、2.asp上數(shù)據(jù)庫(kù)已經(jīng)連好。老方法,先綁定記錄集(“應(yīng)用程序”面板--“綁定”標(biāo)簽下“+”“記錄集(查詢)”)。在彈出的“記錄集”中就要好好設(shè)置了。最主要的就是“篩選”,選擇"name" "=" "表單變量" "name"。意思是,要顯示數(shù)據(jù)庫(kù)表中字段name的內(nèi)容,得有個(gè)條件,那就是:從上一頁(yè)(1.asp)中書寫的name表單內(nèi)容要和庫(kù)中的字段name值相等。
5、其實(shí)切換到“高級(jí)”就可以看到自動(dòng)生成的SQL代碼,其中就有requeset.form("name"),意思就是把1.asp文本框中輸入的值接受過來。
6、在2.asp頁(yè)面敲入不存在該用戶的提示語(yǔ)言"嘿嘿,這個(gè)用戶還沒有注冊(cè),所以你就沒必要找密碼了。"換行再敲入存在該用戶的語(yǔ)句。但與此同時(shí)還要注意把密碼問題SHOW出來,以及問題的答案做成文本框。
7、選中2.asp的form標(biāo)簽,屬性面板中動(dòng)作填寫3.asp,方法采用post。3.asp主要就是用來判斷問題和答案是否吻合,如吻合則顯示正確密碼了。注意!是問題和答案在一起。而我們當(dāng)前只有答案可以傳過去,那我們的問題該怎么傳到3.asp呢?
8、在“你的密碼問題是:”后面插入光標(biāo),然后從“綁定”的“記錄集”中選擇“question”插入或者直接拖入到頁(yè)面。注意!這還只是顯示給用戶密碼問題,是不能將此信息傳過去的。那怎么樣才可以呢?
9、我們采用“隱藏域”來傳送question的值。插入一“隱藏域”(PS:有人不會(huì)插入嗎?呵呵),對(duì)“隱藏域”的屬性進(jìn)行修改:“隱藏區(qū)域”名稱就叫"question"吧,“值”點(diǎn)擊后面的閃電圖標(biāo),彈出對(duì)話框中選擇“question”。已經(jīng)完成對(duì)“隱藏域”question的賦值,同樣也可以進(jìn)行傳遞。
10、剩下的就是把2.asp中的兩部分嚴(yán)格分開了。選中“嘿嘿,這個(gè)用戶還沒有注冊(cè),所以你就沒必要找密碼了。”這段文本。“應(yīng)用程序”面板“服務(wù)器行為”“+”“顯示區(qū)域”“記錄為空則顯示區(qū)域”。 彈出對(duì)話框中選擇剛剛建立的recordset1即可。 意思很明顯:如果沒有找到滿足SQL語(yǔ)言查詢的記錄集就顯示該行錯(cuò)誤提示。
11、同樣,選擇form表單,“應(yīng)用程序”面板“服務(wù)器行為”“+”“顯示區(qū)域”“記錄不為空則顯示區(qū)域”。彈出對(duì)話框中選擇剛剛建立的recordset1即可。 意思也很清楚:如果有滿足SQL語(yǔ)言查詢的記錄集就顯示問題和答案書寫框。 最終效果頁(yè)應(yīng)該如下:
總算把2.asp搞定了?偨Y(jié)下,該頁(yè)主要起承上啟下的作用。先要判斷有沒有這個(gè)用戶,如果有,還有把密碼問題顯示出來,并要能傳送到下一頁(yè)3.asp。
12、那3.asp就要判斷2.asp過來的密碼問題以及答案是否和數(shù)據(jù)庫(kù)中的吻合了。 又有兩個(gè)作用:不吻合,說明密碼答案錯(cuò),返回上頁(yè)再來!吻合,那就規(guī)規(guī)矩矩地給人家密碼吧,呵呵。 不過有了做2.asp的經(jīng)驗(yàn),做3.asp還不是小菜一碟!
13、保存2.asp,在站點(diǎn)新建3.asp并且打開它。老規(guī)矩,綁定記錄集(“應(yīng)用程序”面板--“綁定”標(biāo)簽下“+”“記錄集(查詢)”)。 在彈出的“記錄集”中就要值得你要小心注意了。 “篩選”,選擇"question" "=" "表單變量" "question"
14、但你有沒有注意到,我們要傳送兩個(gè)值給3.asp接受的,但現(xiàn)在只能一個(gè)進(jìn)行選擇。那該怎么辦呢?切換到“高級(jí)”SQL的相關(guān)代碼。我們要稍加添加。 SQL結(jié)構(gòu)查詢語(yǔ)言會(huì)一點(diǎn),模仿能力強(qiáng)一點(diǎn),呵呵就過來了! “變量”添加一個(gè)“MMAnswer”,“運(yùn)行值”當(dāng)然就是“request.form("answer")”了 然后把SQL語(yǔ)言加一下and answer = 'MMAnswer'。看SQL的意思就明白了:必須要求 question and answer和數(shù)據(jù)庫(kù)表中兩字段的值吻合。
15、接著,象做2.asp樣快速設(shè)計(jì)3.asp頁(yè)面上書寫不吻合的語(yǔ)句“呵呵,你的問題答案不是這個(gè)吧,要不回去再試試? ”并且選中后,同樣是“應(yīng)用程序”面板“服務(wù)器行為”“+”“顯示區(qū)域”“記錄為空則顯示區(qū)域”。接著是吻合的情況,“你的密碼是:”的后面,從“綁定”“記錄集”中選擇“pwd”插入或者直接拖入到頁(yè)面;并且還要選中該部分,“應(yīng)用程序”面板“服務(wù)器行為”“+”“顯示區(qū)域”“記錄不為空則顯示區(qū)域”。
16、保存3.asp,大功告成!來調(diào)試下。
今天主要就是頁(yè)面之間的關(guān)聯(lián),還有對(duì)SQL的一點(diǎn)運(yùn)用,以及根據(jù)記錄顯示區(qū)域等等。要好好理清楚其原理和邏輯順序。
出處:藍(lán)色理想
責(zé)任編輯:cjj
上一頁(yè) 菜鳥學(xué)DW MX做ASP(登錄系統(tǒng)篇) [5] 下一頁(yè) 菜鳥學(xué)DW MX做ASP(修改資料篇) [7]
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|