|
  
- UID
- 1
- 帖子
- 738
- 精华
- 28
- 积分
- 14443
- 金币
- 2507
- 威望
- 1647
- 贡献
- 1455
|
用Dreamweaver制作ASP动态网页(图解五)
第六步 查找密码系统
: v- |; o, i$ ]; u& x$ g 1,建立第一个页面 1.asp,其主要作用是让查找密码的朋友输入其用户名,很简单的页面:一个name文本输入框,和一个submit提交按钮。! d3 H2 p4 i8 O+ i( A5 L9 w8 D
. b, k4 M/ {% r9 [ 2,1.asp中选form标记,在相应的属性框中,“动作”填写2.asp,“方法”采用post。
) z0 D: S% s8 E! O& |
, x/ ^7 g% k3 {, y$ R 3,保存1.asp,在站点里面新建2.asp,并打开它。
2 y4 W1 A1 d# f* ~0 E 该页的作用有两个:7 e9 J: ]$ K `
1,判断上一页,即1.asp所填写名字在数据库中是否存在。
' ], d# c. [2 P) u 2,不存在应提示出错,存在则应将该用户的问题(question)字段内容显示。
8 S' o3 G2 r$ m# a" i' `! ? 具体怎么实现呢?% t* n# U3 H1 h
4,2.asp上数据库已经连好。老方法,先绑定记录集(“应用程序”面板--“绑定”标签下“+”“记录集(查询)”)。在弹出的“记录集”中就要好好设置了。最主要的就是“筛选”,选择"name" "=" "表单变量" "name"。
8 i+ D8 s/ Y# s' J# d9 p 意思是,要显示数据库表中字段name的内容,得有个条件,那就是:从上一页(1.asp)中书写的name表单内容要和库中的字段name值相等。2 \ R8 @! a k) W/ O; S
' {" n _0 K9 ^1 l- z3 H( | n 5,其实切换到“高级”就可以看到自动生成的SQL代码,其中就有requeset.form("name"),意思就是把1.asp文本框中输入的值接受过来。. a# W& Z5 h3 ]' s, L* }( m
7 B: V4 \& M0 U7 t
6,在2.asp页面敲入不存在该用户的提示语言"嘿嘿,这个用户还没有注册,所以你就没必要找密码了。"8 M0 ?% w% x; B E' `8 M- ?& l
换行再敲入存在该用户的语句。但与此同时还要注意把密码问题SHOW出来,以及问题的答案做成文本框。
; `$ _6 R5 k& h* s) ~$ p/ D 9 I7 u" h: ]- B1 X U" s
7,选中2.asp的form标签,属性面板中动作填写3.asp,方法采用post。3.asp主要就是用来判断问题和答案是否吻合,如吻合则显示正确密码了。注意!是问题和答案在一起。而我们当前只有答案可以传过去,那我们的问题该怎么传到3.asp呢?
1 K* b: ~" |. I5 A w% }+ Q! I. t
& D7 s6 @" v$ I& r+ H 8,在“你的密码问题是:”后面插入光标,然后从“绑定”的“记录集”中选择“question”插入或者直接拖入到页面。注意!这还只是显示给用户密码问题,是不能将此信息传过去的。那怎么样才可以呢?
0 c* \) j" N1 C, w6 d: `: N3 @ : q' ]5 o+ ~7 J! [3 d
9,我们采用“隐藏域”来传送question的值。插入一“隐藏域”(PS:有人不会插入吗?呵呵),对“隐藏域”的属性进行修改:“隐藏区域”名称就叫"question"吧,“值”点击后面的闪电图标,弹出对话框中选择“question”。已经完成对“隐藏域”question的赋值,同样也可以进行传递。1 N6 Z3 a& @# q9 _, j
@% E u) O# R9 N+ u! @# c7 [
10,剩下的就是把2.asp中的两部分严格分开了。! Z/ N6 |7 R' _% R. N+ P7 P& W6 y
选中“嘿嘿,这个用户还没有注册,所以你就没必要找密码了。”这段文本。
$ k" l' X2 _1 S; B5 R* p. r “应用程序”面板“服务器行为”“+”“显示区域”“记录为空则显示区域”。8 T- T# f( e( l7 L3 P3 F5 @9 b
弹出对话框中选择刚刚建立的recordset1即可。5 {! c( Z7 G% f3 B% }
意思很明显:如果没有找到满足SQL语言查询的记录集就显示该行错误提示。
, Y1 G9 E8 [0 @9 r3 h: o $ ?% A' Y4 o* W1 s
11,同样,选择form表单,“应用程序”面板“服务器行为”“+”“显示区域”“记录不为空则显示区域”。
0 w0 p! M! g4 S- J R# |1 p! R 弹出对话框中选择刚刚建立的recordset1即可。* t' w9 t% Z5 v( s4 y
意思也很清楚:如果有满足SQL语言查询的记录集就显示问题和答案书写框。: b1 ~ j/ e! l' r/ ^" x
最终效果页应该如下:
0 M. A3 w% z. \ ) p% y# k$ \/ t8 C; ^
总算把2.asp搞定了。总结下,该页主要起承上启下的作用。先要判断有没有这个用户,如果有,还有把密码问题显示出来,并要能传送到下一页3.asp
9 G, W# z5 e e# s( h+ N 12,那3.asp就要判断2.asp过来的密码问题以及答案是否和数据库中的吻合了。7 a2 \+ ^ a. v* c4 M2 o; t
又有两个作用:不吻合,说明密码答案错,返回上页再来!吻合,那就规规矩矩地给人家密码吧,呵呵。# |( U! F$ S9 T. I& \* ^+ O
不过有了做2.asp的经验,做3.asp还不是小菜一碟!+ Y4 W, R b" t! V2 ^
13,保存2.asp,在站点新建3.asp并且打开它。老规矩,绑定记录集(“应用程序”面板--“绑定”标签下“+”“记录集(查询)”)。! L. j9 k% ~% d' @0 Y
在弹出的“记录集”中就要值得你要小心注意了。+ c" V, @5 M( ?7 s/ Q+ F
“筛选”,选择"question" "=" "表单变量" "question"
+ q% o! g$ ~* A8 [
' Q, i5 L7 n% O' e 14,但你有没有注意到,我们要传送两个值给3.asp接受的,但现在只能一个进行选择。那该怎么办呢?切换到“高级”SQL的相关代码。我们要稍加添加。" Z0 f- I& {( {, W) y3 g
SQL结构查询语言会一点,模仿能力强一点,呵呵就过来了!( U) [0 \$ p w$ f
“变量”添加一个“MMAnswer”,“运行值”当然就是“request.form("answer")”了
' ~2 `! Q1 T1 o5 ~" q$ y/ r 然后把SQL语言加一下and answer = 'MMAnswer'+ A7 k6 O" O- I" ]& ^* d/ c* V, l
看SQL的意思就明白了:必须要求 question and answer和数据库表中两字段的值吻合。
6 P/ a" I1 h8 i4 j M, ]3 [/ S' y # ?/ b8 } P, N6 y( R3 z) ]
15,接着,象做2.asp样快速设计3.asp
" E8 z! a2 j0 Q7 t9 n, @ 页面上书写不吻合的语句“呵呵,你的问题答案不是这个吧,要不回去再试试? ”并且选中后,同样是“应用程序”面板“服务器行为”“+”“显示区域”“记录为空则显示区域”。( ]% t- ^7 O, Z2 m
接着是吻合的情况,“你的密码是:”的后面,从“绑定”“记录集”中选择“pwd”插入或者直接拖入到页面;
2 G+ @3 s. D+ R9 b% B* T6 n 并且还要选中该部分,“应用程序”面板“服务器行为”“+”“显示区域”“记录不为空则显示区域”。
2 O/ D1 C9 f5 q. a ; h+ N' l2 h7 E4 x9 x; e9 B
16,保存3.asp,大功告成!来调试下。( Y7 M4 Q% x: A- _' q0 @, u
" ` u3 S# W" S. y5 o6 E
9 E# c) W" S- k* g第七步:修改资料篇
* u# N+ U6 e u6 E6 u, b, e; L- y 修改资料!首先要清醒一点,什么人才可以修改。
0 T* S/ z. D, ~1 } 一,本人只能修改自己的;二,管理员可以修改所有人的。
* Z% ?! f) [% i8 R 那今天先来搞个可以修改自己资料的页面。2 m/ |" `$ Z. ]2 p
顺序是:先确认是正确登录,然后才是自己的资料出现,再接着你才可以修改,对吧。
8 h4 J$ p: @0 K7 H* i* ] 还记得---菜鸟也学DW做ASP。(登录系统篇)* ~3 N+ G6 ?) z8 `8 }: Y( u
这里面的loginok.asp页面还在的吧。不在也不要紧。再做一遍,当作练习的。+ [- q6 S- U% c' M
好了吧。loginok.asp主要是个人信息页面,不同的用户显示不同的信息。 q+ ^7 v, o6 I5 j
这个页要注意的:是一保护页面,要添加“限制对页的访问”的;当然相信你已经做了。, A/ K( ^7 J( C# v* K ^
那接着就是显示记录,来!动手了!
) s+ J! B8 g! T* ?! Y$ x( I 1,loginok.asp中“应用程序”面板“绑定”标签“+”“记录集”。+ S: X/ M" a0 d& _
修改资料篇% ~% t' M' p. ~8 ]. F$ b( L
今天是学习怎么做修改资料的ASP页面
- J( n5 G# z* w 修改资料!首先要清醒一点,什么人才可以修改。
9 v4 f S% C3 B \ J8 e" x 一,本人只能修改自己的;二,管理员可以修改所有人的。
+ ?1 w8 M! u, d/ b# i2 R' F( o 那今天先来搞个可以修改自己资料的页面。) G6 ?9 b6 O; z( K
顺序是:先确认是正确登录,然后才是自己的资料出现,再接着你才可以修改,对吧。+ |+ _' z5 W; T$ u* a
还记得---菜鸟也学DW做ASP。(登录系统篇)
: |- S: x6 y( S8 O2 d5 x; ` 这里面的loginok.asp页面还在的吧。不在也不要紧。再做一遍,当作练习的。
( @5 o& u9 [3 c( U# h 好了吧。loginok.asp主要是个人信息页面,不同的用户显示不同的信息。
8 Q% y6 y; C9 T9 K 这个页要注意的:是一保护页面,要添加“限制对页的访问”的;当然相信你已经做了。
3 o/ z3 _* F8 S; B! v0 K( r/ K 那接着就是显示记录,来!动手了!3 G$ r N5 K9 W; a5 y: c
1,loginok.asp中“应用程序”面板“绑定”标签“+”“记录集”。
$ g2 n+ Q- z! X4 C8 l
% b. ]7 v0 m0 B) ` 2,弹出的对话框中,好好设置下!主要是筛选那块:"name""=""阶段变量""MM_username"。/ e: W, ^! F1 w' f0 Z
" _' R1 q; ]7 g q# V# g5 n 3,切换到“高级...”其实就是生成了SQL:SELECT * FROM user WHERE name='MMColParam' ,并且MMColParam是一变量,运行的时候被赋上Session("MM_username")值。
& y7 ~1 q- n; r2 j 很好理解,loginok.asp所绑定以及要显示的记录,有一条件:就是按WHERE后面的去找。
: A! A5 p8 ^$ C5 n, L% i 不愁找不到!因为只有当Session("MM_username")不存在才找不到。
' q C$ ?( M5 Y7 V1 M% [4 D 而如果Session("MM_username")不存在那说明这家伙根本还没有正确登录。7 y7 F- }) x6 e& P; S$ I* H
呵呵,有点像鸡和鸡蛋的问题。0 m4 L1 ^, b: k0 m
$ M% B+ z0 s8 f$ Q" n9 Q9 S 4,其实,这个时候你只要选择“应用程序”--“更新记录表单”就可以做我们的修改了。0 j3 I% _4 [: c6 i5 j
但个人感受,先不去用这个,采用其它的办法同样可以,并且还能学到更多的知识。何乐而不为?) e- i) J4 S% \2 b" z* s4 t
# w+ U5 u; M a- M- S! b 5,下面,那就跟我来。再让你学一手主详细页面的制作。
$ z3 |6 U9 @7 C) Q+ r# [1 x( r5 |% A 有关主详细页,顾名思义。先来个笼统的显示(主要的),对哪个感兴趣,常会来个“详情请进”。/ \4 ?6 R! `! l3 h# ^! K
当然在这个页子里面是没有多大用处的,因为主来详去就你一个用户信息。
5 {; n; x7 p9 n0 x$ |# B+ L 但如果是管理员的页面呢?对这个用户具体查看一下就要用到了。# d' f) {+ L q' V' E, M$ x. A& H
5 o9 d% _4 c' U7 [. G, B
6,在弹出的对话框中,"记录集"Recordset1无需理会,"主页字段"意思就是在主页面上要显示的字段信息。 l9 Y H' T, }' G0 P
因为是主,其他不要显示的字段就一个个按“—”删除吧,主得只剩下大名name。
3 L. w: S8 b/ |' o O 那下面的连接到详细信息就只有选择“name”了。# h1 R M z3 P
“传递唯一键”就选自动编号ID吧,当然其他的也可以选,但一定要确认你所选的在数据库表中一定要有内容。比如一些人注册的时候QQ号码不一定写,那这时候你就不能选oicq做为“传递唯一键”
2 i" W, p0 \% R) [% ] (所谓“传递唯一键”,就是asp中传递URL参数值。君不见xxx网址是http://www.cnbruce.com/blog/showlog.asp?cat_id=27&;log_id=219,那“?”后面的是什么玩意,cat_id就是参数,27就是值,当然后面不光只要一个参数,多个参数就用&连起来。当然这些东西,学asp的都知道了。DW做,呵呵,不要理解这么多,但你一定要学。)" B0 ]+ K1 }) v" L6 L1 L
然后是"详细页名称",因为还没有做,当然推荐你先不做,为什么?自有玄机!! J( y) g: m1 D0 k8 U' Y
就先命名个“xiangxi.asp”吧。) m8 W6 X/ s/ {& j
“详细页字段”就不改吧。好!确定。
( Y$ d& p2 ~8 T) }+ c$ i
; k3 {) g, y& ?- |9 y3 Q 7,确定后,一段时间的等待,突然发现,DW自动生成了xingxi.asp(刚才玄机所在)。不光页面内容生成,连“记录集”也绑定好了,动态文本也添加了。(真是服务周到)
9 \2 `+ z( X" h+ i8 e
& H0 U6 o0 c$ y. n C8 r 8,再看看loginok.asp。有不少东西,看得眼睛发呆,这些大都是和xiangxi.asp进行挂钩连接用的,不是垃圾,甭怕,呵呵。
! J' n+ u# ]/ l1 k " H) f/ p7 @/ X& X4 x% b6 W7 N
9,然后做什么事呢?回到xiangxi.asp吧。我们要修改资料,那得有些文本的框框让我填写啊。那这时候就有个死办法,先选中整个表瘢琧trl+x把表格给剪了。立马回到表单工具部分,插入表单,在出来的虚线框中ctrl+v粘贴过来。( o2 U. Z+ b9 U% L' f/ V, ?9 s( q
) M9 y; v- V; C+ p0 y 10,接下来,添加文本框。先把{Recordset1.xxx}一个一个删掉,只留下一个ID和name因为这两个不需要修改,也不能修改!+ d0 {1 Z. t0 m2 o. l% Z
其余的,换成对应的文本框,注意“文本域”打上对应的名字。5 y+ O Q2 c, H
在对表格加一行,添加两个按钮。
: F: g3 H: v, J. f
1 L% E6 `, {) N: U9 {5 w) F, \ 11,再想想,那些文本框里面是不是空的,正常修改资料的时候还会显示到原有的信息的。所以,选中表单。“应用程序”“绑定”“记录集”中相应的字段。
( C& \2 j( g! v" }( v$ F% c+ T- o
7 ~0 D- y! K" R+ O) f 或者,采用文本框的属性里面设置初始值,点动态闪电图标,弹出对话框中选择对应字段。
9 M8 z/ y& V7 j4 e ' k2 y* ~ Y6 A9 W- C6 [; J1 N6 d
12,好了以后,选中form表单。。“应用程序”--“服务器行为”--“+”--“更新记录”" e) D5 K# M- L+ Z& J
8 T; w1 I6 G# N( U1 c 13,弹出窗口中,一般默认。“在更新后,转到:”老规矩先写个xiugaiok.html,以后再来建。
- R/ F h! Y" n$ e5 J4 C- ]" z
, P# a$ |) e% a 14,当然,该页还没有结束,要添加“服务器行为”--“用户身份验证”--“限制对页的访问”,主要还是起保护作用,不能随便就能进入的。$ I" W3 B! r& [5 l3 I/ |
最后在把xiugaiok.html做下了,大体内容:修改成功!返回loginok.asp。7 O) L% P5 X& f
基本完成,可以调试了。先从loginok.asp开始。因为是第一次打开窗口,根本没有登录,所以loginok.asp回自动转向到loginbad.html+ E! n& Z" X0 D* \2 S
3 x2 I7 V/ D2 `/ k 返回到login.asp,一路填下去
, \9 J3 _+ L9 I% T; V" l, g$ W! x
( E6 ~ I( c4 i9 G8 X1 n! f 5 ] S- K6 e4 w
点击“cnbruce”修改密码“789”确定!
+ \" v O1 W( Q% U $ |+ Z% V, a# s
然后,你再返回到 login.asp看看更改密码是不是生效了!
& I4 Y2 \4 D! m% A# B+ z k4 ` 最后:整个的修改页是越来越复杂了,我采用步骤比较多的方法,当然也附带学到了主详细页的用处。最主要是本人认为这样对初学者才有挑战性,能够灵活运用,扩展,修改,细化,都需要自己多练。有错误是正常的,需要你自己对错误的认识和摆平,只有这样,也许技术才会有所提高。
1 S$ E" B- i9 q0 u: Y' c0 [* g |
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
|