  
- UID
- 1
- 帖子
- 738
- 精华
- 28
- 积分
- 14197
- 金币
- 2389
- 威望
- 1647
- 贡献
- 1337
|
用Dreamweaver制作ASP动态网页(图解五)
第六步 查找密码系统0 ^- y# ?" Y8 M- J/ h! Q4 v x* z
1,建立第一个页面 1.asp,其主要作用是让查找密码的朋友输入其用户名,很简单的页面:一个name文本输入框,和一个submit提交按钮。9 Y; Z4 @. N2 J! N/ O$ b) g; ~6 ]; N
. c' Q- {0 K( H1 j 2,1.asp中选form标记,在相应的属性框中,“动作”填写2.asp,“方法”采用post。
1 \; f9 \% t+ Z7 k6 f* v# m: a/ ]' r # }9 ?+ h2 J, R, R, T1 A
3,保存1.asp,在站点里面新建2.asp,并打开它。
0 M) d' e0 J6 i W* v& t, `. J# m 该页的作用有两个:5 S0 U* H% Q& g. ]) \. ?8 X+ D
1,判断上一页,即1.asp所填写名字在数据库中是否存在。
; L/ |: [! k6 D 2,不存在应提示出错,存在则应将该用户的问题(question)字段内容显示。
9 a5 Y1 y% L4 G0 i5 C: v 具体怎么实现呢?9 ^5 |& v- K1 `4 t& f
4,2.asp上数据库已经连好。老方法,先绑定记录集(“应用程序”面板--“绑定”标签下“+”“记录集(查询)”)。在弹出的“记录集”中就要好好设置了。最主要的就是“筛选”,选择"name" "=" "表单变量" "name"。: S) \. g9 O1 X
意思是,要显示数据库表中字段name的内容,得有个条件,那就是:从上一页(1.asp)中书写的name表单内容要和库中的字段name值相等。) z5 h9 Y. \+ s
. B; h% d% Q1 W( l% [! M
5,其实切换到“高级”就可以看到自动生成的SQL代码,其中就有requeset.form("name"),意思就是把1.asp文本框中输入的值接受过来。
$ _- S9 Z, \( l- H - f5 R5 K: y5 R. }; z) G
6,在2.asp页面敲入不存在该用户的提示语言"嘿嘿,这个用户还没有注册,所以你就没必要找密码了。"
# Z- K! X! |3 x% S 换行再敲入存在该用户的语句。但与此同时还要注意把密码问题SHOW出来,以及问题的答案做成文本框。
+ t3 D0 A+ Y9 [$ P3 N0 C) ^ 1 W" o! B, a1 f% ?3 Q; A: Y* I
7,选中2.asp的form标签,属性面板中动作填写3.asp,方法采用post。3.asp主要就是用来判断问题和答案是否吻合,如吻合则显示正确密码了。注意!是问题和答案在一起。而我们当前只有答案可以传过去,那我们的问题该怎么传到3.asp呢?' m1 ~! U1 w2 h, a/ W% h9 a( m$ X
* i( @' O% v' @7 W
8,在“你的密码问题是:”后面插入光标,然后从“绑定”的“记录集”中选择“question”插入或者直接拖入到页面。注意!这还只是显示给用户密码问题,是不能将此信息传过去的。那怎么样才可以呢?2 @, {) |& w2 w) b* e( m; S' a9 S* X
1 d3 X+ A) ^; H5 v 9,我们采用“隐藏域”来传送question的值。插入一“隐藏域”(PS:有人不会插入吗?呵呵),对“隐藏域”的属性进行修改:“隐藏区域”名称就叫"question"吧,“值”点击后面的闪电图标,弹出对话框中选择“question”。已经完成对“隐藏域”question的赋值,同样也可以进行传递。
' C; ~5 m. m6 V/ H8 | * Q* D6 z1 u9 u( e% C4 D0 d0 z
10,剩下的就是把2.asp中的两部分严格分开了。. p4 k6 F) q L% A* t- t2 E) a) k
选中“嘿嘿,这个用户还没有注册,所以你就没必要找密码了。”这段文本。; Q- E7 f# E. x* I
“应用程序”面板“服务器行为”“+”“显示区域”“记录为空则显示区域”。
2 [2 [; v# w3 P. m; m; B& f$ Y 弹出对话框中选择刚刚建立的recordset1即可。
; m! ~5 v( y3 N+ B 意思很明显:如果没有找到满足SQL语言查询的记录集就显示该行错误提示。" f& H5 h/ P# I; E
; D! Z2 w' F: A5 F% a. A) G. ?
11,同样,选择form表单,“应用程序”面板“服务器行为”“+”“显示区域”“记录不为空则显示区域”。; U6 q1 L g E7 R& O$ L$ o
弹出对话框中选择刚刚建立的recordset1即可。' S- j' r6 N; U
意思也很清楚:如果有满足SQL语言查询的记录集就显示问题和答案书写框。
; C' a+ R5 j% K: S2 i, o7 h 最终效果页应该如下:
6 t* |5 V: x; f( A# ?
D' P7 x. N! c! c+ D; q3 v9 z/ L; J 总算把2.asp搞定了。总结下,该页主要起承上启下的作用。先要判断有没有这个用户,如果有,还有把密码问题显示出来,并要能传送到下一页3.asp8 x4 N* Z: {$ K# U
12,那3.asp就要判断2.asp过来的密码问题以及答案是否和数据库中的吻合了。
0 U e" @2 p; {* C# A: j& k9 x 又有两个作用:不吻合,说明密码答案错,返回上页再来!吻合,那就规规矩矩地给人家密码吧,呵呵。
. ~3 F' B1 I" q: Q5 |* P W 不过有了做2.asp的经验,做3.asp还不是小菜一碟!2 ?( }- j. Y+ Q9 F
13,保存2.asp,在站点新建3.asp并且打开它。老规矩,绑定记录集(“应用程序”面板--“绑定”标签下“+”“记录集(查询)”)。
% ~) i4 s5 r0 E6 h; w 在弹出的“记录集”中就要值得你要小心注意了。1 E2 g6 [' A o1 S
“筛选”,选择"question" "=" "表单变量" "question". r. _) z3 ]: q i/ M0 t
& c( k! ?9 \& W" P* \, N
14,但你有没有注意到,我们要传送两个值给3.asp接受的,但现在只能一个进行选择。那该怎么办呢?切换到“高级”SQL的相关代码。我们要稍加添加。
! |5 C b- b- ~& H) N4 [ SQL结构查询语言会一点,模仿能力强一点,呵呵就过来了!
! i* P W2 t; ]7 m# i. D “变量”添加一个“MMAnswer”,“运行值”当然就是“request.form("answer")”了' F1 F2 T* V% v+ o, Q: f
然后把SQL语言加一下and answer = 'MMAnswer'& g& e. G; T' G
看SQL的意思就明白了:必须要求 question and answer和数据库表中两字段的值吻合。9 r* ~3 A1 s' |
! U; Z- {3 y4 X8 e9 r2 c 15,接着,象做2.asp样快速设计3.asp
, B# L( x3 l# U2 C) ` 页面上书写不吻合的语句“呵呵,你的问题答案不是这个吧,要不回去再试试? ”并且选中后,同样是“应用程序”面板“服务器行为”“+”“显示区域”“记录为空则显示区域”。& M4 U( ^0 H) s
接着是吻合的情况,“你的密码是:”的后面,从“绑定”“记录集”中选择“pwd”插入或者直接拖入到页面;' m$ W* T: m- M1 u G t; W
并且还要选中该部分,“应用程序”面板“服务器行为”“+”“显示区域”“记录不为空则显示区域”。! I# J9 V. c7 H/ Z$ H
( \6 s# @: g$ A. y( M 16,保存3.asp,大功告成!来调试下。1 X" X# I. c/ Z3 B R8 }7 g& A
# @, x+ u% a+ k; v* k8 o! D' L
: O8 ^1 |/ M& y- z7 d第七步:修改资料篇
) R& p$ u. |8 E* W* a, Q 修改资料!首先要清醒一点,什么人才可以修改。7 Z7 w/ a3 w3 F7 q0 g
一,本人只能修改自己的;二,管理员可以修改所有人的。
0 \* ^0 y7 b! g) ?) y) k9 d) x 那今天先来搞个可以修改自己资料的页面。
" c2 G) [, f3 [3 S' Y. K! F 顺序是:先确认是正确登录,然后才是自己的资料出现,再接着你才可以修改,对吧。
. v2 g; c3 i6 M! l" L: g+ H 还记得---菜鸟也学DW做ASP。(登录系统篇), o' V9 e7 g# a) P2 F0 D
这里面的loginok.asp页面还在的吧。不在也不要紧。再做一遍,当作练习的。
0 t5 C8 }( N y' u 好了吧。loginok.asp主要是个人信息页面,不同的用户显示不同的信息。5 ^" ^7 r" o* G) w7 \. \
这个页要注意的:是一保护页面,要添加“限制对页的访问”的;当然相信你已经做了。
% ^6 I$ I' K3 H' z: Q2 M 那接着就是显示记录,来!动手了!
: c+ K) _' X: Q) M 1,loginok.asp中“应用程序”面板“绑定”标签“+”“记录集”。" t; S' y4 `4 P5 I% I7 I
修改资料篇
9 E* o& ?6 X& z& v B 今天是学习怎么做修改资料的ASP页面 s! {7 f& O8 ~2 C$ [- [/ i9 ^ I/ z
修改资料!首先要清醒一点,什么人才可以修改。
9 v0 R; A$ B/ L/ t 一,本人只能修改自己的;二,管理员可以修改所有人的。" `4 L. m t" a+ H
那今天先来搞个可以修改自己资料的页面。
8 s7 h( C7 {( _& } 顺序是:先确认是正确登录,然后才是自己的资料出现,再接着你才可以修改,对吧。
5 P& u$ ]. ^+ N+ A5 X! z( h 还记得---菜鸟也学DW做ASP。(登录系统篇)
+ f0 B: r- n3 _! M) P 这里面的loginok.asp页面还在的吧。不在也不要紧。再做一遍,当作练习的。 Q; t* h1 ]9 e; B6 i! U
好了吧。loginok.asp主要是个人信息页面,不同的用户显示不同的信息。9 Z+ ?# L9 B( f4 f8 x5 g' L+ ^ {
这个页要注意的:是一保护页面,要添加“限制对页的访问”的;当然相信你已经做了。2 ~) G/ O8 {) Y
那接着就是显示记录,来!动手了!7 ]$ X$ t' G6 m3 l1 g, N
1,loginok.asp中“应用程序”面板“绑定”标签“+”“记录集”。
7 [4 m& s9 }0 N' Y5 n2 O4 k* g 5 U+ H% N( u, M- Z
2,弹出的对话框中,好好设置下!主要是筛选那块:"name""=""阶段变量""MM_username"。* S9 N/ ^5 q. |1 P6 S7 Q# G* F
. F; r# k2 d1 Z% U3 `7 L; P+ Z2 {) m 3,切换到“高级...”其实就是生成了SQL:SELECT * FROM user WHERE name='MMColParam' ,并且MMColParam是一变量,运行的时候被赋上Session("MM_username")值。% ?) _+ [# M) S, l6 h8 ?0 h+ S5 b
很好理解,loginok.asp所绑定以及要显示的记录,有一条件:就是按WHERE后面的去找。# ^) z! D2 G( x' O* ? c
不愁找不到!因为只有当Session("MM_username")不存在才找不到。/ F% r3 D( ~5 r: f& ^3 m
而如果Session("MM_username")不存在那说明这家伙根本还没有正确登录。
; n1 \$ x8 |5 H# g, f+ b6 L 呵呵,有点像鸡和鸡蛋的问题。- Y- x: h. @- ]! C7 |6 N! `% N1 N& x! G
7 M+ b) B; D6 h, J1 P2 {4 O 4,其实,这个时候你只要选择“应用程序”--“更新记录表单”就可以做我们的修改了。* u/ h3 [3 r; B9 T' I9 A
但个人感受,先不去用这个,采用其它的办法同样可以,并且还能学到更多的知识。何乐而不为?
; A8 Q6 [- g/ h3 A0 H/ G+ D/ ~ + C7 e* P2 V$ ?# y, d& c
5,下面,那就跟我来。再让你学一手主详细页面的制作。5 Y( \- R' `% u9 S' p! L
有关主详细页,顾名思义。先来个笼统的显示(主要的),对哪个感兴趣,常会来个“详情请进”。" m5 E: q1 D5 H( U! Q
当然在这个页子里面是没有多大用处的,因为主来详去就你一个用户信息。
: j( _% T- |4 K4 [' _" l: A# X/ B 但如果是管理员的页面呢?对这个用户具体查看一下就要用到了。8 F! ?$ ]# E2 Y2 d3 g0 X
9 w$ ?+ `9 C( A9 |" i, B) O! ^ 6,在弹出的对话框中,"记录集"Recordset1无需理会,"主页字段"意思就是在主页面上要显示的字段信息。
: o$ |- @8 |) |, W& l5 K- z C 因为是主,其他不要显示的字段就一个个按“—”删除吧,主得只剩下大名name。; }5 N; F( D& l& B# N) a
那下面的连接到详细信息就只有选择“name”了。7 M0 G0 H; D1 m0 b G5 G: \
“传递唯一键”就选自动编号ID吧,当然其他的也可以选,但一定要确认你所选的在数据库表中一定要有内容。比如一些人注册的时候QQ号码不一定写,那这时候你就不能选oicq做为“传递唯一键”2 e2 `' o' e# f; k5 Z: O
(所谓“传递唯一键”,就是asp中传递URL参数值。君不见xxx网址是http://www.cnbruce.com/blog/showlog.asp?cat_id=27&;log_id=219,那“?”后面的是什么玩意,cat_id就是参数,27就是值,当然后面不光只要一个参数,多个参数就用&连起来。当然这些东西,学asp的都知道了。DW做,呵呵,不要理解这么多,但你一定要学。)
, d4 w$ ]! B% w( T+ n# C: _ 然后是"详细页名称",因为还没有做,当然推荐你先不做,为什么?自有玄机!
( h6 u9 B6 p; B 就先命名个“xiangxi.asp”吧。
' Q) H+ N! A' ~5 n0 V* w2 P# R “详细页字段”就不改吧。好!确定。 p2 D/ J0 h; f0 F' n) R
$ g+ _; u! P( j- x+ M 7,确定后,一段时间的等待,突然发现,DW自动生成了xingxi.asp(刚才玄机所在)。不光页面内容生成,连“记录集”也绑定好了,动态文本也添加了。(真是服务周到)" B/ b( O: G, n4 q* }5 T1 }
; G4 ^/ ?( {- Z5 J# [4 f8 L
8,再看看loginok.asp。有不少东西,看得眼睛发呆,这些大都是和xiangxi.asp进行挂钩连接用的,不是垃圾,甭怕,呵呵。5 b6 u* l6 I4 v1 r% }' E
5 R5 d6 e, {+ k) N; {; P1 A, E 9,然后做什么事呢?回到xiangxi.asp吧。我们要修改资料,那得有些文本的框框让我填写啊。那这时候就有个死办法,先选中整个表瘢琧trl+x把表格给剪了。立马回到表单工具部分,插入表单,在出来的虚线框中ctrl+v粘贴过来。2 L N- O J! S# |
5 x8 m/ x" t7 r
10,接下来,添加文本框。先把{Recordset1.xxx}一个一个删掉,只留下一个ID和name因为这两个不需要修改,也不能修改!
# j8 w _. m. @5 r$ {7 O7 h0 Z 其余的,换成对应的文本框,注意“文本域”打上对应的名字。$ R. r4 E0 R) u; h
在对表格加一行,添加两个按钮。
2 o' l& c* | e7 K& a$ o' W
) e" L* ]9 a& C4 I, ~3 B& l: V 11,再想想,那些文本框里面是不是空的,正常修改资料的时候还会显示到原有的信息的。所以,选中表单。“应用程序”“绑定”“记录集”中相应的字段。6 `8 n1 |6 `6 D% d6 G- M; W
4 W) D5 N: \9 H' I+ f7 F6 J 或者,采用文本框的属性里面设置初始值,点动态闪电图标,弹出对话框中选择对应字段。
( u' O% @% G! ^3 }, F' F
& t9 n |1 Y1 {1 F# t 12,好了以后,选中form表单。。“应用程序”--“服务器行为”--“+”--“更新记录”
6 Y' S$ D; v( k; {( ], C & D& W. s }9 E
13,弹出窗口中,一般默认。“在更新后,转到:”老规矩先写个xiugaiok.html,以后再来建。7 c8 s6 t/ c% F9 U# R* [" g% Q$ M8 x$ R
; u" k2 ^" v* |7 ~2 ? 14,当然,该页还没有结束,要添加“服务器行为”--“用户身份验证”--“限制对页的访问”,主要还是起保护作用,不能随便就能进入的。% g5 {$ w" G0 U3 |
最后在把xiugaiok.html做下了,大体内容:修改成功!返回loginok.asp。/ u' V1 m, g! B/ C( H- j3 P
基本完成,可以调试了。先从loginok.asp开始。因为是第一次打开窗口,根本没有登录,所以loginok.asp回自动转向到loginbad.html
" Y y- Z- m- L* L$ X3 ` . U+ ~6 z" v/ }& C& K6 [
返回到login.asp,一路填下去
9 b1 [4 [* K/ {
1 p' S6 q+ K: o. A
6 Z7 X2 Q6 V S% g 点击“cnbruce”修改密码“789”确定!% b' d; C4 _; ~7 c1 V
+ C1 [4 q K# \ 然后,你再返回到 login.asp看看更改密码是不是生效了!
5 |* X% N# z( J$ K, I, Z 最后:整个的修改页是越来越复杂了,我采用步骤比较多的方法,当然也附带学到了主详细页的用处。最主要是本人认为这样对初学者才有挑战性,能够灵活运用,扩展,修改,细化,都需要自己多练。有错误是正常的,需要你自己对错误的认识和摆平,只有这样,也许技术才会有所提高。
( O* L5 |$ K3 p5 R# S" O; t |
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
|