  
- UID
- 1
- 帖子
- 738
- 精华
- 28
- 积分
- 14221
- 金币
- 2401
- 威望
- 1647
- 贡献
- 1349
|
用Dreamweaver制作ASP动态网页(图解五)
第六步 查找密码系统
& E/ h t# q/ y8 @8 Y, B# ?6 J/ Z% B 1,建立第一个页面 1.asp,其主要作用是让查找密码的朋友输入其用户名,很简单的页面:一个name文本输入框,和一个submit提交按钮。( C( s8 H: t% n
( b9 `0 v6 e! D+ w
2,1.asp中选form标记,在相应的属性框中,“动作”填写2.asp,“方法”采用post。
0 l, Y* l, O+ I1 q0 Y3 a. C
) A% x4 m# W* k, Z$ u z5 a 3,保存1.asp,在站点里面新建2.asp,并打开它。
9 r. p$ b0 ~4 A2 K# n; e; H 该页的作用有两个:
3 L! \: l( `) U. E# f0 d 1,判断上一页,即1.asp所填写名字在数据库中是否存在。& Y9 Z; d* P" m5 O
2,不存在应提示出错,存在则应将该用户的问题(question)字段内容显示。
2 |0 a) ~% }. D+ m5 R 具体怎么实现呢?
3 B0 T* p9 J2 k t" y/ Z3 g- Y 4,2.asp上数据库已经连好。老方法,先绑定记录集(“应用程序”面板--“绑定”标签下“+”“记录集(查询)”)。在弹出的“记录集”中就要好好设置了。最主要的就是“筛选”,选择"name" "=" "表单变量" "name"。4 E+ b" e3 |9 y T9 @ |
意思是,要显示数据库表中字段name的内容,得有个条件,那就是:从上一页(1.asp)中书写的name表单内容要和库中的字段name值相等。& J3 q$ q$ j" g0 A
& m: N4 ~* o/ P/ e& @) ^
5,其实切换到“高级”就可以看到自动生成的SQL代码,其中就有requeset.form("name"),意思就是把1.asp文本框中输入的值接受过来。
: t: b3 N4 ^, c+ ]1 s ) D6 y; w w& y9 X: n
6,在2.asp页面敲入不存在该用户的提示语言"嘿嘿,这个用户还没有注册,所以你就没必要找密码了。"4 {* j7 K! Y, ^, Z p+ h# X& n6 ]
换行再敲入存在该用户的语句。但与此同时还要注意把密码问题SHOW出来,以及问题的答案做成文本框。
1 [ f3 t2 K; V# ?1 a6 O( Y # Q9 l5 R+ m* k' e# h w. N
7,选中2.asp的form标签,属性面板中动作填写3.asp,方法采用post。3.asp主要就是用来判断问题和答案是否吻合,如吻合则显示正确密码了。注意!是问题和答案在一起。而我们当前只有答案可以传过去,那我们的问题该怎么传到3.asp呢?$ H3 y8 C- q! }9 h( l5 U
( v( Y& S- `1 I' Y+ h
8,在“你的密码问题是:”后面插入光标,然后从“绑定”的“记录集”中选择“question”插入或者直接拖入到页面。注意!这还只是显示给用户密码问题,是不能将此信息传过去的。那怎么样才可以呢?! N! G8 U; v5 I2 o$ B E
2 B- ]- E. e' ]+ }& V9 G$ ~+ s 9,我们采用“隐藏域”来传送question的值。插入一“隐藏域”(PS:有人不会插入吗?呵呵),对“隐藏域”的属性进行修改:“隐藏区域”名称就叫"question"吧,“值”点击后面的闪电图标,弹出对话框中选择“question”。已经完成对“隐藏域”question的赋值,同样也可以进行传递。
, [+ q/ c8 ^8 N- i4 ~( }4 f
* ?, x s- A9 ? 10,剩下的就是把2.asp中的两部分严格分开了。- Z" s- O& @- }9 H% Q% U
选中“嘿嘿,这个用户还没有注册,所以你就没必要找密码了。”这段文本。
8 J: _- ~6 Z0 g4 ]3 S! {, L3 \ “应用程序”面板“服务器行为”“+”“显示区域”“记录为空则显示区域”。
0 R0 k( D0 J4 @/ b' b, k1 [, d6 y 弹出对话框中选择刚刚建立的recordset1即可。 S9 K+ O3 I/ R. e1 N1 C: \
意思很明显:如果没有找到满足SQL语言查询的记录集就显示该行错误提示。, f, [+ f v+ D1 I/ m' v
; q2 o0 }- P. `
11,同样,选择form表单,“应用程序”面板“服务器行为”“+”“显示区域”“记录不为空则显示区域”。
' Y% l$ R1 y& A# _( _9 Y+ `/ g+ ^* | 弹出对话框中选择刚刚建立的recordset1即可。0 k; n6 E2 f/ l. z
意思也很清楚:如果有满足SQL语言查询的记录集就显示问题和答案书写框。
2 \7 K5 ]' Q3 w- V4 K! E. a 最终效果页应该如下:
( O+ j |. t, R4 g ; T4 i, R3 F# d6 Z, U& Y& q
总算把2.asp搞定了。总结下,该页主要起承上启下的作用。先要判断有没有这个用户,如果有,还有把密码问题显示出来,并要能传送到下一页3.asp
" v4 m" g( k0 T2 t 12,那3.asp就要判断2.asp过来的密码问题以及答案是否和数据库中的吻合了。
* @& x1 M: `* q6 w" m 又有两个作用:不吻合,说明密码答案错,返回上页再来!吻合,那就规规矩矩地给人家密码吧,呵呵。
2 P4 a5 }6 y& l1 o 不过有了做2.asp的经验,做3.asp还不是小菜一碟!) [% E/ U5 W. a- v1 F5 Z8 ?
13,保存2.asp,在站点新建3.asp并且打开它。老规矩,绑定记录集(“应用程序”面板--“绑定”标签下“+”“记录集(查询)”)。" I, l. r2 B: L" C6 Q# i& ]9 w- z
在弹出的“记录集”中就要值得你要小心注意了。
! y# s0 B" V+ P “筛选”,选择"question" "=" "表单变量" "question"9 Y! u$ k) s) ~0 @4 ^# s5 `
+ ?8 I s3 X5 j; B6 W 14,但你有没有注意到,我们要传送两个值给3.asp接受的,但现在只能一个进行选择。那该怎么办呢?切换到“高级”SQL的相关代码。我们要稍加添加。) p$ n( `) W9 G3 w
SQL结构查询语言会一点,模仿能力强一点,呵呵就过来了!4 d/ v1 ~* M5 u$ {+ c
“变量”添加一个“MMAnswer”,“运行值”当然就是“request.form("answer")”了7 @) A3 k) j( R4 `+ u* X
然后把SQL语言加一下and answer = 'MMAnswer'
' u P1 b( x9 D4 j 看SQL的意思就明白了:必须要求 question and answer和数据库表中两字段的值吻合。
2 r4 G+ s9 K- T. M# g ; E/ l% R9 P3 T, U
15,接着,象做2.asp样快速设计3.asp. `! J( l' _" |9 _4 |' V! y
页面上书写不吻合的语句“呵呵,你的问题答案不是这个吧,要不回去再试试? ”并且选中后,同样是“应用程序”面板“服务器行为”“+”“显示区域”“记录为空则显示区域”。
* s% x U: y$ | 接着是吻合的情况,“你的密码是:”的后面,从“绑定”“记录集”中选择“pwd”插入或者直接拖入到页面;: e3 t( {/ T, [$ j6 b' A& z
并且还要选中该部分,“应用程序”面板“服务器行为”“+”“显示区域”“记录不为空则显示区域”。
; {8 y$ t0 n9 C& ~ 0 l1 U' X7 T3 ~: U3 B0 G; C7 I
16,保存3.asp,大功告成!来调试下。
3 L# K) G5 _! l) I, r, a - A' a3 r& D: b! @4 N- G' G
' E- c6 K! G# ?第七步:修改资料篇
9 @/ b$ _! n" P5 E- N 修改资料!首先要清醒一点,什么人才可以修改。
$ s- h! ^* n( q3 v7 J3 V2 z! U 一,本人只能修改自己的;二,管理员可以修改所有人的。, \( e# K6 E/ ?6 [ B B. O
那今天先来搞个可以修改自己资料的页面。
$ o) m" M7 `3 B4 y 顺序是:先确认是正确登录,然后才是自己的资料出现,再接着你才可以修改,对吧。 V/ G: y& w, i+ \( n
还记得---菜鸟也学DW做ASP。(登录系统篇)* Q) b2 N0 D5 y
这里面的loginok.asp页面还在的吧。不在也不要紧。再做一遍,当作练习的。
. u% k. Y( w6 { 好了吧。loginok.asp主要是个人信息页面,不同的用户显示不同的信息。
4 A# t A7 A6 ]& R q 这个页要注意的:是一保护页面,要添加“限制对页的访问”的;当然相信你已经做了。9 j0 G' P7 r G7 l4 W
那接着就是显示记录,来!动手了!+ Y; |) U7 r+ W4 S
1,loginok.asp中“应用程序”面板“绑定”标签“+”“记录集”。5 G% e, D) A6 }! ^% |
修改资料篇
& g ~5 Y* _4 @4 F/ ~ 今天是学习怎么做修改资料的ASP页面
3 q- v$ C( Z6 u! N3 ?8 s 修改资料!首先要清醒一点,什么人才可以修改。+ x2 {- J& z. ] V) {$ @5 B% n( I* D
一,本人只能修改自己的;二,管理员可以修改所有人的。
, t$ L: ~& p; Z, e: j9 O0 B6 Q 那今天先来搞个可以修改自己资料的页面。
* Y% D' i/ X' E" I, A 顺序是:先确认是正确登录,然后才是自己的资料出现,再接着你才可以修改,对吧。
+ |! b8 M1 @ Y0 x; z E 还记得---菜鸟也学DW做ASP。(登录系统篇)
& h4 ~- l+ B0 l1 s) W0 G. _ 这里面的loginok.asp页面还在的吧。不在也不要紧。再做一遍,当作练习的。- s: ~, _7 L8 B( x2 d) L5 G9 s8 X
好了吧。loginok.asp主要是个人信息页面,不同的用户显示不同的信息。
+ d( t2 D/ x3 v# T- ] 这个页要注意的:是一保护页面,要添加“限制对页的访问”的;当然相信你已经做了。
2 C* {& j8 b. i 那接着就是显示记录,来!动手了!, J$ C3 X2 ?/ Z
1,loginok.asp中“应用程序”面板“绑定”标签“+”“记录集”。
: ]- m) f1 `# p I9 P+ T( _! q" t6 h
' @6 g3 |; s+ J( n/ z) B 2,弹出的对话框中,好好设置下!主要是筛选那块:"name""=""阶段变量""MM_username"。
8 R( L8 Y, H4 W! X1 y: k
' m! [* V, K* O$ _4 ^ 3,切换到“高级...”其实就是生成了SQL:SELECT * FROM user WHERE name='MMColParam' ,并且MMColParam是一变量,运行的时候被赋上Session("MM_username")值。
. z; w0 `: k: s4 p, v$ q 很好理解,loginok.asp所绑定以及要显示的记录,有一条件:就是按WHERE后面的去找。! \% M% U: S, q: k5 h* ^+ w
不愁找不到!因为只有当Session("MM_username")不存在才找不到。
! H* T) R$ l0 I$ r 而如果Session("MM_username")不存在那说明这家伙根本还没有正确登录。* W& m2 `( ~( k, Y' Q/ d
呵呵,有点像鸡和鸡蛋的问题。9 K5 j" R$ a. M$ L6 |3 y( [
) \" V- p9 E* s
4,其实,这个时候你只要选择“应用程序”--“更新记录表单”就可以做我们的修改了。
6 B, q0 @( a$ U& A8 ` 但个人感受,先不去用这个,采用其它的办法同样可以,并且还能学到更多的知识。何乐而不为?
4 k1 T" {5 w5 C% n4 n( e1 u8 s a6 s 5 N" X. V+ s" L0 m
5,下面,那就跟我来。再让你学一手主详细页面的制作。
% w. [% x8 ^( N8 }1 h 有关主详细页,顾名思义。先来个笼统的显示(主要的),对哪个感兴趣,常会来个“详情请进”。. x; _) F3 m, q
当然在这个页子里面是没有多大用处的,因为主来详去就你一个用户信息。/ I- G; E& q! X$ X$ v% y
但如果是管理员的页面呢?对这个用户具体查看一下就要用到了。
, w4 n# V4 A. L ! l+ E8 u' w- N* T. c* x
6,在弹出的对话框中,"记录集"Recordset1无需理会,"主页字段"意思就是在主页面上要显示的字段信息。: Y$ V# Q* B. s" @. ^" w8 z8 ^
因为是主,其他不要显示的字段就一个个按“—”删除吧,主得只剩下大名name。
2 F/ b4 X; ?# R$ g2 ]' g# G4 d 那下面的连接到详细信息就只有选择“name”了。$ _1 O3 \" M" m/ @
“传递唯一键”就选自动编号ID吧,当然其他的也可以选,但一定要确认你所选的在数据库表中一定要有内容。比如一些人注册的时候QQ号码不一定写,那这时候你就不能选oicq做为“传递唯一键”
/ j# E. m# D% w% V! O (所谓“传递唯一键”,就是asp中传递URL参数值。君不见xxx网址是http://www.cnbruce.com/blog/showlog.asp?cat_id=27&;log_id=219,那“?”后面的是什么玩意,cat_id就是参数,27就是值,当然后面不光只要一个参数,多个参数就用&连起来。当然这些东西,学asp的都知道了。DW做,呵呵,不要理解这么多,但你一定要学。)
! \1 W. F7 P* a2 Z7 J) t 然后是"详细页名称",因为还没有做,当然推荐你先不做,为什么?自有玄机!) n- Z! J+ \' K+ O, h
就先命名个“xiangxi.asp”吧。: F/ U/ B0 e' X t& q+ H9 {( G
“详细页字段”就不改吧。好!确定。
( z3 {0 J6 e: L0 k. q: s- z- v' U! a
3 A: E+ r* C# ^ 7,确定后,一段时间的等待,突然发现,DW自动生成了xingxi.asp(刚才玄机所在)。不光页面内容生成,连“记录集”也绑定好了,动态文本也添加了。(真是服务周到)
' j! l- i. O" r. I & U8 M: I& d$ P
8,再看看loginok.asp。有不少东西,看得眼睛发呆,这些大都是和xiangxi.asp进行挂钩连接用的,不是垃圾,甭怕,呵呵。: o, l" P1 O4 i6 j6 ^1 C
X: J+ e: \' V4 F* g$ @# o 9,然后做什么事呢?回到xiangxi.asp吧。我们要修改资料,那得有些文本的框框让我填写啊。那这时候就有个死办法,先选中整个表瘢琧trl+x把表格给剪了。立马回到表单工具部分,插入表单,在出来的虚线框中ctrl+v粘贴过来。
7 G" j9 r, \' w/ A+ A7 {
- t. P0 m% e2 B& C# t 10,接下来,添加文本框。先把{Recordset1.xxx}一个一个删掉,只留下一个ID和name因为这两个不需要修改,也不能修改!* ^8 H- @1 Q, q
其余的,换成对应的文本框,注意“文本域”打上对应的名字。
/ W0 |3 A1 c9 a( D 在对表格加一行,添加两个按钮。
G5 V" b9 M$ [ $ u/ e& e# h5 k
11,再想想,那些文本框里面是不是空的,正常修改资料的时候还会显示到原有的信息的。所以,选中表单。“应用程序”“绑定”“记录集”中相应的字段。
# q7 W8 j" S, ~, d0 P
) O; l: B4 f3 z) {- b 或者,采用文本框的属性里面设置初始值,点动态闪电图标,弹出对话框中选择对应字段。
+ u& ~& m; i G4 j @, M' d! R
# M" p- n' ^( A) B( N 12,好了以后,选中form表单。。“应用程序”--“服务器行为”--“+”--“更新记录” G" B' Z2 a& U0 g# \8 }
* @# n; v1 Q( e5 k 13,弹出窗口中,一般默认。“在更新后,转到:”老规矩先写个xiugaiok.html,以后再来建。
1 Q+ R) s$ T; x& } U1 _0 S/ A 5 f; r! A: K6 A ?
14,当然,该页还没有结束,要添加“服务器行为”--“用户身份验证”--“限制对页的访问”,主要还是起保护作用,不能随便就能进入的。/ K- @- i/ k8 a# C8 p/ Z2 E; e% U
最后在把xiugaiok.html做下了,大体内容:修改成功!返回loginok.asp。
3 y7 |& |' `: t+ m+ z 基本完成,可以调试了。先从loginok.asp开始。因为是第一次打开窗口,根本没有登录,所以loginok.asp回自动转向到loginbad.html
6 G5 _% @+ q3 u1 i
$ N' Z* M- h! z. Y- [ 返回到login.asp,一路填下去
0 _ B* k9 E8 T; w3 {6 l+ m 9 L2 n) _0 H" @3 E) b
1 Q5 x6 n: R3 p7 H
点击“cnbruce”修改密码“789”确定!
' @7 t6 }# x9 z X8 [' {
# o0 w6 h: k! v2 u; i( i& b5 N7 C 然后,你再返回到 login.asp看看更改密码是不是生效了!1 V/ {! a2 Z3 R) y1 s
最后:整个的修改页是越来越复杂了,我采用步骤比较多的方法,当然也附带学到了主详细页的用处。最主要是本人认为这样对初学者才有挑战性,能够灵活运用,扩展,修改,细化,都需要自己多练。有错误是正常的,需要你自己对错误的认识和摆平,只有这样,也许技术才会有所提高。 3 i' x, Y& F* j4 ^$ H h% R) u; t% h9 n
|
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
|