返回列表 发帖

用Dreamweaver制作ASP动态网页(图解五)

  第六步 查找密码系统
" C- N) I/ v( A* s: P, v  1,建立第一个页面 1.asp,其主要作用是让查找密码的朋友输入其用户名,很简单的页面:一个name文本输入框,和一个submit提交按钮。# p  d& ?9 X8 o2 e5 r5 d
  
/ x* i$ B- H% h5 }  2,1.asp中选form标记,在相应的属性框中,“动作”填写2.asp,“方法”采用post。
, g! @1 M2 b/ M3 M/ o' _" }9 b  # w0 _6 Q/ V3 F  n& `# x
  3,保存1.asp,在站点里面新建2.asp,并打开它。+ `" Q6 L% m/ I: f
  该页的作用有两个:
0 y; G! N+ n( b  1,判断上一页,即1.asp所填写名字在数据库中是否存在。
; X7 n) L( Z8 o! q$ u8 D  2,不存在应提示出错,存在则应将该用户的问题(question)字段内容显示。
3 m0 }% ~% K8 o0 A- A9 _4 J: y  具体怎么实现呢?1 H+ J4 _% H5 h* s6 [
  4,2.asp上数据库已经连好。老方法,先绑定记录集(“应用程序”面板--“绑定”标签下“+”“记录集(查询)”)。在弹出的“记录集”中就要好好设置了。最主要的就是“筛选”,选择"name" "=" "表单变量" "name"。3 q/ T- z9 q# F' R
  意思是,要显示数据库表中字段name的内容,得有个条件,那就是:从上一页(1.asp)中书写的name表单内容要和库中的字段name值相等。1 _$ ?' E$ {+ l5 p2 ], n
  ; z% B1 S+ \7 O& O+ p- V6 B
  5,其实切换到“高级”就可以看到自动生成的SQL代码,其中就有requeset.form("name"),意思就是把1.asp文本框中输入的值接受过来。
: s9 `7 w9 N/ k7 M* m5 b  d/ U  
5 x  V! h0 ]; Y4 d$ u  6,在2.asp页面敲入不存在该用户的提示语言"嘿嘿,这个用户还没有注册,所以你就没必要找密码了。"* ?; \! S! w5 `: ?8 F9 k5 L
  换行再敲入存在该用户的语句。但与此同时还要注意把密码问题SHOW出来,以及问题的答案做成文本框。
' d& a% M' I' X6 W( ?+ H  
  K3 K$ ^! t, u; r. B3 I! `$ p  7,选中2.asp的form标签,属性面板中动作填写3.asp,方法采用post。3.asp主要就是用来判断问题和答案是否吻合,如吻合则显示正确密码了。注意!是问题和答案在一起。而我们当前只有答案可以传过去,那我们的问题该怎么传到3.asp呢?
" t$ @# T4 y5 u/ {! j  
6 y8 R2 Z6 Z+ O  Z' q( J  8,在“你的密码问题是:”后面插入光标,然后从“绑定”的“记录集”中选择“question”插入或者直接拖入到页面。注意!这还只是显示给用户密码问题,是不能将此信息传过去的。那怎么样才可以呢?
7 F5 q2 M1 |. k- h    }5 G1 s8 [  m  I) j
  9,我们采用“隐藏域”来传送question的值。插入一“隐藏域”(PS:有人不会插入吗?呵呵),对“隐藏域”的属性进行修改:“隐藏区域”名称就叫"question"吧,“值”点击后面的闪电图标,弹出对话框中选择“question”。已经完成对“隐藏域”question的赋值,同样也可以进行传递。
8 S5 L4 l0 j6 |2 b5 k' } 
/ c( e/ a6 T9 S5 G  10,剩下的就是把2.asp中的两部分严格分开了。
$ q7 L& b  W3 u2 I( v; O  选中“嘿嘿,这个用户还没有注册,所以你就没必要找密码了。”这段文本。2 W0 i9 Y& r3 v8 l4 u7 [
  “应用程序”面板“服务器行为”“+”“显示区域”“记录为空则显示区域”。1 a% N  O# u5 c1 d% K, m+ B" d& p5 A
  弹出对话框中选择刚刚建立的recordset1即可。
% o0 v# m$ y  i0 y. t/ |  意思很明显:如果没有找到满足SQL语言查询的记录集就显示该行错误提示。
. m7 K/ F6 H5 L  ! t) V/ C' _$ y6 X: [7 ^3 L" L
  11,同样,选择form表单,“应用程序”面板“服务器行为”“+”“显示区域”“记录不为空则显示区域”。/ n; l" O6 Q) h' W( ^7 g7 \8 ^; {8 ?
  弹出对话框中选择刚刚建立的recordset1即可。
, v0 S( Y0 w1 [0 w  意思也很清楚:如果有满足SQL语言查询的记录集就显示问题和答案书写框。
2 A# r! T+ z0 G; {  最终效果页应该如下:
8 `% e6 W0 f' E5 }" Y( c8 z0 w  , C* Q$ C1 T) a+ l% i' x
  总算把2.asp搞定了。总结下,该页主要起承上启下的作用。先要判断有没有这个用户,如果有,还有把密码问题显示出来,并要能传送到下一页3.asp
  h% W8 |' [8 i. g4 a8 {$ s, @/ j  12,那3.asp就要判断2.asp过来的密码问题以及答案是否和数据库中的吻合了。7 J0 t  I, f! t
  又有两个作用:不吻合,说明密码答案错,返回上页再来!吻合,那就规规矩矩地给人家密码吧,呵呵。# j  H* Z# b. ?, l$ c( p
  不过有了做2.asp的经验,做3.asp还不是小菜一碟!- x/ f, b% q! C! Y, j
  13,保存2.asp,在站点新建3.asp并且打开它。老规矩,绑定记录集(“应用程序”面板--“绑定”标签下“+”“记录集(查询)”)。, t1 c! _0 w4 [% p
  在弹出的“记录集”中就要值得你要小心注意了。
# @; H, G; G2 h! R' z5 c  “筛选”,选择"question" "=" "表单变量" "question"% W& I; d! W8 e+ `, @( k
  
1 C) C  l. D8 V# y  `$ ^3 Z1 r  14,但你有没有注意到,我们要传送两个值给3.asp接受的,但现在只能一个进行选择。那该怎么办呢?切换到“高级”SQL的相关代码。我们要稍加添加。
* @% A6 Y. {" v3 o  SQL结构查询语言会一点,模仿能力强一点,呵呵就过来了!
+ r1 n0 n9 ?/ C. b4 t3 }6 ~  “变量”添加一个“MMAnswer”,“运行值”当然就是“request.form("answer")”了
) e+ q- J+ P0 j* D7 u9 C, @+ z, N  然后把SQL语言加一下and answer = 'MMAnswer'" ^  r9 o$ o" E+ w  B% S# i
  看SQL的意思就明白了:必须要求 question and answer和数据库表中两字段的值吻合。6 e; s/ |. }8 k) O4 V
  
  z- h6 ]4 c$ p  f% S  15,接着,象做2.asp样快速设计3.asp
6 X2 J. r9 C: U( F' {6 Y  页面上书写不吻合的语句“呵呵,你的问题答案不是这个吧,要不回去再试试? ”并且选中后,同样是“应用程序”面板“服务器行为”“+”“显示区域”“记录为空则显示区域”。
! ~1 e6 K6 h' y3 q  v# n  接着是吻合的情况,“你的密码是:”的后面,从“绑定”“记录集”中选择“pwd”插入或者直接拖入到页面;
5 ]; g& H0 M. n2 b3 |& V  并且还要选中该部分,“应用程序”面板“服务器行为”“+”“显示区域”“记录不为空则显示区域”。7 _# n7 m. V; I" \
  
/ Z: E# o- I- Z; X4 a  16,保存3.asp,大功告成!来调试下。# t- @8 N$ S6 d  _
  
5 ~7 k8 r; R) L! [3 g% d+ b  
9 d$ U$ U" x1 N* U第七步:修改资料篇
0 |& G7 c7 H1 x! [  修改资料!首先要清醒一点,什么人才可以修改。
4 S* K) f6 a6 w+ s7 o  一,本人只能修改自己的;二,管理员可以修改所有人的。, f/ A: T3 I( Y7 Z
  那今天先来搞个可以修改自己资料的页面。/ P% K- v# y' C3 Q" C" R8 p
  顺序是:先确认是正确登录,然后才是自己的资料出现,再接着你才可以修改,对吧。/ V. l6 h- a, c. O' |" v
  还记得---菜鸟也学DW做ASP。(登录系统篇)
0 C! O6 ^0 X2 L/ A0 e  这里面的loginok.asp页面还在的吧。不在也不要紧。再做一遍,当作练习的。
( p7 S( H$ O2 l  好了吧。loginok.asp主要是个人信息页面,不同的用户显示不同的信息。3 \; }1 q5 T" {
  这个页要注意的:是一保护页面,要添加“限制对页的访问”的;当然相信你已经做了。  U6 P% G6 Z7 N7 N
  那接着就是显示记录,来!动手了!' R" ^" h- t# U) f; x3 H. b
  1,loginok.asp中“应用程序”面板“绑定”标签“+”“记录集”。, ?- o- L% `6 M, ]& J
  修改资料篇% i% u% t1 H- Z4 {8 P- W: ^
  今天是学习怎么做修改资料的ASP页面
2 s( x1 k* e" S; ^8 C  修改资料!首先要清醒一点,什么人才可以修改。, E$ n  A: }! L$ ~
  一,本人只能修改自己的;二,管理员可以修改所有人的。
( ^3 J# x  Q3 s: D, D- K6 _  那今天先来搞个可以修改自己资料的页面。
/ |( M7 o* D) x* V: N  顺序是:先确认是正确登录,然后才是自己的资料出现,再接着你才可以修改,对吧。
" N0 N9 |% V: \& G. T  还记得---菜鸟也学DW做ASP。(登录系统篇)- ?- O6 _) O7 _7 x4 p' M
  这里面的loginok.asp页面还在的吧。不在也不要紧。再做一遍,当作练习的。+ D3 g' Y: d- F/ ?
  好了吧。loginok.asp主要是个人信息页面,不同的用户显示不同的信息。- @. B/ C% s5 v
  这个页要注意的:是一保护页面,要添加“限制对页的访问”的;当然相信你已经做了。
, h$ C$ D: m  c' g8 ?% W' C2 K7 r  那接着就是显示记录,来!动手了!% A9 {+ y" m7 p: c5 I, |2 p
  1,loginok.asp中“应用程序”面板“绑定”标签“+”“记录集”。. T' f* ~) M8 n, C% o
  0 g7 K: g# S: q  l
  2,弹出的对话框中,好好设置下!主要是筛选那块:"name""=""阶段变量""MM_username"。$ t/ v7 ]$ V' T# a3 u0 D+ `7 N
  
) K1 Z, m6 e" q5 Z$ F2 L  3,切换到“高级...”其实就是生成了SQL:SELECT * FROM user WHERE name='MMColParam' ,并且MMColParam是一变量,运行的时候被赋上Session("MM_username")值。" F, h& w  }. C, F* |. `' h7 Z
  很好理解,loginok.asp所绑定以及要显示的记录,有一条件:就是按WHERE后面的去找。
) [; x" a3 U8 M9 U  p& s: D. M  不愁找不到!因为只有当Session("MM_username")不存在才找不到。
0 q* N7 l, ?; I4 u$ B) [- q- n  而如果Session("MM_username")不存在那说明这家伙根本还没有正确登录。1 X5 K0 J1 X# v$ N2 w, Q* q/ K
  呵呵,有点像鸡和鸡蛋的问题。
% b  e# l( S, \  t  5 z* R$ z5 }- a8 f! k
  4,其实,这个时候你只要选择“应用程序”--“更新记录表单”就可以做我们的修改了。
  o1 }' B2 K2 ]2 D7 U5 w. T  但个人感受,先不去用这个,采用其它的办法同样可以,并且还能学到更多的知识。何乐而不为?( T$ B5 R. u9 B; |! ]1 a6 q
  
; G& h. d4 T3 g) `  5,下面,那就跟我来。再让你学一手主详细页面的制作。! T0 I- L3 X  \' j
  有关主详细页,顾名思义。先来个笼统的显示(主要的),对哪个感兴趣,常会来个“详情请进”。
4 T" c, d- v: _( h; k/ v* J5 G) ?* |% H  当然在这个页子里面是没有多大用处的,因为主来详去就你一个用户信息。+ w7 {- x) {6 R. b
  但如果是管理员的页面呢?对这个用户具体查看一下就要用到了。
! m! Y9 Y4 b( r8 j  ' h  Z* ~; e- h; a, p5 i! k! T
  6,在弹出的对话框中,"记录集"Recordset1无需理会,"主页字段"意思就是在主页面上要显示的字段信息。
: e0 f& |9 J4 M* s& p  因为是主,其他不要显示的字段就一个个按“—”删除吧,主得只剩下大名name。
; Z. P; g% }  I# u0 n  e  那下面的连接到详细信息就只有选择“name”了。3 r  J; I3 z: v0 ]- q& q
  “传递唯一键”就选自动编号ID吧,当然其他的也可以选,但一定要确认你所选的在数据库表中一定要有内容。比如一些人注册的时候QQ号码不一定写,那这时候你就不能选oicq做为“传递唯一键”
+ ?; r9 ]' o* T6 L3 F  (所谓“传递唯一键”,就是asp中传递URL参数值。君不见xxx网址是http://www.cnbruce.com/blog/showlog.asp?cat_id=27&;log_id=219,那“?”后面的是什么玩意,cat_id就是参数,27就是值,当然后面不光只要一个参数,多个参数就用&连起来。当然这些东西,学asp的都知道了。DW做,呵呵,不要理解这么多,但你一定要学。)
* @1 V; d2 v( r1 }, ^, J! {: @$ U2 p  然后是"详细页名称",因为还没有做,当然推荐你先不做,为什么?自有玄机!9 Y* U5 c5 f4 M: S8 j  D3 h+ Q
  就先命名个“xiangxi.asp”吧。
; ~- c8 M9 ^8 D9 k. `2 `% s! N  “详细页字段”就不改吧。好!确定。- R) ]6 x6 T9 I/ U) C5 \7 _
  
0 {* P" d+ G6 K4 o0 m" _  7,确定后,一段时间的等待,突然发现,DW自动生成了xingxi.asp(刚才玄机所在)。不光页面内容生成,连“记录集”也绑定好了,动态文本也添加了。(真是服务周到)8 \0 v8 K# T- o( x5 ~4 g- E
  
3 a5 Z& j8 A" c9 s5 l  8,再看看loginok.asp。有不少东西,看得眼睛发呆,这些大都是和xiangxi.asp进行挂钩连接用的,不是垃圾,甭怕,呵呵。) C% k7 g" I; E3 [8 E. J
  
- y' G( x& s7 b3 s6 W& C2 J  9,然后做什么事呢?回到xiangxi.asp吧。我们要修改资料,那得有些文本的框框让我填写啊。那这时候就有个死办法,先选中整个表瘢琧trl+x把表格给剪了。立马回到表单工具部分,插入表单,在出来的虚线框中ctrl+v粘贴过来。' y( N5 A0 G& G/ a
  
; S5 T+ S0 u$ D/ ~  10,接下来,添加文本框。先把{Recordset1.xxx}一个一个删掉,只留下一个ID和name因为这两个不需要修改,也不能修改!: h3 [/ ?3 M5 F
  其余的,换成对应的文本框,注意“文本域”打上对应的名字。" U: Y& {: ]7 `" h2 \
  在对表格加一行,添加两个按钮。( h# Z  |3 Q- Q( S9 a
  
9 M0 @7 N- a- C, H) i0 }  11,再想想,那些文本框里面是不是空的,正常修改资料的时候还会显示到原有的信息的。所以,选中表单。“应用程序”“绑定”“记录集”中相应的字段。/ f4 P& o: F& E! F5 t, R
  % Y7 z* e% B8 V5 V
  或者,采用文本框的属性里面设置初始值,点动态闪电图标,弹出对话框中选择对应字段。
/ ^+ s5 w% w9 u. o5 D) g7 v$ S+ k  6 s8 y5 H1 ^& f0 q
  12,好了以后,选中form表单。。“应用程序”--“服务器行为”--“+”--“更新记录”
9 C/ Q! a4 l/ z, \& Z  2 w+ O5 n( e, [% Z# o0 u
  13,弹出窗口中,一般默认。“在更新后,转到:”老规矩先写个xiugaiok.html,以后再来建。
' T, b) P$ O4 N9 K2 I7 _  : Q  a5 C; _3 ?
  14,当然,该页还没有结束,要添加“服务器行为”--“用户身份验证”--“限制对页的访问”,主要还是起保护作用,不能随便就能进入的。
( c# t4 k$ b" H0 v  最后在把xiugaiok.html做下了,大体内容:修改成功!返回loginok.asp。& _1 b; o, ^- U# ~
  基本完成,可以调试了。先从loginok.asp开始。因为是第一次打开窗口,根本没有登录,所以loginok.asp回自动转向到loginbad.html7 o5 _* Y% |1 e6 `! u( J0 Y& h
  " A. z/ n( Z; [( d) m; I0 |
  返回到login.asp,一路填下去8 ~) X+ c6 x- N* d( l  N+ ^
  4 _  e" c8 V: v5 Z, d) |. G( C
  
( Q) I+ _) w+ I8 D; n  点击“cnbruce”修改密码“789”确定!
' \& M! K% D( E# m! F4 H! L  : I4 q) `3 c( c4 h% \( n  F8 y: q
  然后,你再返回到 login.asp看看更改密码是不是生效了!
8 Q, M! b# R( c1 N  最后:整个的修改页是越来越复杂了,我采用步骤比较多的方法,当然也附带学到了主详细页的用处。最主要是本人认为这样对初学者才有挑战性,能够灵活运用,扩展,修改,细化,都需要自己多练。有错误是正常的,需要你自己对错误的认识和摆平,只有这样,也许技术才会有所提高。
0 c6 x* R9 i& _  V4 y. t4 C* S& o4 Z
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

返回列表
【捌玖网络】已经运行: