用Dreamweaver MX 打造会员登录(下)
数码时尚
三、新用户注册
1.制作新用户登录页面register.asp
在页面中插入一个“Form”,然后设计表格,并向表格中加入文字与表单元素,其中文字前有“*”的是让注册者必须填写的,具体内容见表1。
2.添加服务器行为
(1)选择“Window→Server Behaviors”命令,打开服务器行为面板。单击‘+’按钮,选择‘Insert Record’单击,弹出‘Insert Record’对话框。进行如图1的设置。
(2)为了防止注册的用户名重复,打开“Window→Server Behaviors”面板并单击“+”按钮,选择“User Authentication→Check New Username”命令,在弹出的“Check New Username”对话框。“Username Field”下拉框中选择“Username”,在“If Already Exists ,Go To”中输入当有重复用户名时跳转的网页名“regfail.asp”,点“OK”完成。
3.添加检查表单行为
为了检查用户是否按要求填写了表格,需要添加检查表单行为。
打开行为面板,单击“+”按钮,从中选择“Validate Form”打开对话框,各部分设置如表2。
单击“OK”返回文档窗口,在对应的行为面板中设置该动作的事件为onClick。
4.添加验证表单密码的源代码
将“Show Design View”视图换成“Show Code View”视图,在表单源代码中加入如下代码:
if (MM_findObj('pwd1').value!=MM_findObj('pwd2').value) errors += '-两次密码输入不一致 \n';
并将源代码部分修改如下:
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?")) >0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i for(i=0;!x&&d.layers&&i if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_validateForm() { //v4.0 var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments; for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]); if (val) { nm=val.name; if ((val=val.value)!="") { if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@'); if (p<1 || p==(val.length-1)) errors+='- '+nm+' 必须输入有效E-mail地址。\n'; } else if (test!='R') { num = parseFloat(val); if (isNaN(val)) errors+='- '+nm+' 必须输入数字。\n'; if (test.indexOf('inRange') != -1) { p=test.indexOf(':'); min=test.substring(8,p); max=test.substring(p+1); if (num } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' 必须输入内容。\n'; } } if (MM_findObj('pwd1').value!=MM_findObj('pwd2').value) errors += '-两次密码输入不一致 \n'; if (errors) alert('您的输入有以下错误:\n'+errors); document.MM_returnValue = (errors == ''); } //--> </script> 在页面中设计包含“请输入您的注册用户名”的提示文字和一个输入框、一个确定按钮和一个清除按钮的表单,并将属性面板中的用户名的文本域命名为“username”,Max Chars的值为20。选择表单,在属性面板的Action文本框中输入“question.asp”,“Method”中选择“Post”为提交方式。 在页面中设计包含“问题提示”和“问题回答”两个输入框和“确定”、“清除”两个按钮的表单,并在属性面板的Action文本框中输入“Showpwd.asp”,“Method”设为“Post”。将问题回答的文本框域命名为“inputanswer”。 (1)打开“Bindings”面板,单击“+”按钮,从中选择“Recordset(Query)”单击,在弹出的对话框中进行如图2所示的设置。设置完后单击“Advanced”按钮,将“Variables”中“Run-time Value”的Request.Querystring("username") 改为Request.form("username"),如图3。 (2)选择Recordset1记录集中的“question”,并拖放到页面中问题提示的后面。 (3)选择“Insert→Form Objects→Hidden Field”命令,在表单中插入隐藏域,将属性面板中的名称“hiddenField”改为“hiddenname”。单击面板中的闪电图标,在弹出的“Dynamic Data”对话框,选择Recordset1记录集中的“username”。 (4)在文档窗口中选择当用户名存在时要显示的内容,然后单击服务器行为面板中的“+”按钮,选择“Show Region→Show Region If Recordset Is Not Empty”命令,打开“Show Region If Recordset Is Not Empty”对话框,从中选择“Recordset1”,单击“OK”。 (5)在页面上部输入当用户名不存在时显示的文本“对不起,用户名不正确!单击此处返回”,选择文本后,进行如图4的文件链接操作。 四、取回密码部分的制作
1.制作忘记密码页面lostpwd.asp
2.制作问题提示页面question.asp
3.制作密码提示页面showpwd.asp
(1)制作页面的文字部分。打开Bindings面板,并单击面板“+”按钮,从中选择“Recordset(Query)”单击。在弹出的“Recordset”对话框中单击“Advanced”按钮,并进行如图5所示的设置,单击“OK”完成。
(2)在文档窗口中选择当问题回答正确时要显示的内容,打开“Window→Server Behaviors”面板,单击“+”按钮,选择“Show Region→Show Region If Recordset Is Not Empty”命令,打开“Show Region If Recordset Is Not Empty”对话框,从中选择“Recordset1”,单击“OK”。
(3)在页面上部输入当问题回答不正确时显示的文本“对不起,问题回答不正确!单击此处返回”,选择文本后,单击“Server Behaviors”面板中的“+”按钮,选择“Show Region→Show Region If Recordset Is Empty”命令,打开“Show Region If Recordset Is Empty”对话框,从中选择“Recordset1”,单击“OK”。
而loginfail.asp、regok.asp、regfail.asp等页面较简单,制作方法也大体一样,大家可根据需要自行制作,这里就不再细说了。总之,到这里,一个属于你自己的用户登录系统就打造完毕了!






