asp中检测到数据重复,如何让数据不写入,返回重新输入?
一个录入手机号码的页面,作了很多对号码位数以及两次输入是否一样的限制,都已经成功,但是如果输入不正确的话,它一样录入数据库,如果输入错误,如何阻止录入数据库?另外请好心人...
一个录入手机号码的页面,作了很多对号码位数以及两次输入是否一样的限制,都已经成功,但是如果输入不正确的话,它一样录入数据库,如果输入错误,如何阻止录入数据库?另外请好心人帮忙做一个可以查看数据库的简单文件,要求可以单条和批量删除数据。
下面是我自己的代码:
<%
ac=request.QueryString("ac")
if strcomp(cstr(request.Form("phone")),cstr(request.Form("phone2")))<>0 then
Response.Write("<script language=""JavaScript"">alert(""错误:您两次输入的手机号码不一致,请返回检查!"");history.go(-1);</script>")
end if
if len(request.Form("phone"))<11 then
Response.Write("<script language=""JavaScript"">alert(""错误:您输入的手机号码长度不对,请返回检查!"");history.go(-1);</script>")
end if
if ac="adduser" then
set rsc=server.createobject("adodb.recordset")
sql="select * from info where phone='"&request.Form("phone")&"'"
rsc.open sql,conn,1,1
ck=rsc("phone")
set rsc=nothing
if ck<>"" then
Response.Write("<script language=""JavaScript"">alert(""错误:您输入的手机号码已经收录,请勿重复提交!"");history.go(-1);</script>")
end if
dsql="select * from info where id is null"
set rs=server.createobject("adodb.recordset")
rs.open dsql,conn,1,3
rs.addnew
rs("phone")=request.Form("phone")
rs("ntime")=now
rs.update
set rs=nothing
%>
非常感谢,上面的问题已经解决,还有,如果成功后,能不能也用下面语句实现?
Response.Write("<script language=""JavaScript"">alert(""成功:您的手机号码已经成功录入!"");history.go(-1);</script>") 展开
下面是我自己的代码:
<%
ac=request.QueryString("ac")
if strcomp(cstr(request.Form("phone")),cstr(request.Form("phone2")))<>0 then
Response.Write("<script language=""JavaScript"">alert(""错误:您两次输入的手机号码不一致,请返回检查!"");history.go(-1);</script>")
end if
if len(request.Form("phone"))<11 then
Response.Write("<script language=""JavaScript"">alert(""错误:您输入的手机号码长度不对,请返回检查!"");history.go(-1);</script>")
end if
if ac="adduser" then
set rsc=server.createobject("adodb.recordset")
sql="select * from info where phone='"&request.Form("phone")&"'"
rsc.open sql,conn,1,1
ck=rsc("phone")
set rsc=nothing
if ck<>"" then
Response.Write("<script language=""JavaScript"">alert(""错误:您输入的手机号码已经收录,请勿重复提交!"");history.go(-1);</script>")
end if
dsql="select * from info where id is null"
set rs=server.createobject("adodb.recordset")
rs.open dsql,conn,1,3
rs.addnew
rs("phone")=request.Form("phone")
rs("ntime")=now
rs.update
set rs=nothing
%>
非常感谢,上面的问题已经解决,还有,如果成功后,能不能也用下面语句实现?
Response.Write("<script language=""JavaScript"">alert(""成功:您的手机号码已经成功录入!"");history.go(-1);</script>") 展开
展开全部
Response.Write("<script language=""JavaScript"">alert(""错误:您输入的手机号码长度不对,请返回检查!"");history.go(-1);</script>")
这是你输出的出错信息吧
紧接着下面是你判断的结束符END IF对吧
你现在的程序虽然能正常判断,但是没有影响到下面数据库操作的程序。所以....要想不让数据写入,就是不让下面操作数据库的部分的程序的运行。
方法是:
在你出错信息下面,结束符END IF上面,增加一行:
Response.End
如:
f strcomp(cstr(request.Form("phone")),cstr(request.Form("phone2")))<>0 then
Response.Write("<script language=""JavaScript"">alert(""错误:您两次输入的手机号码不一致,请返回检查!"");history.go(-1);</script>")
Response.End
end if
if len(request.Form("phone"))<11 then
Response.Write("<script language=""JavaScript"">alert(""错误:您输入的手机号码长度不对,请返回检查!"");history.go(-1);</script>")
Response.End
其它的判断照着写
end if
这是你输出的出错信息吧
紧接着下面是你判断的结束符END IF对吧
你现在的程序虽然能正常判断,但是没有影响到下面数据库操作的程序。所以....要想不让数据写入,就是不让下面操作数据库的部分的程序的运行。
方法是:
在你出错信息下面,结束符END IF上面,增加一行:
Response.End
如:
f strcomp(cstr(request.Form("phone")),cstr(request.Form("phone2")))<>0 then
Response.Write("<script language=""JavaScript"">alert(""错误:您两次输入的手机号码不一致,请返回检查!"");history.go(-1);</script>")
Response.End
end if
if len(request.Form("phone"))<11 then
Response.Write("<script language=""JavaScript"">alert(""错误:您输入的手机号码长度不对,请返回检查!"");history.go(-1);</script>")
Response.End
其它的判断照着写
end if
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询