  
- UID
- 1
- 帖子
- 738
- 精华
- 28
- 积分
- 14247
- 金币
- 2414
- 威望
- 1647
- 贡献
- 1362
|
用Dreamweaver制作ASP动态网页(图解五)
第六步 查找密码系统
% G& |5 r7 P( S; n' D0 H 1,建立第一个页面 1.asp,其主要作用是让查找密码的朋友输入其用户名,很简单的页面:一个name文本输入框,和一个submit提交按钮。
* l% G0 f4 F( x/ v 8 q3 f5 c0 O( B7 ?, }3 o
2,1.asp中选form标记,在相应的属性框中,“动作”填写2.asp,“方法”采用post。7 [6 [+ A3 n k W
& l# q/ \) Y- L5 O4 k( o; c" f2 j" j 3,保存1.asp,在站点里面新建2.asp,并打开它。1 h+ [ e0 ]+ o; _! c8 r2 h" ~! }2 N
该页的作用有两个:5 R+ x) e( x+ o
1,判断上一页,即1.asp所填写名字在数据库中是否存在。% J% e( B2 e0 B( Z# @; ]
2,不存在应提示出错,存在则应将该用户的问题(question)字段内容显示。
. \9 V$ C3 p5 j3 G/ I9 m4 R 具体怎么实现呢?
0 r- y( i. t6 o. {; F+ }# l 4,2.asp上数据库已经连好。老方法,先绑定记录集(“应用程序”面板--“绑定”标签下“+”“记录集(查询)”)。在弹出的“记录集”中就要好好设置了。最主要的就是“筛选”,选择"name" "=" "表单变量" "name"。
3 i. r6 l p* y 意思是,要显示数据库表中字段name的内容,得有个条件,那就是:从上一页(1.asp)中书写的name表单内容要和库中的字段name值相等。
/ z1 `& y- X. v1 D7 T 0 h6 j9 J- \7 u4 N6 L) q
5,其实切换到“高级”就可以看到自动生成的SQL代码,其中就有requeset.form("name"),意思就是把1.asp文本框中输入的值接受过来。/ W) E! `( ~, Z# R, S6 k
+ }. x5 i0 I! o* } 6,在2.asp页面敲入不存在该用户的提示语言"嘿嘿,这个用户还没有注册,所以你就没必要找密码了。"8 ^0 r# u: d4 Y5 Z: s
换行再敲入存在该用户的语句。但与此同时还要注意把密码问题SHOW出来,以及问题的答案做成文本框。
% b' W; `( T( x3 K- S3 `/ Q0 A
L( a6 u1 @4 M 7,选中2.asp的form标签,属性面板中动作填写3.asp,方法采用post。3.asp主要就是用来判断问题和答案是否吻合,如吻合则显示正确密码了。注意!是问题和答案在一起。而我们当前只有答案可以传过去,那我们的问题该怎么传到3.asp呢?/ t# Y) v% i h2 [- m' Y l
# d; M }' q( r; T9 Z" d9 N1 P
8,在“你的密码问题是:”后面插入光标,然后从“绑定”的“记录集”中选择“question”插入或者直接拖入到页面。注意!这还只是显示给用户密码问题,是不能将此信息传过去的。那怎么样才可以呢?
0 i3 ^7 O+ _" K1 L" U
4 ~& [# b! @( Z) Q2 [! W! m( z 9,我们采用“隐藏域”来传送question的值。插入一“隐藏域”(PS:有人不会插入吗?呵呵),对“隐藏域”的属性进行修改:“隐藏区域”名称就叫"question"吧,“值”点击后面的闪电图标,弹出对话框中选择“question”。已经完成对“隐藏域”question的赋值,同样也可以进行传递。
# U1 N2 t) T6 `/ s3 q, L ) }; w: V0 ~* e( I C' ^8 d7 m
10,剩下的就是把2.asp中的两部分严格分开了。
4 P, S; v8 h+ U+ d, B' o 选中“嘿嘿,这个用户还没有注册,所以你就没必要找密码了。”这段文本。) W) r& m; T C3 z* _: ]+ I0 s: P! ?
“应用程序”面板“服务器行为”“+”“显示区域”“记录为空则显示区域”。' S6 P1 I! G6 H, N! J$ F8 p! T, K9 l
弹出对话框中选择刚刚建立的recordset1即可。& m) G$ L2 i9 O! k1 b) ~: _7 J
意思很明显:如果没有找到满足SQL语言查询的记录集就显示该行错误提示。
2 |5 L: Y/ o$ x! |5 e+ d
. d% Q9 X$ k7 V0 ~ 11,同样,选择form表单,“应用程序”面板“服务器行为”“+”“显示区域”“记录不为空则显示区域”。- E2 ~7 G, p" Z2 z) h
弹出对话框中选择刚刚建立的recordset1即可。# l1 D4 K- P2 X4 _! a2 N+ w9 l5 S
意思也很清楚:如果有满足SQL语言查询的记录集就显示问题和答案书写框。
! h" i( W' ~+ S& r 最终效果页应该如下:
1 i6 T) n: g4 H- `6 c7 Z
4 C. D: I7 w9 c7 ]; h' }" m! H3 D 总算把2.asp搞定了。总结下,该页主要起承上启下的作用。先要判断有没有这个用户,如果有,还有把密码问题显示出来,并要能传送到下一页3.asp
5 n: p2 @0 ~- M2 H! E5 o* x 12,那3.asp就要判断2.asp过来的密码问题以及答案是否和数据库中的吻合了。/ o5 ?3 a1 ?: L6 O/ Z9 q
又有两个作用:不吻合,说明密码答案错,返回上页再来!吻合,那就规规矩矩地给人家密码吧,呵呵。
/ w4 @+ a" Y' m2 a 不过有了做2.asp的经验,做3.asp还不是小菜一碟!
9 p6 C' j0 [: ^& I 13,保存2.asp,在站点新建3.asp并且打开它。老规矩,绑定记录集(“应用程序”面板--“绑定”标签下“+”“记录集(查询)”)。
# Z5 d) {5 \$ D8 [2 H( v 在弹出的“记录集”中就要值得你要小心注意了。
6 y& h9 U/ a1 `9 ^ “筛选”,选择"question" "=" "表单变量" "question"
# n2 U% ?' \$ a2 |0 o ) N9 ~: P( Y' R6 A" P
14,但你有没有注意到,我们要传送两个值给3.asp接受的,但现在只能一个进行选择。那该怎么办呢?切换到“高级”SQL的相关代码。我们要稍加添加。
: |1 m' d6 ~+ c$ U4 z I$ u SQL结构查询语言会一点,模仿能力强一点,呵呵就过来了!
- g! m6 t$ N7 E4 E* X “变量”添加一个“MMAnswer”,“运行值”当然就是“request.form("answer")”了! y$ i' a2 q( A, ^- `
然后把SQL语言加一下and answer = 'MMAnswer') z. X: L8 ~- s* u- }1 d$ ^
看SQL的意思就明白了:必须要求 question and answer和数据库表中两字段的值吻合。. ~: ]3 P: j( j7 F
0 Y% u! O: {3 v( e 15,接着,象做2.asp样快速设计3.asp7 [2 ^, ?: J# p0 Y, F$ o
页面上书写不吻合的语句“呵呵,你的问题答案不是这个吧,要不回去再试试? ”并且选中后,同样是“应用程序”面板“服务器行为”“+”“显示区域”“记录为空则显示区域”。) \0 A1 d, S7 [0 E9 `+ L
接着是吻合的情况,“你的密码是:”的后面,从“绑定”“记录集”中选择“pwd”插入或者直接拖入到页面;
% C* ^: O( Z7 n. y' V 并且还要选中该部分,“应用程序”面板“服务器行为”“+”“显示区域”“记录不为空则显示区域”。6 J7 R, X( O6 i. `& @( B3 x2 Z
0 z$ g- q1 j" j6 H9 H: N- p
16,保存3.asp,大功告成!来调试下。4 {; Y4 K! y! z* w6 l, b
0 w- j& R8 s5 B8 ~
: k0 _) k) o+ v. F% Y: v
第七步:修改资料篇0 H2 a: D2 M+ I) ^5 D
修改资料!首先要清醒一点,什么人才可以修改。: S! D# r% y1 B2 ~: B3 S
一,本人只能修改自己的;二,管理员可以修改所有人的。4 L2 i- W! E+ j9 t) Y! Z
那今天先来搞个可以修改自己资料的页面。3 X, P7 F/ ]& W: N/ h# ]
顺序是:先确认是正确登录,然后才是自己的资料出现,再接着你才可以修改,对吧。
+ n% y' B8 G! f, Y/ E 还记得---菜鸟也学DW做ASP。(登录系统篇)( s( ]/ n" F Z$ b8 w0 I/ {6 }, g# X
这里面的loginok.asp页面还在的吧。不在也不要紧。再做一遍,当作练习的。! g" S0 F' Z' v$ w$ _
好了吧。loginok.asp主要是个人信息页面,不同的用户显示不同的信息。1 k4 K* ~7 C3 @9 d$ l7 x! {4 C' G( v
这个页要注意的:是一保护页面,要添加“限制对页的访问”的;当然相信你已经做了。
^! A$ t. m1 @, w) }! w; g( E$ w 那接着就是显示记录,来!动手了!- p1 Z" w( U0 p, g* B
1,loginok.asp中“应用程序”面板“绑定”标签“+”“记录集”。
: w6 m" t# ~( h( \$ Z$ \' R4 D 修改资料篇% v& Y1 R- R, b+ M/ }& Q# h& F" e
今天是学习怎么做修改资料的ASP页面
! R) c) Z. W7 }$ z4 d3 h 修改资料!首先要清醒一点,什么人才可以修改。
7 u9 E( l# V/ ? E) y 一,本人只能修改自己的;二,管理员可以修改所有人的。
3 f* H: [" U! A$ c" b; w T 那今天先来搞个可以修改自己资料的页面。5 \! |$ b8 X1 I, T
顺序是:先确认是正确登录,然后才是自己的资料出现,再接着你才可以修改,对吧。' |- t! ]) D3 O" Z& K
还记得---菜鸟也学DW做ASP。(登录系统篇)
* f, Y, A4 F( _7 J/ ? 这里面的loginok.asp页面还在的吧。不在也不要紧。再做一遍,当作练习的。 a0 @# t; x. g8 B! y$ W' H0 n8 W
好了吧。loginok.asp主要是个人信息页面,不同的用户显示不同的信息。
. w2 M7 l& d. w# q3 J% E% X/ p 这个页要注意的:是一保护页面,要添加“限制对页的访问”的;当然相信你已经做了。
/ R1 p: c' B% s* w/ C. ` 那接着就是显示记录,来!动手了!
+ I, e$ X; t, J8 W: o9 o0 p" S9 V 1,loginok.asp中“应用程序”面板“绑定”标签“+”“记录集”。
7 _, j- w" T y4 v1 \
& H3 {. ` X7 o# `9 e0 A8 ]! X" { 2,弹出的对话框中,好好设置下!主要是筛选那块:"name""=""阶段变量""MM_username"。
1 m" `6 `. w! V1 r
2 }1 k! [& |3 m7 M+ _# `1 f6 Z 3,切换到“高级...”其实就是生成了SQL:SELECT * FROM user WHERE name='MMColParam' ,并且MMColParam是一变量,运行的时候被赋上Session("MM_username")值。2 Y/ |8 \% K' U" n6 B
很好理解,loginok.asp所绑定以及要显示的记录,有一条件:就是按WHERE后面的去找。
" `! S6 Q4 I. j) c$ W/ K 不愁找不到!因为只有当Session("MM_username")不存在才找不到。
* x4 l: Z2 x2 Z# Y4 m/ X 而如果Session("MM_username")不存在那说明这家伙根本还没有正确登录。
' f+ m* s( O- r/ g2 S5 d 呵呵,有点像鸡和鸡蛋的问题。
! Y. {; ?: j+ a2 |9 Q
; M( l5 z |( H; R" U 4,其实,这个时候你只要选择“应用程序”--“更新记录表单”就可以做我们的修改了。3 K; a- ^4 H7 T7 {5 `# c% Y
但个人感受,先不去用这个,采用其它的办法同样可以,并且还能学到更多的知识。何乐而不为?
z2 g$ V+ V5 [. b p' Z + ~" A# l( ~$ z& A7 b G
5,下面,那就跟我来。再让你学一手主详细页面的制作。
% g& |6 z; m/ C t5 m 有关主详细页,顾名思义。先来个笼统的显示(主要的),对哪个感兴趣,常会来个“详情请进”。
, n7 O2 K# {( E" d 当然在这个页子里面是没有多大用处的,因为主来详去就你一个用户信息。$ e( x! O2 G; b/ M" z! v. y- g4 N
但如果是管理员的页面呢?对这个用户具体查看一下就要用到了。, y0 f2 ]5 Q$ q7 c* | ^5 ^
8 f4 }$ N4 K7 D. l 6,在弹出的对话框中,"记录集"Recordset1无需理会,"主页字段"意思就是在主页面上要显示的字段信息。# M9 E3 l$ I, S( z& E2 Y
因为是主,其他不要显示的字段就一个个按“—”删除吧,主得只剩下大名name。
0 I$ k3 H6 [/ n+ u5 U1 @7 l# E 那下面的连接到详细信息就只有选择“name”了。6 K0 c! s- Y1 n" H6 N6 O7 `9 i4 h
“传递唯一键”就选自动编号ID吧,当然其他的也可以选,但一定要确认你所选的在数据库表中一定要有内容。比如一些人注册的时候QQ号码不一定写,那这时候你就不能选oicq做为“传递唯一键”7 c" D7 H @2 {8 @ V
(所谓“传递唯一键”,就是asp中传递URL参数值。君不见xxx网址是http://www.cnbruce.com/blog/showlog.asp?cat_id=27&;log_id=219,那“?”后面的是什么玩意,cat_id就是参数,27就是值,当然后面不光只要一个参数,多个参数就用&连起来。当然这些东西,学asp的都知道了。DW做,呵呵,不要理解这么多,但你一定要学。)
5 Y7 J8 d x' s3 {& e2 g 然后是"详细页名称",因为还没有做,当然推荐你先不做,为什么?自有玄机!: F. E2 s" m' N( j+ N1 {: ]
就先命名个“xiangxi.asp”吧。
6 S& ~4 L) j, x “详细页字段”就不改吧。好!确定。
1 M9 U+ B* J% i
! v i) R" ~8 r3 r7 B 7,确定后,一段时间的等待,突然发现,DW自动生成了xingxi.asp(刚才玄机所在)。不光页面内容生成,连“记录集”也绑定好了,动态文本也添加了。(真是服务周到)8 O/ V3 Z, a3 C0 x: S# s
% A( O& d. V7 I9 y' R 8,再看看loginok.asp。有不少东西,看得眼睛发呆,这些大都是和xiangxi.asp进行挂钩连接用的,不是垃圾,甭怕,呵呵。3 v" _( m5 y6 N0 L% R
" P# A+ c3 a* F% A% ?# v' f3 ^2 G 9,然后做什么事呢?回到xiangxi.asp吧。我们要修改资料,那得有些文本的框框让我填写啊。那这时候就有个死办法,先选中整个表瘢琧trl+x把表格给剪了。立马回到表单工具部分,插入表单,在出来的虚线框中ctrl+v粘贴过来。$ Y$ a. c9 N! j. I3 {, \
+ u1 i% b+ g' D, W. x! B! y/ { 10,接下来,添加文本框。先把{Recordset1.xxx}一个一个删掉,只留下一个ID和name因为这两个不需要修改,也不能修改!
: F% I6 y; y$ c/ j+ M5 v 其余的,换成对应的文本框,注意“文本域”打上对应的名字。- S: ~( r# Q: S' F) S" J4 I0 g. H3 u
在对表格加一行,添加两个按钮。$ B! L9 n$ I1 |2 W: n2 U
/ f) _+ A. g$ K5 L u7 j2 e 11,再想想,那些文本框里面是不是空的,正常修改资料的时候还会显示到原有的信息的。所以,选中表单。“应用程序”“绑定”“记录集”中相应的字段。
+ U9 W5 K! {! g, H" j9 z) R
) \! |) Y$ Z: N+ Y* U7 P/ F/ K 或者,采用文本框的属性里面设置初始值,点动态闪电图标,弹出对话框中选择对应字段。( W' n# ]0 q/ z' v) z- I
^+ k0 h/ k6 b! i y9 _ 12,好了以后,选中form表单。。“应用程序”--“服务器行为”--“+”--“更新记录”
# v/ D \/ T( |
$ j/ H5 p$ C: @( `/ Z2 j5 m 13,弹出窗口中,一般默认。“在更新后,转到:”老规矩先写个xiugaiok.html,以后再来建。
. M; ~% C3 N( L. F+ L6 l
1 Z# G9 `3 V3 q3 a2 [- ]& y 14,当然,该页还没有结束,要添加“服务器行为”--“用户身份验证”--“限制对页的访问”,主要还是起保护作用,不能随便就能进入的。
) g" C# f/ x) h 最后在把xiugaiok.html做下了,大体内容:修改成功!返回loginok.asp。% c% ] R* b+ i. b/ A. G
基本完成,可以调试了。先从loginok.asp开始。因为是第一次打开窗口,根本没有登录,所以loginok.asp回自动转向到loginbad.html5 a+ T3 w, K1 a( D
5 s; w; p6 v; Z$ O8 m* s
返回到login.asp,一路填下去 O( ^3 {2 ]0 ^7 i
& P' {% {' `0 @ j / t8 B7 ^& i( [
点击“cnbruce”修改密码“789”确定!
: X* j7 p8 u9 b8 k5 @% h1 y
3 I+ \3 e! X6 [6 r7 u$ n: k0 A 然后,你再返回到 login.asp看看更改密码是不是生效了!
3 ?. L) K) G$ p; _; y 最后:整个的修改页是越来越复杂了,我采用步骤比较多的方法,当然也附带学到了主详细页的用处。最主要是本人认为这样对初学者才有挑战性,能够灵活运用,扩展,修改,细化,都需要自己多练。有错误是正常的,需要你自己对错误的认识和摆平,只有这样,也许技术才会有所提高。
; ^4 u6 K4 A7 c# J' Z% d$ W |
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
|