实例四、结合DW MX服务器行为在服务器端检验表单的合法性
虽然大家可以使用DW MX的“行为”的检查表单生成JS代码来检查用户提交的表单数据是否合法,但这是在客户端执行的,我们的用户千奇百样,如果使用较低版本的浏览器可能会使客户端检验失败,把不合法的信息插入到数据库中。这是不允许的。下面我们利用上面学习的request对象和判断语句添加到DW MX“服务器行为”代码中,实现服务器端检验表单,以杜绝不合法的表单信息。
新建一个ASP页,用ACCESS创建一个数据表,设计两个字段:“uers”、“pws”,设这两个字段为必填字段。用“自定字符串”连接数据库。在页面中插入表单、三个文本域、一个按扭,表单方法为:“POST”,按扭类型为“提交表单”,三个文本域名称对应如下:
用 户 名:uers
密 码:pws
重复密码:pws2
现在,要求这三项为必填项,并且“密码”必须等于“重复密码”,否则告诉操作者,输入有误,请返回!。操作步骤以下:
实例三(3)
1、插入“插入记录”服务器行为,按“F12”键预览页面,能正常插入记录。
2、找到以下几句代码:
<% ' *** Insert Record: set variables If (CStr(Request("MM_insert")) = "form1") Then MM_editConnection = MM_new_STRING MM_editTable = "use" MM_editRedirectUrl = "" MM_fieldsStr = "uers|value|pws|value" MM_columnsStr = "Cuse|',none,''|pws|',none,''" ' create the MM_fields and MM_columns arrays MM_fields = Split(MM_fieldsStr, "|") MM_columns = Split(MM_columnsStr, "|") .......... 插入记录代码.... %> |
在上面这句“If (CStr(Request("MM_insert")) = "form1") Then”下面输入以下代码:
if request.Form("uers")="" then response.write"对不起!请输入用户名!请<a href='untitled-5.asp'>返回!</a>" response.end elseif request.form("pws")="" then response.write"对不起!请输入密码!请<a href='untitled-5.asp'>返回!</a>" response.end elseif request.form("pws2")="" then response.write"对不起!请输入重复密码!请<a href='untitled-5.asp'>返回!</a>" response.end elseif request.form("pws")<>request.form("pws2") then response.write"对不起!两输入的密码不相符!请<a href='untitled-5.asp'>返回!</a>" response.end end if 形如: If (CStr(Request("MM_insert")) = "form1") Then '手写代码始 if request.Form("uers")="" then response.write"对不起!请输入用户名!请<a href='untitled-5.asp'>返回!</a>" response.end elseif request.form("pws")="" then response.write"对不起!请输入密码!请<a href='untitled-5.asp'>返回!</a>" response.end elseif request.form("pws2")="" then response.write"对不起!请输入重复密码!请<a href='untitled-5.asp'>返回!</a>" response.end elseif request.form("pws")<>request.form("pws2") then response.write"对不起!两输入的密码不相符!请<a href='untitled-5.asp'>返回!</a>" response.end end if'手写代码结束 MM_editConnection = MM_new_STRING MM_editTable = "use" MM_editRedirectUrl = "" MM_fieldsStr = "uers|value|pws|value" MM_columnsStr = "Cuse|',none,''|pws|',none,''" |
本例中,除了request对象外,我们用到了response对象的write方法输出提示信息,和end方法来结束脚本执行,阻止response.end以后的代码继续执行,这样就轮不到数据插入那一段代码了。
好了,关于判断语句的介绍就到这儿了,你可要掌握这点内容,在设计论坛时,它大有用处。
二、response对象——向客户端输出数据
前面介绍的例子有用到了Response对象的write方法向客户端输出数据和和end方法结束脚本执行。本节将详细介绍它