|
  
- UID
- 1
- 帖子
- 738
- 精华
- 28
- 积分
- 14325
- 金币
- 2448
- 威望
- 1647
- 贡献
- 1396
|
用Dreamweaver制作ASP动态网页(图解五)
第六步 查找密码系统( P+ m! k& R' a9 |- D
1,建立第一个页面 1.asp,其主要作用是让查找密码的朋友输入其用户名,很简单的页面:一个name文本输入框,和一个submit提交按钮。6 @ V- E, c. y7 r; I
1 @5 b2 t2 R$ b
2,1.asp中选form标记,在相应的属性框中,“动作”填写2.asp,“方法”采用post。
1 F& V3 s- y. W) n8 ~/ Q
: d: a$ D" D0 \" Q* ? 3,保存1.asp,在站点里面新建2.asp,并打开它。4 `" o J2 i" x b j1 H$ X
该页的作用有两个:& n; K4 O! r8 A, L
1,判断上一页,即1.asp所填写名字在数据库中是否存在。1 p! Y: t M b3 _& u
2,不存在应提示出错,存在则应将该用户的问题(question)字段内容显示。
/ u( ?( J6 @$ c! R) E9 E( \% V 具体怎么实现呢?
9 X5 ~" M4 R) p 4,2.asp上数据库已经连好。老方法,先绑定记录集(“应用程序”面板--“绑定”标签下“+”“记录集(查询)”)。在弹出的“记录集”中就要好好设置了。最主要的就是“筛选”,选择"name" "=" "表单变量" "name"。2 `! r4 Q& W# h9 V
意思是,要显示数据库表中字段name的内容,得有个条件,那就是:从上一页(1.asp)中书写的name表单内容要和库中的字段name值相等。1 X2 v! Q! F& @$ G; u
! t2 M8 z1 b; C8 X! c; x" g; r 5,其实切换到“高级”就可以看到自动生成的SQL代码,其中就有requeset.form("name"),意思就是把1.asp文本框中输入的值接受过来。
: ^2 p1 d: X# y+ ~5 N, `% u: I 9 n! ~7 d$ R% Y1 k3 S$ C
6,在2.asp页面敲入不存在该用户的提示语言"嘿嘿,这个用户还没有注册,所以你就没必要找密码了。"1 R: s* O' g( g+ A6 U) t( l' [
换行再敲入存在该用户的语句。但与此同时还要注意把密码问题SHOW出来,以及问题的答案做成文本框。# _/ v, Z- n h
; [2 T) Z- H8 `4 b0 N3 x; @, l
7,选中2.asp的form标签,属性面板中动作填写3.asp,方法采用post。3.asp主要就是用来判断问题和答案是否吻合,如吻合则显示正确密码了。注意!是问题和答案在一起。而我们当前只有答案可以传过去,那我们的问题该怎么传到3.asp呢?' f0 j$ v* v4 I# {% |
8 C4 {2 m% I5 f/ J* v 8,在“你的密码问题是:”后面插入光标,然后从“绑定”的“记录集”中选择“question”插入或者直接拖入到页面。注意!这还只是显示给用户密码问题,是不能将此信息传过去的。那怎么样才可以呢?
& N- i8 s* ?% u* |. M% L$ \) T+ |# s ) G2 n( R7 {+ w/ D
9,我们采用“隐藏域”来传送question的值。插入一“隐藏域”(PS:有人不会插入吗?呵呵),对“隐藏域”的属性进行修改:“隐藏区域”名称就叫"question"吧,“值”点击后面的闪电图标,弹出对话框中选择“question”。已经完成对“隐藏域”question的赋值,同样也可以进行传递。
0 F) \. @8 O4 e- f5 h$ n2 ~& w! d
0 _3 [- P! {7 Z 10,剩下的就是把2.asp中的两部分严格分开了。
* O4 p5 e* W2 Z" H5 D) p- V; Z 选中“嘿嘿,这个用户还没有注册,所以你就没必要找密码了。”这段文本。
1 x+ w! Q9 C d0 x5 Z “应用程序”面板“服务器行为”“+”“显示区域”“记录为空则显示区域”。
. Z+ m' [. P8 u) M- n% w9 |1 r 弹出对话框中选择刚刚建立的recordset1即可。
9 T3 t. G% P; X8 l 意思很明显:如果没有找到满足SQL语言查询的记录集就显示该行错误提示。
$ k/ [$ t# |8 O: e" [# t* E8 T8 Z8 H$ g 4 S0 K% s1 O2 U; W& j. Z/ i% {0 ?
11,同样,选择form表单,“应用程序”面板“服务器行为”“+”“显示区域”“记录不为空则显示区域”。; Y8 Y* _' c% o* a- p8 {6 _! }! K
弹出对话框中选择刚刚建立的recordset1即可。$ [/ j9 E; `" _
意思也很清楚:如果有满足SQL语言查询的记录集就显示问题和答案书写框。
$ [8 n3 p8 z) ^- z% h ]: S8 G 最终效果页应该如下:
6 C6 ~+ j" {$ u& A& ~ ; h5 \- k0 l1 v- Q+ S- p
总算把2.asp搞定了。总结下,该页主要起承上启下的作用。先要判断有没有这个用户,如果有,还有把密码问题显示出来,并要能传送到下一页3.asp6 E' S( J: o! T% _9 P
12,那3.asp就要判断2.asp过来的密码问题以及答案是否和数据库中的吻合了。
; _/ q- M2 F2 f& O2 R% e( c* D 又有两个作用:不吻合,说明密码答案错,返回上页再来!吻合,那就规规矩矩地给人家密码吧,呵呵。1 i& W& {8 a: q5 \1 d; x) V7 J$ `
不过有了做2.asp的经验,做3.asp还不是小菜一碟!# K. t3 B9 S' Y$ O6 B3 O
13,保存2.asp,在站点新建3.asp并且打开它。老规矩,绑定记录集(“应用程序”面板--“绑定”标签下“+”“记录集(查询)”)。) p0 l# _/ q( O# u0 @- ?7 u2 \, v
在弹出的“记录集”中就要值得你要小心注意了。( p4 y. q+ d5 b# I, U
“筛选”,选择"question" "=" "表单变量" "question"3 R$ x- i: `, |) `! o) B% }
9 A1 R- Y; j; J- U0 ]$ k" l
14,但你有没有注意到,我们要传送两个值给3.asp接受的,但现在只能一个进行选择。那该怎么办呢?切换到“高级”SQL的相关代码。我们要稍加添加。
/ ]3 q, M# H- I% ?5 g7 y SQL结构查询语言会一点,模仿能力强一点,呵呵就过来了!* e0 n1 d* ~) m4 [
“变量”添加一个“MMAnswer”,“运行值”当然就是“request.form("answer")”了 i( c' q: |6 x2 a: U
然后把SQL语言加一下and answer = 'MMAnswer'
0 g. b2 r. ^, J% n. l7 H/ Y3 @ 看SQL的意思就明白了:必须要求 question and answer和数据库表中两字段的值吻合。
" Y4 Y3 h G7 y, L1 n : U" l7 _% _8 X0 Y- O' _0 m
15,接着,象做2.asp样快速设计3.asp1 f0 P' i$ M; M1 d
页面上书写不吻合的语句“呵呵,你的问题答案不是这个吧,要不回去再试试? ”并且选中后,同样是“应用程序”面板“服务器行为”“+”“显示区域”“记录为空则显示区域”。
/ _2 m8 Z6 s* z2 p 接着是吻合的情况,“你的密码是:”的后面,从“绑定”“记录集”中选择“pwd”插入或者直接拖入到页面;
7 E, E$ @2 w* q 并且还要选中该部分,“应用程序”面板“服务器行为”“+”“显示区域”“记录不为空则显示区域”。
2 Q) x8 T# g6 }( y- G: j
+ g2 J/ {2 P2 L1 E6 w/ A: O 16,保存3.asp,大功告成!来调试下。1 t: W% m. D8 u. H! Q7 ~" U3 ^
# {! v- t4 `6 B% [7 M% | B
! Z- R' }% {- {5 `5 Z6 p第七步:修改资料篇
. M I8 H( m: k* g+ U 修改资料!首先要清醒一点,什么人才可以修改。' c$ X" C" D8 r; Y2 S8 e
一,本人只能修改自己的;二,管理员可以修改所有人的。- L: V& M/ F, A! A) k( e" G
那今天先来搞个可以修改自己资料的页面。. ^+ L7 n! x" ~$ [4 g; w
顺序是:先确认是正确登录,然后才是自己的资料出现,再接着你才可以修改,对吧。$ v$ U6 e/ w v+ A7 Z V! f1 j
还记得---菜鸟也学DW做ASP。(登录系统篇)/ H# q5 n% Y1 f2 c
这里面的loginok.asp页面还在的吧。不在也不要紧。再做一遍,当作练习的。
! i; l0 R" J; ^6 [- l8 U 好了吧。loginok.asp主要是个人信息页面,不同的用户显示不同的信息。! T( b& C: T' s) q8 c2 M, H
这个页要注意的:是一保护页面,要添加“限制对页的访问”的;当然相信你已经做了。
& r, l7 K% K- ]" J/ j 那接着就是显示记录,来!动手了!% P: |7 S0 R/ t5 H1 g5 L
1,loginok.asp中“应用程序”面板“绑定”标签“+”“记录集”。
: J. x( b7 G; _' f+ m, U 修改资料篇) [& K: F6 i O, \# E" o. [4 C
今天是学习怎么做修改资料的ASP页面
) @3 K' I3 M7 B 修改资料!首先要清醒一点,什么人才可以修改。
: ]% x9 V2 z. s9 |% s 一,本人只能修改自己的;二,管理员可以修改所有人的。1 s2 w* M$ U D! r6 _% n1 ?
那今天先来搞个可以修改自己资料的页面。" R; H: z* H( U8 e1 x% c; D
顺序是:先确认是正确登录,然后才是自己的资料出现,再接着你才可以修改,对吧。
+ a( h5 e1 C5 o' S% s' U& V 还记得---菜鸟也学DW做ASP。(登录系统篇)8 g; p, C T; o5 C) t# Z; m
这里面的loginok.asp页面还在的吧。不在也不要紧。再做一遍,当作练习的。
8 n& w0 k1 a) t# s 好了吧。loginok.asp主要是个人信息页面,不同的用户显示不同的信息。+ A3 \; ?3 u+ p# c+ c% ^
这个页要注意的:是一保护页面,要添加“限制对页的访问”的;当然相信你已经做了。
# [& V$ U( s# I 那接着就是显示记录,来!动手了!
: t7 I; L! h: ]" \5 P 1,loginok.asp中“应用程序”面板“绑定”标签“+”“记录集”。
/ C1 N( K7 i' `) D. f8 n% X6 `& @
/ q5 k3 T) Y( c$ ~( v: X 2,弹出的对话框中,好好设置下!主要是筛选那块:"name""=""阶段变量""MM_username"。
5 g" U0 O4 F& }$ d
/ Q6 Z' ~$ J: `. T 3,切换到“高级...”其实就是生成了SQL:SELECT * FROM user WHERE name='MMColParam' ,并且MMColParam是一变量,运行的时候被赋上Session("MM_username")值。- h: S* R" J9 j6 | f+ O
很好理解,loginok.asp所绑定以及要显示的记录,有一条件:就是按WHERE后面的去找。7 E' U6 O/ Z# z; r, M' ]7 C0 l
不愁找不到!因为只有当Session("MM_username")不存在才找不到。
# c: P1 x3 B( m+ f 而如果Session("MM_username")不存在那说明这家伙根本还没有正确登录。
2 |1 R' T6 l ` G% i- i 呵呵,有点像鸡和鸡蛋的问题。
3 ~2 W: E' e e8 u% X
( q) a) X) @/ G 4,其实,这个时候你只要选择“应用程序”--“更新记录表单”就可以做我们的修改了。
& l% m4 x& E* z% W& @9 q3 [4 n8 g 但个人感受,先不去用这个,采用其它的办法同样可以,并且还能学到更多的知识。何乐而不为?
7 X: P, |0 d7 u9 y3 @3 ~. C5 S
; ]* c2 E, p6 k5 Z0 ` 5,下面,那就跟我来。再让你学一手主详细页面的制作。
. s. f7 }& E- O9 M- x 有关主详细页,顾名思义。先来个笼统的显示(主要的),对哪个感兴趣,常会来个“详情请进”。
( M8 ~7 s$ u, x& } 当然在这个页子里面是没有多大用处的,因为主来详去就你一个用户信息。
8 m: g* N6 O/ r0 `# v/ d 但如果是管理员的页面呢?对这个用户具体查看一下就要用到了。: V! W6 }& H1 h
; X+ t! D/ ]7 U( @
6,在弹出的对话框中,"记录集"Recordset1无需理会,"主页字段"意思就是在主页面上要显示的字段信息。
; J: M" H, B1 L% Z, e, o 因为是主,其他不要显示的字段就一个个按“—”删除吧,主得只剩下大名name。
' }& \. D; a. z) s3 C 那下面的连接到详细信息就只有选择“name”了。0 I1 Q; u) n" Z
“传递唯一键”就选自动编号ID吧,当然其他的也可以选,但一定要确认你所选的在数据库表中一定要有内容。比如一些人注册的时候QQ号码不一定写,那这时候你就不能选oicq做为“传递唯一键”0 ]1 e: R3 u; {
(所谓“传递唯一键”,就是asp中传递URL参数值。君不见xxx网址是http://www.cnbruce.com/blog/showlog.asp?cat_id=27&;log_id=219,那“?”后面的是什么玩意,cat_id就是参数,27就是值,当然后面不光只要一个参数,多个参数就用&连起来。当然这些东西,学asp的都知道了。DW做,呵呵,不要理解这么多,但你一定要学。)
$ u8 L8 g& S$ s, R- u# ? 然后是"详细页名称",因为还没有做,当然推荐你先不做,为什么?自有玄机!1 e( J: e: L; v% t
就先命名个“xiangxi.asp”吧。
% |, m) B2 ]& s# J “详细页字段”就不改吧。好!确定。4 g# \6 b2 ~* W% V0 h: `9 `
9 X) w3 r7 e/ d. N4 F4 L
7,确定后,一段时间的等待,突然发现,DW自动生成了xingxi.asp(刚才玄机所在)。不光页面内容生成,连“记录集”也绑定好了,动态文本也添加了。(真是服务周到)
a/ o; @. u8 H; |3 I 0 x$ T) S0 A8 m7 Z( Q8 d4 g
8,再看看loginok.asp。有不少东西,看得眼睛发呆,这些大都是和xiangxi.asp进行挂钩连接用的,不是垃圾,甭怕,呵呵。
( L u, I+ k+ T& c+ Y8 M
5 a. j# o, w8 M( G 9,然后做什么事呢?回到xiangxi.asp吧。我们要修改资料,那得有些文本的框框让我填写啊。那这时候就有个死办法,先选中整个表瘢琧trl+x把表格给剪了。立马回到表单工具部分,插入表单,在出来的虚线框中ctrl+v粘贴过来。" Q1 q6 v8 T( J! s* N. P) X
8 ?* q+ M, W: P# G+ t% q
10,接下来,添加文本框。先把{Recordset1.xxx}一个一个删掉,只留下一个ID和name因为这两个不需要修改,也不能修改!
8 W0 J6 @1 Z3 k8 K3 x 其余的,换成对应的文本框,注意“文本域”打上对应的名字。
4 |+ X+ I* _6 e% ` }; J5 l; M: V1 Z 在对表格加一行,添加两个按钮。
8 v j9 @7 n7 [& O0 r
+ a V5 P. a& [0 x% L j2 t 11,再想想,那些文本框里面是不是空的,正常修改资料的时候还会显示到原有的信息的。所以,选中表单。“应用程序”“绑定”“记录集”中相应的字段。
1 q. [" ~, L* Y 2 R3 `, ^5 _4 b4 m3 m1 \
或者,采用文本框的属性里面设置初始值,点动态闪电图标,弹出对话框中选择对应字段。8 P. @2 m9 C; k0 r# F5 w& B1 N) P
! c9 H2 |- }8 M9 c! b; l1 L$ _' c 12,好了以后,选中form表单。。“应用程序”--“服务器行为”--“+”--“更新记录”
; y9 M5 p4 J G/ N
5 D' v! m7 {4 g8 @ 13,弹出窗口中,一般默认。“在更新后,转到:”老规矩先写个xiugaiok.html,以后再来建。
; H8 u5 _) D) O+ ?6 E! f$ N; \ ' N7 G' S/ e5 r/ }( R
14,当然,该页还没有结束,要添加“服务器行为”--“用户身份验证”--“限制对页的访问”,主要还是起保护作用,不能随便就能进入的。
! q4 w' k' s2 u$ d; u 最后在把xiugaiok.html做下了,大体内容:修改成功!返回loginok.asp。+ _' K2 \. H! P9 n3 _+ J o1 W
基本完成,可以调试了。先从loginok.asp开始。因为是第一次打开窗口,根本没有登录,所以loginok.asp回自动转向到loginbad.html
' ^3 t, g" D4 _* i
/ A5 \0 b" e9 y, E) z0 z- s 返回到login.asp,一路填下去7 ^9 L$ ~. z3 n
2 S! Z; [1 t- \7 y6 u
; ?6 j4 E) \! `5 H
点击“cnbruce”修改密码“789”确定!0 f! K8 ]7 C4 m" h
+ R0 n8 e- ]. l& Q 然后,你再返回到 login.asp看看更改密码是不是生效了!
) M2 r9 `. p/ l. P% D 最后:整个的修改页是越来越复杂了,我采用步骤比较多的方法,当然也附带学到了主详细页的用处。最主要是本人认为这样对初学者才有挑战性,能够灵活运用,扩展,修改,细化,都需要自己多练。有错误是正常的,需要你自己对错误的认识和摆平,只有这样,也许技术才会有所提高。
; ]0 s6 X1 H3 h- U0 F" y% A7 @ |
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
|