|
  
- UID
- 1
- 帖子
- 738
- 精华
- 28
- 积分
- 14321
- 金币
- 2446
- 威望
- 1647
- 贡献
- 1394
|
用Dreamweaver制作ASP动态网页(图解五)
第六步 查找密码系统* b: U5 b9 S. b9 a" {! n9 K
1,建立第一个页面 1.asp,其主要作用是让查找密码的朋友输入其用户名,很简单的页面:一个name文本输入框,和一个submit提交按钮。( a8 l B: p1 P) c1 v, T
# Z1 K" P7 q# a! S7 I: K 2,1.asp中选form标记,在相应的属性框中,“动作”填写2.asp,“方法”采用post。. a! [- h/ o( b5 X6 F3 A8 P
& n5 d1 W7 N1 _' E
3,保存1.asp,在站点里面新建2.asp,并打开它。! @. i2 S) v0 f' [
该页的作用有两个:0 h3 W4 ~* W+ w/ e# }$ ?3 e; k B
1,判断上一页,即1.asp所填写名字在数据库中是否存在。9 _4 b% d2 U5 D- Q8 C! i- U2 |
2,不存在应提示出错,存在则应将该用户的问题(question)字段内容显示。
8 Z9 I6 c" b6 M$ V" c 具体怎么实现呢?$ z( @% C1 o$ m8 N; _
4,2.asp上数据库已经连好。老方法,先绑定记录集(“应用程序”面板--“绑定”标签下“+”“记录集(查询)”)。在弹出的“记录集”中就要好好设置了。最主要的就是“筛选”,选择"name" "=" "表单变量" "name"。+ f' V8 G6 V( C5 V) O
意思是,要显示数据库表中字段name的内容,得有个条件,那就是:从上一页(1.asp)中书写的name表单内容要和库中的字段name值相等。
m+ {/ u. S+ b/ P 6 }/ x+ f5 i i- P# q7 X
5,其实切换到“高级”就可以看到自动生成的SQL代码,其中就有requeset.form("name"),意思就是把1.asp文本框中输入的值接受过来。, n* `: C- \; \- j( N
: c# a f* J' z9 b8 K* e# x) E7 w: {! W
6,在2.asp页面敲入不存在该用户的提示语言"嘿嘿,这个用户还没有注册,所以你就没必要找密码了。"0 R; y& {! [3 d7 I# B$ M
换行再敲入存在该用户的语句。但与此同时还要注意把密码问题SHOW出来,以及问题的答案做成文本框。
# q0 k: k V1 \( T7 w : u$ |0 |& E7 z# B+ u% v
7,选中2.asp的form标签,属性面板中动作填写3.asp,方法采用post。3.asp主要就是用来判断问题和答案是否吻合,如吻合则显示正确密码了。注意!是问题和答案在一起。而我们当前只有答案可以传过去,那我们的问题该怎么传到3.asp呢?
2 j7 M; B' g7 e U. p . Q- B: }: p5 a b: {8 g( X3 m; M
8,在“你的密码问题是:”后面插入光标,然后从“绑定”的“记录集”中选择“question”插入或者直接拖入到页面。注意!这还只是显示给用户密码问题,是不能将此信息传过去的。那怎么样才可以呢?
. D1 C/ n* ^( ]3 g5 [
p$ b8 [$ k) ^6 a4 z4 w 9,我们采用“隐藏域”来传送question的值。插入一“隐藏域”(PS:有人不会插入吗?呵呵),对“隐藏域”的属性进行修改:“隐藏区域”名称就叫"question"吧,“值”点击后面的闪电图标,弹出对话框中选择“question”。已经完成对“隐藏域”question的赋值,同样也可以进行传递。
2 | E" M- d2 [8 X. u0 S! f* g$ m % m1 n8 U% {: d8 p; S* Q3 d
10,剩下的就是把2.asp中的两部分严格分开了。
# b9 s! O6 S: A, K* s, d: K1 m4 E 选中“嘿嘿,这个用户还没有注册,所以你就没必要找密码了。”这段文本。6 p, [! t/ v7 m) Y1 L" L
“应用程序”面板“服务器行为”“+”“显示区域”“记录为空则显示区域”。
. V; A1 Q6 n6 j% E1 V% y 弹出对话框中选择刚刚建立的recordset1即可。* k, n t1 M# o) b" O7 i; K8 O
意思很明显:如果没有找到满足SQL语言查询的记录集就显示该行错误提示。
. Y& U; j. ^$ Q) y, ?- m0 k% A * F: R2 t7 ~* a1 D4 H N% S
11,同样,选择form表单,“应用程序”面板“服务器行为”“+”“显示区域”“记录不为空则显示区域”。
) u' X0 {3 c" M$ a, v3 n 弹出对话框中选择刚刚建立的recordset1即可。
1 Y% [5 |0 f8 e* L 意思也很清楚:如果有满足SQL语言查询的记录集就显示问题和答案书写框。+ s# j4 z4 M' T7 S) W0 C4 f2 s
最终效果页应该如下:6 c4 h" j. p# z3 s* `3 p
$ p, X* ?1 F4 y- A" e
总算把2.asp搞定了。总结下,该页主要起承上启下的作用。先要判断有没有这个用户,如果有,还有把密码问题显示出来,并要能传送到下一页3.asp5 ?& y- y4 C$ U& S0 r
12,那3.asp就要判断2.asp过来的密码问题以及答案是否和数据库中的吻合了。
' \. k3 n5 b; z1 O/ I 又有两个作用:不吻合,说明密码答案错,返回上页再来!吻合,那就规规矩矩地给人家密码吧,呵呵。
, M+ e8 a# ~$ o0 d& ~! A8 g 不过有了做2.asp的经验,做3.asp还不是小菜一碟!
# u# S% E6 P4 B- j 13,保存2.asp,在站点新建3.asp并且打开它。老规矩,绑定记录集(“应用程序”面板--“绑定”标签下“+”“记录集(查询)”)。" w" I8 J9 t7 v& m
在弹出的“记录集”中就要值得你要小心注意了。% T# w- }* m$ v1 P
“筛选”,选择"question" "=" "表单变量" "question"
1 I8 M- a3 a& L4 v
8 Z, z: K+ m5 `( h# |0 E; S/ e# | 14,但你有没有注意到,我们要传送两个值给3.asp接受的,但现在只能一个进行选择。那该怎么办呢?切换到“高级”SQL的相关代码。我们要稍加添加。; T' l* c+ y8 {3 h
SQL结构查询语言会一点,模仿能力强一点,呵呵就过来了!
! Y7 Z" ~" w. v& {/ R4 b: |6 u “变量”添加一个“MMAnswer”,“运行值”当然就是“request.form("answer")”了0 E. w0 p: _; k( n4 Q C& P
然后把SQL语言加一下and answer = 'MMAnswer'/ A1 _* ` i! R" y4 Y* r! {& T: J
看SQL的意思就明白了:必须要求 question and answer和数据库表中两字段的值吻合。
+ S: l: {4 s, M 6 ^2 c1 {# p2 z
15,接着,象做2.asp样快速设计3.asp8 x1 A+ B+ Z6 q
页面上书写不吻合的语句“呵呵,你的问题答案不是这个吧,要不回去再试试? ”并且选中后,同样是“应用程序”面板“服务器行为”“+”“显示区域”“记录为空则显示区域”。
+ w0 X% A' @: D) l 接着是吻合的情况,“你的密码是:”的后面,从“绑定”“记录集”中选择“pwd”插入或者直接拖入到页面;+ g2 G# N) l5 e0 U9 a* g
并且还要选中该部分,“应用程序”面板“服务器行为”“+”“显示区域”“记录不为空则显示区域”。( ^: ?% E7 O! t" p- ^# ^
- M2 D+ I) Z& ]" U. X3 O 16,保存3.asp,大功告成!来调试下。
% v+ e- h! X2 @
) L% B& e# Y1 ~3 s1 y
2 q9 g9 T3 f M* |第七步:修改资料篇. _5 B0 E0 m, C0 ]
修改资料!首先要清醒一点,什么人才可以修改。) F" b! C; ]- C$ ?
一,本人只能修改自己的;二,管理员可以修改所有人的。
# Z( I1 Y- f2 X* B1 m+ {, k( s 那今天先来搞个可以修改自己资料的页面。, B/ R b' G+ \; S" `5 L1 H/ h6 A: ?
顺序是:先确认是正确登录,然后才是自己的资料出现,再接着你才可以修改,对吧。) Y8 a+ S; t! R
还记得---菜鸟也学DW做ASP。(登录系统篇)- r8 Z# V8 B$ n( e: {( z3 G
这里面的loginok.asp页面还在的吧。不在也不要紧。再做一遍,当作练习的。% r3 D+ S4 l' U$ b
好了吧。loginok.asp主要是个人信息页面,不同的用户显示不同的信息。1 u/ X! q8 y2 L: @! z7 w3 h: L
这个页要注意的:是一保护页面,要添加“限制对页的访问”的;当然相信你已经做了。
& M# e* k+ X7 U6 r/ f6 w& W) G 那接着就是显示记录,来!动手了!. K3 |8 L/ E: z; D$ b- N
1,loginok.asp中“应用程序”面板“绑定”标签“+”“记录集”。( B% J: U0 N5 {7 G1 s- _, m
修改资料篇
, V4 g) u0 k5 ?" J0 x. X- F2 Y3 Q7 f 今天是学习怎么做修改资料的ASP页面* }, W8 i$ U- P9 b
修改资料!首先要清醒一点,什么人才可以修改。
0 g# U( Z+ e, I$ w 一,本人只能修改自己的;二,管理员可以修改所有人的。- ]7 f' k1 H' Y5 Q8 w: q
那今天先来搞个可以修改自己资料的页面。
4 `; L) a; v- N I: M! X9 x5 C$ s 顺序是:先确认是正确登录,然后才是自己的资料出现,再接着你才可以修改,对吧。0 T* C1 [& O* d% F7 E2 F0 A. W0 l
还记得---菜鸟也学DW做ASP。(登录系统篇)/ M8 N" |3 l% m7 d: [8 j1 b
这里面的loginok.asp页面还在的吧。不在也不要紧。再做一遍,当作练习的。
4 w% Q2 Q4 y7 }' X# [ 好了吧。loginok.asp主要是个人信息页面,不同的用户显示不同的信息。
" A0 e' l) [' I8 K i 这个页要注意的:是一保护页面,要添加“限制对页的访问”的;当然相信你已经做了。
2 s, J* T0 Q5 C! ^" V 那接着就是显示记录,来!动手了!, C3 x1 ]0 ^# {$ `# j+ w4 J" G
1,loginok.asp中“应用程序”面板“绑定”标签“+”“记录集”。
6 e/ e0 c% ?- `* ~8 `1 ]/ @! n B
* V" [, I9 N4 t 2,弹出的对话框中,好好设置下!主要是筛选那块:"name""=""阶段变量""MM_username"。3 v8 T( s& u8 g
t. d5 B: b6 X/ _' Z: \
3,切换到“高级...”其实就是生成了SQL:SELECT * FROM user WHERE name='MMColParam' ,并且MMColParam是一变量,运行的时候被赋上Session("MM_username")值。
% b8 R0 v- m2 l% L) Q 很好理解,loginok.asp所绑定以及要显示的记录,有一条件:就是按WHERE后面的去找。2 B4 w9 [2 q. `4 K7 [
不愁找不到!因为只有当Session("MM_username")不存在才找不到。4 J: b9 L; o4 n9 [- I
而如果Session("MM_username")不存在那说明这家伙根本还没有正确登录。
" P- a+ [6 l4 `3 b8 q4 O1 a1 Y) s 呵呵,有点像鸡和鸡蛋的问题。
! F$ h+ i, c; Y e+ G/ j& ~ 0 [6 ^. c/ |6 K0 A" Y% Z
4,其实,这个时候你只要选择“应用程序”--“更新记录表单”就可以做我们的修改了。
z/ Q! E4 i7 T% m- X 但个人感受,先不去用这个,采用其它的办法同样可以,并且还能学到更多的知识。何乐而不为?& ~" A6 v& }! @1 y$ q9 l
% w1 H0 _% t$ s# I
5,下面,那就跟我来。再让你学一手主详细页面的制作。
% o5 V+ R, J' {& f* m' X( N 有关主详细页,顾名思义。先来个笼统的显示(主要的),对哪个感兴趣,常会来个“详情请进”。+ ?8 D, v9 ~% p& o2 X
当然在这个页子里面是没有多大用处的,因为主来详去就你一个用户信息。
\# F* D9 T+ B5 x7 [# t& r) | 但如果是管理员的页面呢?对这个用户具体查看一下就要用到了。
: A- _! F4 Y6 E : t4 a8 V& [7 Y( Z- S
6,在弹出的对话框中,"记录集"Recordset1无需理会,"主页字段"意思就是在主页面上要显示的字段信息。
5 S6 p3 @8 i$ Y) n! l 因为是主,其他不要显示的字段就一个个按“—”删除吧,主得只剩下大名name。
5 x! s0 r/ H$ b4 [! d1 h9 Y6 w 那下面的连接到详细信息就只有选择“name”了。9 M$ h7 m2 t2 i6 P* Y
“传递唯一键”就选自动编号ID吧,当然其他的也可以选,但一定要确认你所选的在数据库表中一定要有内容。比如一些人注册的时候QQ号码不一定写,那这时候你就不能选oicq做为“传递唯一键”+ F% y! L$ @- u* \5 L) g5 D
(所谓“传递唯一键”,就是asp中传递URL参数值。君不见xxx网址是http://www.cnbruce.com/blog/showlog.asp?cat_id=27&;log_id=219,那“?”后面的是什么玩意,cat_id就是参数,27就是值,当然后面不光只要一个参数,多个参数就用&连起来。当然这些东西,学asp的都知道了。DW做,呵呵,不要理解这么多,但你一定要学。): c$ G$ k- ^: e1 P4 s- p
然后是"详细页名称",因为还没有做,当然推荐你先不做,为什么?自有玄机!0 Q# |7 E$ b% C
就先命名个“xiangxi.asp”吧。
2 @: R0 Y9 D6 J% W) }" V7 l “详细页字段”就不改吧。好!确定。
# u2 }) Y/ G2 d" L4 J6 g
# D& @4 R$ H6 i! K# [6 E- b 7,确定后,一段时间的等待,突然发现,DW自动生成了xingxi.asp(刚才玄机所在)。不光页面内容生成,连“记录集”也绑定好了,动态文本也添加了。(真是服务周到) w3 v8 i5 b' _3 G; t9 W. r f
5 @- k: n* [; a+ f9 ~+ c: k2 A4 i& S+ X
8,再看看loginok.asp。有不少东西,看得眼睛发呆,这些大都是和xiangxi.asp进行挂钩连接用的,不是垃圾,甭怕,呵呵。! k- o+ Q# U5 p" z/ \
. ?# ^+ J. r( y9 J! H 9,然后做什么事呢?回到xiangxi.asp吧。我们要修改资料,那得有些文本的框框让我填写啊。那这时候就有个死办法,先选中整个表瘢琧trl+x把表格给剪了。立马回到表单工具部分,插入表单,在出来的虚线框中ctrl+v粘贴过来。! i# C! G. B4 ?, k* ~
+ c# E( t. @# h 10,接下来,添加文本框。先把{Recordset1.xxx}一个一个删掉,只留下一个ID和name因为这两个不需要修改,也不能修改!& q0 U: [. M0 d( F+ h
其余的,换成对应的文本框,注意“文本域”打上对应的名字。
0 `7 ^. E; C3 {; Q4 \. ~( j% s. @ 在对表格加一行,添加两个按钮。 R5 b5 B$ K. ]9 i: n& f; c
3 X7 p, ]' F1 q4 P! L* y6 B 11,再想想,那些文本框里面是不是空的,正常修改资料的时候还会显示到原有的信息的。所以,选中表单。“应用程序”“绑定”“记录集”中相应的字段。5 L% _5 L9 o3 t' s* O2 V
/ S5 s* |2 e- ^! q/ ^* i+ i
或者,采用文本框的属性里面设置初始值,点动态闪电图标,弹出对话框中选择对应字段。$ U+ p- X; l1 |: j
9 O& l3 k/ o. F" s( r
12,好了以后,选中form表单。。“应用程序”--“服务器行为”--“+”--“更新记录”- H1 j: {" M9 |7 j6 P
5 L' b: Q8 t& i# c4 e 13,弹出窗口中,一般默认。“在更新后,转到:”老规矩先写个xiugaiok.html,以后再来建。) c w' K# \) ?7 g; g/ Q; @3 S- j
: r% j( N) L+ C$ Y- S- w
14,当然,该页还没有结束,要添加“服务器行为”--“用户身份验证”--“限制对页的访问”,主要还是起保护作用,不能随便就能进入的。/ W) b* ?" O$ e6 E: E
最后在把xiugaiok.html做下了,大体内容:修改成功!返回loginok.asp。
/ Z2 [% ]$ [+ ~$ Y$ e 基本完成,可以调试了。先从loginok.asp开始。因为是第一次打开窗口,根本没有登录,所以loginok.asp回自动转向到loginbad.html% F7 X6 [5 S! z% C
0 x7 Z( Y2 Z: L- U/ k 返回到login.asp,一路填下去7 e7 L) ^/ N7 w" P$ M; q3 @
$ `8 _5 l" u- Z; Z+ V+ D8 s. g
- t$ |' `, H6 ]) D0 r3 T& ? 点击“cnbruce”修改密码“789”确定!
1 v9 Q+ J0 e# ]/ R3 U$ @1 F
, s' A, U; J$ E 然后,你再返回到 login.asp看看更改密码是不是生效了!" G- f5 h9 {, s' y8 ?# k, U
最后:整个的修改页是越来越复杂了,我采用步骤比较多的方法,当然也附带学到了主详细页的用处。最主要是本人认为这样对初学者才有挑战性,能够灵活运用,扩展,修改,细化,都需要自己多练。有错误是正常的,需要你自己对错误的认识和摆平,只有这样,也许技术才会有所提高。 . z* a, ?3 @# x
|
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
|