  
- UID
- 1
- 帖子
- 738
- 精华
- 28
- 积分
- 14247
- 金币
- 2414
- 威望
- 1647
- 贡献
- 1362
|
用Dreamweaver制作ASP动态网页(图解五)
第六步 查找密码系统
7 y8 _9 }2 J+ h! N& P# ^ 1,建立第一个页面 1.asp,其主要作用是让查找密码的朋友输入其用户名,很简单的页面:一个name文本输入框,和一个submit提交按钮。
! X% S ?% g$ C# ^; b4 _. a : A5 P+ u* ]& {. ?& \9 x
2,1.asp中选form标记,在相应的属性框中,“动作”填写2.asp,“方法”采用post。
. y5 M3 T6 g+ I1 U- z$ | 6 M( F" R7 g8 t) W2 }7 b
3,保存1.asp,在站点里面新建2.asp,并打开它。
* l% J& k7 K% B8 M: M 该页的作用有两个:
; k7 ]2 U, G1 K; [, h 1,判断上一页,即1.asp所填写名字在数据库中是否存在。% k+ Y% e7 R/ i$ O* t
2,不存在应提示出错,存在则应将该用户的问题(question)字段内容显示。
6 J& H7 ?" Y( A9 a8 [6 N- V! D 具体怎么实现呢?
& \* F. K8 z1 Y/ j2 x3 G0 F 4,2.asp上数据库已经连好。老方法,先绑定记录集(“应用程序”面板--“绑定”标签下“+”“记录集(查询)”)。在弹出的“记录集”中就要好好设置了。最主要的就是“筛选”,选择"name" "=" "表单变量" "name"。' V. E# v V/ E4 S
意思是,要显示数据库表中字段name的内容,得有个条件,那就是:从上一页(1.asp)中书写的name表单内容要和库中的字段name值相等。
5 \5 z% f0 ]3 F1 i, B* v. B / r0 k+ Y0 M5 L$ @
5,其实切换到“高级”就可以看到自动生成的SQL代码,其中就有requeset.form("name"),意思就是把1.asp文本框中输入的值接受过来。
2 p9 |+ R5 y* U # x* b9 Z/ d; C. y3 Z! p$ P
6,在2.asp页面敲入不存在该用户的提示语言"嘿嘿,这个用户还没有注册,所以你就没必要找密码了。"
9 w5 D4 [5 E" ?) T( X; g 换行再敲入存在该用户的语句。但与此同时还要注意把密码问题SHOW出来,以及问题的答案做成文本框。
, u8 d# h( W0 _2 w / Z" w: T- d; ^! {9 i
7,选中2.asp的form标签,属性面板中动作填写3.asp,方法采用post。3.asp主要就是用来判断问题和答案是否吻合,如吻合则显示正确密码了。注意!是问题和答案在一起。而我们当前只有答案可以传过去,那我们的问题该怎么传到3.asp呢?0 B9 n9 T6 c7 E5 D
% V# d. ?; H8 U5 _7 S% `" Y4 u
8,在“你的密码问题是:”后面插入光标,然后从“绑定”的“记录集”中选择“question”插入或者直接拖入到页面。注意!这还只是显示给用户密码问题,是不能将此信息传过去的。那怎么样才可以呢?6 U x9 B0 c ?3 Y& V
) V1 Q% E. k- j5 _6 o" p 9,我们采用“隐藏域”来传送question的值。插入一“隐藏域”(PS:有人不会插入吗?呵呵),对“隐藏域”的属性进行修改:“隐藏区域”名称就叫"question"吧,“值”点击后面的闪电图标,弹出对话框中选择“question”。已经完成对“隐藏域”question的赋值,同样也可以进行传递。3 ]4 E! t$ Y; B. w
/ N: @: I8 D9 O! e9 v$ l
10,剩下的就是把2.asp中的两部分严格分开了。4 t' v- M7 {0 C! m
选中“嘿嘿,这个用户还没有注册,所以你就没必要找密码了。”这段文本。
4 e& p3 Q5 b0 i3 a6 P# ^9 t “应用程序”面板“服务器行为”“+”“显示区域”“记录为空则显示区域”。
7 d- {- v/ \( y' ]; f2 k 弹出对话框中选择刚刚建立的recordset1即可。
( T7 p! s6 F% j F 意思很明显:如果没有找到满足SQL语言查询的记录集就显示该行错误提示。
1 f) f. F( _5 G 6 J1 N' {" r+ q' \/ u9 b* O) y+ ^ r
11,同样,选择form表单,“应用程序”面板“服务器行为”“+”“显示区域”“记录不为空则显示区域”。" p% ]+ x; v) c* ?1 q7 y- U; ]
弹出对话框中选择刚刚建立的recordset1即可。1 A1 d, u$ G) K; O, k9 K
意思也很清楚:如果有满足SQL语言查询的记录集就显示问题和答案书写框。$ B2 k9 Z3 m- o/ n, W
最终效果页应该如下:
+ }; e! C) |9 V! c) i
7 a; ~1 R) B; `. ? F0 } 总算把2.asp搞定了。总结下,该页主要起承上启下的作用。先要判断有没有这个用户,如果有,还有把密码问题显示出来,并要能传送到下一页3.asp! f/ t, a6 B; ?+ `
12,那3.asp就要判断2.asp过来的密码问题以及答案是否和数据库中的吻合了。1 g- a5 g3 k( B+ g
又有两个作用:不吻合,说明密码答案错,返回上页再来!吻合,那就规规矩矩地给人家密码吧,呵呵。
2 P% h/ d& y- N. N% ]# w 不过有了做2.asp的经验,做3.asp还不是小菜一碟!1 U/ Y$ q9 K {7 n* b: ~1 E% K
13,保存2.asp,在站点新建3.asp并且打开它。老规矩,绑定记录集(“应用程序”面板--“绑定”标签下“+”“记录集(查询)”)。
& z* m1 |5 Z0 F* U1 Y/ M5 N 在弹出的“记录集”中就要值得你要小心注意了。
8 A, ]7 L* R) K+ \$ k9 m" W* G “筛选”,选择"question" "=" "表单变量" "question"
, D3 p# x s2 }' u/ W8 S5 \" x* a3 p
- U9 ^' E! x, V. E1 _8 A. D- m* U" V 14,但你有没有注意到,我们要传送两个值给3.asp接受的,但现在只能一个进行选择。那该怎么办呢?切换到“高级”SQL的相关代码。我们要稍加添加。
. i& Y4 s6 l* i3 @+ N z. @' T SQL结构查询语言会一点,模仿能力强一点,呵呵就过来了!6 \3 i. ]2 Z' L8 b! r, U
“变量”添加一个“MMAnswer”,“运行值”当然就是“request.form("answer")”了
& {3 g& G/ K7 Y 然后把SQL语言加一下and answer = 'MMAnswer'# o2 X5 _ q0 L! z" @$ a$ t
看SQL的意思就明白了:必须要求 question and answer和数据库表中两字段的值吻合。
( R7 d% v- Y. K6 b & i/ A! C- g. u$ `8 i( q
15,接着,象做2.asp样快速设计3.asp
! I, o5 S2 p; F& M9 r8 D$ x 页面上书写不吻合的语句“呵呵,你的问题答案不是这个吧,要不回去再试试? ”并且选中后,同样是“应用程序”面板“服务器行为”“+”“显示区域”“记录为空则显示区域”。* d, |& _) ^ J9 @0 c$ S( y
接着是吻合的情况,“你的密码是:”的后面,从“绑定”“记录集”中选择“pwd”插入或者直接拖入到页面;4 {6 Y% B9 m5 ~6 r) o4 |
并且还要选中该部分,“应用程序”面板“服务器行为”“+”“显示区域”“记录不为空则显示区域”。
0 _' ^% D* e' r. P; V ; S3 N* h m ?
16,保存3.asp,大功告成!来调试下。
' U6 [4 L3 L0 k6 s% j8 {$ l% v - W+ \% ?8 v" l& ~
' s z! S1 ?9 |$ W! ~$ L第七步:修改资料篇, L3 x0 h7 z& g8 g; E3 e) ?
修改资料!首先要清醒一点,什么人才可以修改。
2 _- u1 j. x' t9 W4 \! ~+ E 一,本人只能修改自己的;二,管理员可以修改所有人的。
! T0 D" v* L+ p3 z1 o" o* m: ] 那今天先来搞个可以修改自己资料的页面。3 n: ?: b; B5 B4 x
顺序是:先确认是正确登录,然后才是自己的资料出现,再接着你才可以修改,对吧。
& g' W* S! p) Q. H1 W6 ^/ L3 H 还记得---菜鸟也学DW做ASP。(登录系统篇)7 }- i0 |# O2 y& i
这里面的loginok.asp页面还在的吧。不在也不要紧。再做一遍,当作练习的。6 y( H! ^& p% [' y
好了吧。loginok.asp主要是个人信息页面,不同的用户显示不同的信息。* S0 z0 v. i3 `0 {5 a9 d
这个页要注意的:是一保护页面,要添加“限制对页的访问”的;当然相信你已经做了。 z7 W( }; t9 ?- I; z7 [
那接着就是显示记录,来!动手了!
$ I) z: m I" m 1,loginok.asp中“应用程序”面板“绑定”标签“+”“记录集”。
& B+ w8 N3 U: {2 n- ?; a 修改资料篇
7 A* y( z, T) y- m% P 今天是学习怎么做修改资料的ASP页面
# z' Q6 r8 Y0 R3 b 修改资料!首先要清醒一点,什么人才可以修改。
+ @9 M) a& d8 W& _8 L 一,本人只能修改自己的;二,管理员可以修改所有人的。8 F r+ b* }4 L; _+ v9 m
那今天先来搞个可以修改自己资料的页面。
$ ~ ]2 d- N5 T" f. V, l, e+ a 顺序是:先确认是正确登录,然后才是自己的资料出现,再接着你才可以修改,对吧。/ @1 Z& i3 X+ y( Q( x {6 g1 I
还记得---菜鸟也学DW做ASP。(登录系统篇)
' M) q8 W7 z' W6 C; O" u( h 这里面的loginok.asp页面还在的吧。不在也不要紧。再做一遍,当作练习的。3 w" [% r0 y! o
好了吧。loginok.asp主要是个人信息页面,不同的用户显示不同的信息。
' T1 e3 x" h; x* f 这个页要注意的:是一保护页面,要添加“限制对页的访问”的;当然相信你已经做了。
/ q# o$ n) L# ~% I 那接着就是显示记录,来!动手了!
! E( R% I( W& C3 q, m b p 1,loginok.asp中“应用程序”面板“绑定”标签“+”“记录集”。
/ g( [4 K2 V4 |# u# }; F
o* k! R) y5 J( f) k 2,弹出的对话框中,好好设置下!主要是筛选那块:"name""=""阶段变量""MM_username"。
0 w8 m; G; q: U5 N0 \
! k# n) }5 C1 M, R 3,切换到“高级...”其实就是生成了SQL:SELECT * FROM user WHERE name='MMColParam' ,并且MMColParam是一变量,运行的时候被赋上Session("MM_username")值。, F' j( J9 r" ~5 A. v
很好理解,loginok.asp所绑定以及要显示的记录,有一条件:就是按WHERE后面的去找。1 @5 |6 D6 N* n) C4 E* h
不愁找不到!因为只有当Session("MM_username")不存在才找不到。
+ P, V# w- z i# w! d. j 而如果Session("MM_username")不存在那说明这家伙根本还没有正确登录。
0 U+ `4 @& [1 I2 \ 呵呵,有点像鸡和鸡蛋的问题。2 B' ^+ s' ^/ w5 X2 n) y
) f. Z S+ X5 ^: n7 Y 4,其实,这个时候你只要选择“应用程序”--“更新记录表单”就可以做我们的修改了。/ w, m g! e( A: v
但个人感受,先不去用这个,采用其它的办法同样可以,并且还能学到更多的知识。何乐而不为?
$ i& m+ ]& D6 H8 A 4 f- c# U4 o$ n# ]' p" V5 G0 J7 \
5,下面,那就跟我来。再让你学一手主详细页面的制作。
, Q5 A% V. ~! X v" l 有关主详细页,顾名思义。先来个笼统的显示(主要的),对哪个感兴趣,常会来个“详情请进”。
2 H7 V3 `$ V, Y' y' k7 V& a# A 当然在这个页子里面是没有多大用处的,因为主来详去就你一个用户信息。
! ]; ]- h! [2 i b( t 但如果是管理员的页面呢?对这个用户具体查看一下就要用到了。
; r0 T' Y2 k7 P* {; b
8 c, [% w3 I0 Q- b9 x 6,在弹出的对话框中,"记录集"Recordset1无需理会,"主页字段"意思就是在主页面上要显示的字段信息。6 H% W2 X3 m7 y+ S& y
因为是主,其他不要显示的字段就一个个按“—”删除吧,主得只剩下大名name。
1 Z& y! F( Q) ^, V6 l 那下面的连接到详细信息就只有选择“name”了。
. u7 C4 k. O- F. T “传递唯一键”就选自动编号ID吧,当然其他的也可以选,但一定要确认你所选的在数据库表中一定要有内容。比如一些人注册的时候QQ号码不一定写,那这时候你就不能选oicq做为“传递唯一键”3 G2 Z s( @5 l3 D1 T( |2 R3 b
(所谓“传递唯一键”,就是asp中传递URL参数值。君不见xxx网址是http://www.cnbruce.com/blog/showlog.asp?cat_id=27&;log_id=219,那“?”后面的是什么玩意,cat_id就是参数,27就是值,当然后面不光只要一个参数,多个参数就用&连起来。当然这些东西,学asp的都知道了。DW做,呵呵,不要理解这么多,但你一定要学。)
9 O- P* v3 N1 `8 ~# w! C4 m 然后是"详细页名称",因为还没有做,当然推荐你先不做,为什么?自有玄机!
2 N% @8 C6 w, ^/ H+ A* k 就先命名个“xiangxi.asp”吧。
: c+ n) Y. U5 ?7 o3 r2 Q! c “详细页字段”就不改吧。好!确定。$ Z6 [5 G5 D' ]% m% L
/ Y- H% ~: L+ v' b- f 7,确定后,一段时间的等待,突然发现,DW自动生成了xingxi.asp(刚才玄机所在)。不光页面内容生成,连“记录集”也绑定好了,动态文本也添加了。(真是服务周到), k6 I' y. T! l& i+ Y; C& s4 H" H
, C! x* z3 N* s9 _. `8 ~ 8,再看看loginok.asp。有不少东西,看得眼睛发呆,这些大都是和xiangxi.asp进行挂钩连接用的,不是垃圾,甭怕,呵呵。( ?7 n! H1 d$ D# O4 [4 z
% `! g; L! F, \! }5 J
9,然后做什么事呢?回到xiangxi.asp吧。我们要修改资料,那得有些文本的框框让我填写啊。那这时候就有个死办法,先选中整个表瘢琧trl+x把表格给剪了。立马回到表单工具部分,插入表单,在出来的虚线框中ctrl+v粘贴过来。3 l% U* v/ u* U5 I
# ?, ?+ X, f0 @4 F 10,接下来,添加文本框。先把{Recordset1.xxx}一个一个删掉,只留下一个ID和name因为这两个不需要修改,也不能修改!
; C( M$ [7 l$ h 其余的,换成对应的文本框,注意“文本域”打上对应的名字。, t; _: i) _& i9 {5 [1 d
在对表格加一行,添加两个按钮。
M) r# ?: a, ` B q8 @2 v
D9 w* R p1 j5 p; g: e 11,再想想,那些文本框里面是不是空的,正常修改资料的时候还会显示到原有的信息的。所以,选中表单。“应用程序”“绑定”“记录集”中相应的字段。7 y! c$ y9 p6 U8 i, Q P
3 i3 r# `! \. v8 U! o2 a0 {0 F# O 或者,采用文本框的属性里面设置初始值,点动态闪电图标,弹出对话框中选择对应字段。+ }" H) m4 D$ [. l. k
; h( E, E. \& i: v 12,好了以后,选中form表单。。“应用程序”--“服务器行为”--“+”--“更新记录”7 y8 n4 j. @5 i
0 \& X l2 K( k1 x8 v* `3 ` 13,弹出窗口中,一般默认。“在更新后,转到:”老规矩先写个xiugaiok.html,以后再来建。. I) R' I4 Z0 ]
7 Z; G6 m& F$ k1 j1 H
14,当然,该页还没有结束,要添加“服务器行为”--“用户身份验证”--“限制对页的访问”,主要还是起保护作用,不能随便就能进入的。
* x$ N0 C8 |* U% p' T 最后在把xiugaiok.html做下了,大体内容:修改成功!返回loginok.asp。* ~# @# T! r0 j
基本完成,可以调试了。先从loginok.asp开始。因为是第一次打开窗口,根本没有登录,所以loginok.asp回自动转向到loginbad.html
3 N: R: [, |; |7 f ; Y( ^3 N) l3 {1 S9 |
返回到login.asp,一路填下去
; a$ t6 i4 o: Y! R# c
% k* R1 U4 c( d. p. S& s
* P3 W: r5 U) z: S# t( B 点击“cnbruce”修改密码“789”确定!1 {0 ^0 ]* } {7 `& H( [) s6 Z1 J
; H2 f: `5 {8 h7 m) y: v' }% [
然后,你再返回到 login.asp看看更改密码是不是生效了!
* f: z5 w+ \& O' k9 I+ P1 b 最后:整个的修改页是越来越复杂了,我采用步骤比较多的方法,当然也附带学到了主详细页的用处。最主要是本人认为这样对初学者才有挑战性,能够灵活运用,扩展,修改,细化,都需要自己多练。有错误是正常的,需要你自己对错误的认识和摆平,只有这样,也许技术才会有所提高。
0 P5 w2 i) x. H) C* N |
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
|