  
- UID
- 1
- 帖子
- 738
- 精华
- 28
- 积分
- 14247
- 金币
- 2414
- 威望
- 1647
- 贡献
- 1362
|
用Dreamweaver制作ASP动态网页(图解五)
第六步 查找密码系统
9 V5 U% u, ]! U/ a' S# `6 r2 S 1,建立第一个页面 1.asp,其主要作用是让查找密码的朋友输入其用户名,很简单的页面:一个name文本输入框,和一个submit提交按钮。3 P/ I2 T7 H9 Y' H; y% ]
2 _ Z- }4 r& |, ~4 U( b- A 2,1.asp中选form标记,在相应的属性框中,“动作”填写2.asp,“方法”采用post。; X* R, D7 ?& K3 _0 h
5 y1 m; a" z, T! n" x- ~8 Q
3,保存1.asp,在站点里面新建2.asp,并打开它。; i: u! a! \6 O, x; b
该页的作用有两个:1 a5 L) o1 b' T; D2 L( v. o
1,判断上一页,即1.asp所填写名字在数据库中是否存在。
$ W1 w+ n' V+ f1 v* | 2,不存在应提示出错,存在则应将该用户的问题(question)字段内容显示。: G; A% B; |9 L' l) C9 _
具体怎么实现呢?1 m/ R0 w1 j1 L, C" Z
4,2.asp上数据库已经连好。老方法,先绑定记录集(“应用程序”面板--“绑定”标签下“+”“记录集(查询)”)。在弹出的“记录集”中就要好好设置了。最主要的就是“筛选”,选择"name" "=" "表单变量" "name"。
/ P) w$ K7 \7 u' d5 N. J: V. Z 意思是,要显示数据库表中字段name的内容,得有个条件,那就是:从上一页(1.asp)中书写的name表单内容要和库中的字段name值相等。
4 T+ N4 ]; y/ ]9 O: J4 P% m
8 `, {7 b/ Q* _0 R6 y! y+ g& X 5,其实切换到“高级”就可以看到自动生成的SQL代码,其中就有requeset.form("name"),意思就是把1.asp文本框中输入的值接受过来。$ H) V/ |# [) R( g
H& G8 A" s, p9 ~% u2 d) ~1 U
6,在2.asp页面敲入不存在该用户的提示语言"嘿嘿,这个用户还没有注册,所以你就没必要找密码了。"
: l; B" M% b7 z- [1 M- Z0 u 换行再敲入存在该用户的语句。但与此同时还要注意把密码问题SHOW出来,以及问题的答案做成文本框。
! D9 ?3 E- r2 B$ A; T
9 V- v7 T: h6 B; L% X+ D% \ 7,选中2.asp的form标签,属性面板中动作填写3.asp,方法采用post。3.asp主要就是用来判断问题和答案是否吻合,如吻合则显示正确密码了。注意!是问题和答案在一起。而我们当前只有答案可以传过去,那我们的问题该怎么传到3.asp呢?, s5 M7 @; I" L/ u
3 B. {+ L' |! Z) Q 8,在“你的密码问题是:”后面插入光标,然后从“绑定”的“记录集”中选择“question”插入或者直接拖入到页面。注意!这还只是显示给用户密码问题,是不能将此信息传过去的。那怎么样才可以呢?
+ ]8 q' K4 H) K% v8 v; A v
4 A0 a" d8 t; H4 l/ W5 [) h 9,我们采用“隐藏域”来传送question的值。插入一“隐藏域”(PS:有人不会插入吗?呵呵),对“隐藏域”的属性进行修改:“隐藏区域”名称就叫"question"吧,“值”点击后面的闪电图标,弹出对话框中选择“question”。已经完成对“隐藏域”question的赋值,同样也可以进行传递。
) f' E& b2 U9 M( B 0 }" \: T. d R+ p$ s% y$ t) b: x. G
10,剩下的就是把2.asp中的两部分严格分开了。! v6 U; Y2 N- u$ T" M* G R; M* T
选中“嘿嘿,这个用户还没有注册,所以你就没必要找密码了。”这段文本。9 n0 G: {% J$ D$ a
“应用程序”面板“服务器行为”“+”“显示区域”“记录为空则显示区域”。- E- y, k% F5 \2 u% s0 P
弹出对话框中选择刚刚建立的recordset1即可。
9 ?7 ?& p8 t5 X% S. @ 意思很明显:如果没有找到满足SQL语言查询的记录集就显示该行错误提示。
) \- k' j/ g# n
# \+ @% P8 n) O6 h 11,同样,选择form表单,“应用程序”面板“服务器行为”“+”“显示区域”“记录不为空则显示区域”。
: [! o% T ]7 r5 o& M 弹出对话框中选择刚刚建立的recordset1即可。% C7 J6 E2 |) a5 c$ @+ u
意思也很清楚:如果有满足SQL语言查询的记录集就显示问题和答案书写框。
0 l6 s5 p- H/ B; V5 E 最终效果页应该如下:
% R( f: s; P- c0 l& Q5 f 1 g$ i9 T1 l, {& ~
总算把2.asp搞定了。总结下,该页主要起承上启下的作用。先要判断有没有这个用户,如果有,还有把密码问题显示出来,并要能传送到下一页3.asp( Q% W; L" E& n+ v+ F9 K
12,那3.asp就要判断2.asp过来的密码问题以及答案是否和数据库中的吻合了。& \9 u- k" ?. m
又有两个作用:不吻合,说明密码答案错,返回上页再来!吻合,那就规规矩矩地给人家密码吧,呵呵。/ E" k7 ?8 ^: M0 t7 C" }
不过有了做2.asp的经验,做3.asp还不是小菜一碟!, `+ E1 @$ d; l) `! y/ u4 o
13,保存2.asp,在站点新建3.asp并且打开它。老规矩,绑定记录集(“应用程序”面板--“绑定”标签下“+”“记录集(查询)”)。
) t3 E2 x' {% n& @! Y# C) j 在弹出的“记录集”中就要值得你要小心注意了。& ~( Y2 C" \3 L) Z
“筛选”,选择"question" "=" "表单变量" "question"& T1 f- Q! ` A- z
2 H9 L+ Y; k2 Q% X r* q 14,但你有没有注意到,我们要传送两个值给3.asp接受的,但现在只能一个进行选择。那该怎么办呢?切换到“高级”SQL的相关代码。我们要稍加添加。: l, ~7 r' O9 m8 s0 u
SQL结构查询语言会一点,模仿能力强一点,呵呵就过来了!
5 ~3 D# i2 s" A& B/ ~ “变量”添加一个“MMAnswer”,“运行值”当然就是“request.form("answer")”了& m+ c6 ?; V7 B7 ?2 y2 O& i
然后把SQL语言加一下and answer = 'MMAnswer'
: h0 t# ?+ m3 r1 q1 @# J$ ~ 看SQL的意思就明白了:必须要求 question and answer和数据库表中两字段的值吻合。3 o: w2 h7 w5 F$ o/ [2 {6 Z8 h7 B# B
+ C! r0 {& h- S
15,接着,象做2.asp样快速设计3.asp- L B& N$ c! [+ E3 P
页面上书写不吻合的语句“呵呵,你的问题答案不是这个吧,要不回去再试试? ”并且选中后,同样是“应用程序”面板“服务器行为”“+”“显示区域”“记录为空则显示区域”。
5 Q0 m- F2 ~" @$ T ]! n- t6 [4 e 接着是吻合的情况,“你的密码是:”的后面,从“绑定”“记录集”中选择“pwd”插入或者直接拖入到页面;
6 Z/ F, Z9 D1 |0 m 并且还要选中该部分,“应用程序”面板“服务器行为”“+”“显示区域”“记录不为空则显示区域”。; h: q! R7 M! k8 \7 F) @- z; t
r6 ?$ \0 w8 t: W9 [+ |( V, y! } 16,保存3.asp,大功告成!来调试下。" R+ Q4 p7 r& X5 K4 W$ Z* T
0 S3 j' `1 H" `+ W6 s' {, x0 j
, c5 K6 D; b- |4 d1 @7 u
第七步:修改资料篇
6 |# ` S+ N: }4 k 修改资料!首先要清醒一点,什么人才可以修改。
) Z" T/ F/ E& f h7 ~ 一,本人只能修改自己的;二,管理员可以修改所有人的。
. a9 ~+ N- q2 o, S4 K 那今天先来搞个可以修改自己资料的页面。
8 ^6 s0 ]6 V. ~% G5 T+ O0 x 顺序是:先确认是正确登录,然后才是自己的资料出现,再接着你才可以修改,对吧。
6 r$ _8 b4 q O 还记得---菜鸟也学DW做ASP。(登录系统篇)
% b; m" E" {# g& ?7 ? 这里面的loginok.asp页面还在的吧。不在也不要紧。再做一遍,当作练习的。/ h; D) B' T/ r1 t" n
好了吧。loginok.asp主要是个人信息页面,不同的用户显示不同的信息。2 }4 Z/ t" ~; U) Z$ \0 c2 |
这个页要注意的:是一保护页面,要添加“限制对页的访问”的;当然相信你已经做了。
: Q9 ~3 N- r. e6 n0 O 那接着就是显示记录,来!动手了!
" k2 P" x I0 D7 o 1,loginok.asp中“应用程序”面板“绑定”标签“+”“记录集”。
2 B& H7 | X6 t- N' r" b. b 修改资料篇; i ^7 Q3 f5 _* t6 f8 j/ w- s
今天是学习怎么做修改资料的ASP页面6 X$ \+ D' m' f3 s" G; K5 ^. l
修改资料!首先要清醒一点,什么人才可以修改。
% u0 N, y0 L) w/ M: W" ?& l+ [ t 一,本人只能修改自己的;二,管理员可以修改所有人的。: ?5 y* R- A1 x
那今天先来搞个可以修改自己资料的页面。
6 E+ H2 Z* s, E" l2 m$ ~ 顺序是:先确认是正确登录,然后才是自己的资料出现,再接着你才可以修改,对吧。
% m8 k6 l$ K! y# l/ U5 ]! p% t! | 还记得---菜鸟也学DW做ASP。(登录系统篇)
9 B# N; H& E% q2 K# ]1 v 这里面的loginok.asp页面还在的吧。不在也不要紧。再做一遍,当作练习的。5 Y. e, e3 m/ {7 Z, b
好了吧。loginok.asp主要是个人信息页面,不同的用户显示不同的信息。
- m1 V; X. j/ T2 Z" h 这个页要注意的:是一保护页面,要添加“限制对页的访问”的;当然相信你已经做了。* H% W$ n4 J3 q! E
那接着就是显示记录,来!动手了!
7 X0 }5 }* I' a, w2 l8 q: E, Y 1,loginok.asp中“应用程序”面板“绑定”标签“+”“记录集”。
( @& u$ C) a4 z% O% o 4 X+ }( a" b9 O* h
2,弹出的对话框中,好好设置下!主要是筛选那块:"name""=""阶段变量""MM_username"。
9 r6 H: @7 Z; M6 _
: Q' i9 h! X+ |! V+ O* o: G5 s 3,切换到“高级...”其实就是生成了SQL:SELECT * FROM user WHERE name='MMColParam' ,并且MMColParam是一变量,运行的时候被赋上Session("MM_username")值。+ Q) R) P% k4 @4 k: j4 C |
很好理解,loginok.asp所绑定以及要显示的记录,有一条件:就是按WHERE后面的去找。
7 B# O3 N0 R& H' U3 w" W 不愁找不到!因为只有当Session("MM_username")不存在才找不到。$ W8 d/ }. U$ K$ q( V% h
而如果Session("MM_username")不存在那说明这家伙根本还没有正确登录。
& @& u, q& \9 n4 n6 e) u+ c3 t( Y 呵呵,有点像鸡和鸡蛋的问题。
8 s+ O/ n* I; ?9 ^1 k7 d0 l2 y / E3 S- j4 W7 z; @* P$ ^" M
4,其实,这个时候你只要选择“应用程序”--“更新记录表单”就可以做我们的修改了。* d! x* L/ g. W- S# P- \% O1 u/ {
但个人感受,先不去用这个,采用其它的办法同样可以,并且还能学到更多的知识。何乐而不为?6 T, E$ t+ V8 @. M# j# j7 _
' b2 i8 d5 z+ k8 M: F- [9 Z+ G1 |
5,下面,那就跟我来。再让你学一手主详细页面的制作。9 H/ o, G7 T' C, U
有关主详细页,顾名思义。先来个笼统的显示(主要的),对哪个感兴趣,常会来个“详情请进”。5 Y A$ { @: \
当然在这个页子里面是没有多大用处的,因为主来详去就你一个用户信息。& ? R! O' X4 d; [- O& ] ]3 o5 f
但如果是管理员的页面呢?对这个用户具体查看一下就要用到了。8 W" j2 }* Q& k2 p6 Q Y7 u
5 m4 i! L% c; _0 P6 G. L/ ~
6,在弹出的对话框中,"记录集"Recordset1无需理会,"主页字段"意思就是在主页面上要显示的字段信息。
2 k: j( ]5 G; R5 N6 F* d 因为是主,其他不要显示的字段就一个个按“—”删除吧,主得只剩下大名name。6 h4 a+ M6 g4 f( t' Y' p; ^
那下面的连接到详细信息就只有选择“name”了。0 u. `* E$ c" \* F8 S
“传递唯一键”就选自动编号ID吧,当然其他的也可以选,但一定要确认你所选的在数据库表中一定要有内容。比如一些人注册的时候QQ号码不一定写,那这时候你就不能选oicq做为“传递唯一键”- f( L3 L: N* }) s* Q
(所谓“传递唯一键”,就是asp中传递URL参数值。君不见xxx网址是http://www.cnbruce.com/blog/showlog.asp?cat_id=27&;log_id=219,那“?”后面的是什么玩意,cat_id就是参数,27就是值,当然后面不光只要一个参数,多个参数就用&连起来。当然这些东西,学asp的都知道了。DW做,呵呵,不要理解这么多,但你一定要学。)
3 b" T6 i& Z6 y) v: H' j6 A- G 然后是"详细页名称",因为还没有做,当然推荐你先不做,为什么?自有玄机!
: ^5 ?9 n6 c# |1 A* f 就先命名个“xiangxi.asp”吧。/ k/ ^1 D8 o: d
“详细页字段”就不改吧。好!确定。
' ]% W& Y! S3 w8 {2 q2 G7 s: A
7 | \% ?% k* j4 B" o8 N3 H! G, L! J, f 7,确定后,一段时间的等待,突然发现,DW自动生成了xingxi.asp(刚才玄机所在)。不光页面内容生成,连“记录集”也绑定好了,动态文本也添加了。(真是服务周到)
3 P5 ]0 c7 W8 B& F" d7 @$ G1 _+ R
; Y7 c. q$ l" p7 W1 v* }. j" D 8,再看看loginok.asp。有不少东西,看得眼睛发呆,这些大都是和xiangxi.asp进行挂钩连接用的,不是垃圾,甭怕,呵呵。$ Y7 N7 x# M6 {
# f* j3 J' D% U+ M+ f
9,然后做什么事呢?回到xiangxi.asp吧。我们要修改资料,那得有些文本的框框让我填写啊。那这时候就有个死办法,先选中整个表瘢琧trl+x把表格给剪了。立马回到表单工具部分,插入表单,在出来的虚线框中ctrl+v粘贴过来。1 {( \' S0 \; L5 } J: D
. e7 l+ B1 `& T" ~; m0 [3 O 10,接下来,添加文本框。先把{Recordset1.xxx}一个一个删掉,只留下一个ID和name因为这两个不需要修改,也不能修改!
6 U! a* S% v. s& U' M* A4 v 其余的,换成对应的文本框,注意“文本域”打上对应的名字。
3 x5 E$ t) |1 c+ F; w 在对表格加一行,添加两个按钮。; N Y/ a& O) O3 |
* F# t3 _ Q2 a7 v
11,再想想,那些文本框里面是不是空的,正常修改资料的时候还会显示到原有的信息的。所以,选中表单。“应用程序”“绑定”“记录集”中相应的字段。6 N0 t3 s9 f4 @2 d1 R; g
6 n+ ?# R+ ?, e" ?% Q 或者,采用文本框的属性里面设置初始值,点动态闪电图标,弹出对话框中选择对应字段。
; L/ A4 v8 g8 A1 f 4 r* Z( d3 n9 q4 f& e
12,好了以后,选中form表单。。“应用程序”--“服务器行为”--“+”--“更新记录”/ `* ?1 B/ {& U }. z3 C
! s& `" `; w0 d; G. ]
13,弹出窗口中,一般默认。“在更新后,转到:”老规矩先写个xiugaiok.html,以后再来建。" X! n- I, T+ v7 ]+ v3 f" U
/ o( X( @. f' l4 p* V
14,当然,该页还没有结束,要添加“服务器行为”--“用户身份验证”--“限制对页的访问”,主要还是起保护作用,不能随便就能进入的。
U8 P- X% a9 a7 E. T 最后在把xiugaiok.html做下了,大体内容:修改成功!返回loginok.asp。& G# g& T8 z1 @' o
基本完成,可以调试了。先从loginok.asp开始。因为是第一次打开窗口,根本没有登录,所以loginok.asp回自动转向到loginbad.html4 O& u* u" W. i1 L% _7 K! v" U
* i. {3 I: s2 t
返回到login.asp,一路填下去
. S0 z% I* J/ _4 O! O
+ S8 h" m% Q3 F' |' v6 V1 } - d/ T9 B3 k& E* v9 n' o+ v8 R
点击“cnbruce”修改密码“789”确定!$ | l( |+ J+ o3 @) ?3 B+ i5 R
( T% ~# k' X* c' c 然后,你再返回到 login.asp看看更改密码是不是生效了!
4 P6 d6 S$ D8 P" N1 [- A) K3 M 最后:整个的修改页是越来越复杂了,我采用步骤比较多的方法,当然也附带学到了主详细页的用处。最主要是本人认为这样对初学者才有挑战性,能够灵活运用,扩展,修改,细化,都需要自己多练。有错误是正常的,需要你自己对错误的认识和摆平,只有这样,也许技术才会有所提高。
6 }9 s# E6 z; \: C; c |
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
|