注册 登录
编程论坛 ASP技术论坛

大家看一下,这个是怎么回事?后面的执行不了 (else后面的不管填还是不填)

zp_pqglobe 发布于 2009-10-14 17:11, 943 次点击
<!--#include file="conn.asp"-->
<%
dim uname,sex,area,email,tel,rname,radiogroup,rfield,E_mail,dh,rssql
uname=request.form("rname")
sex=request.form("radiogroup")
area=request.form("rfield")
email=request.form("E_mail")
tel=request.form("dh")
if rname="" or radiogroup="" or rfield="" or E_mail="" or dh="" then
response.write"<script language=javascript>alert('注意请填写所有完整资料!!');self.location=(""register.asp"");</script>"
else
set rs=server.createobject("adodb.recordset")
rssql="select * from register"
rs.open rssql,conn,1,3
rs.addnew
rs("uname")=uname
rs("sex")=sex
rs("area")=area
rs("email")=email
rs("tel")=tel
rs.update
response.write"<script language=javascript>alert('注册成功 !!!');self.location=(""check.asp"");</script>"
end if
%>
8 回复
#2
aspic2009-10-15 08:39
程序代码:
<!--#include file="conn.asp"-->
<%
dim uname,sex,area,email,tel,rname,radiogroup,rfield,E_mail,dh,rssql
uname=request.form("rname")
sex=request.form("radiogroup")
area=request.form("rfield")
email=request.form("E_mail")
tel=request.form("dh")
if rname <> "" and radiogroup <> "" and rfield <> "" and E_mail <> "" and dh <> "" then
    set rs=server.createobject("adodb.recordset")
    rssql="select * from register"
    rs.open rssql,conn,1,3
    rs.addnew
    rs("uname")=uname
    rs("sex")=sex
    rs("area")=area
    rs("email")=email
    rs("tel")=tel
    rs.update
    rs.close
    set rs = nothing
    response.write"<script language=javascript>alert('注册成功 !!!');self.location=(""check.asp"");</script>"
else
    response.write"<script language=javascript>alert('注意请填写所有完整资料!!');self.location=(""register.asp"");</script>"
end if
%>
#3
msgj2009-10-15 17:00
在form 中定义的名称rname,radiogroup,rfield,E_mail,dh 不用Dim定义,request得到信息已经给变量了就用变量

if uname="" or sex="" or area="" or email="" or tel="" then
#4
yms1232009-10-15 17:54
if rname="" or radiogroup="" or rfield="" or E_mail="" or dh="" then
楼主显然没把Or和And的逻辑关系搞清楚。
#5
zp_pqglobe2009-10-16 08:54
谢谢大家帮忙,本人是刚接触。非常感谢指点。
#6
zp_pqglobe2009-10-16 09:08
咦,刚才我照2楼的试了,还是有点问题啊。不管填还是不填都是执行else后面的内容,根本写入不了数据库。而我昨天把if条件去掉,就可以写进数据库.谢谢指点。
#7
msgj2009-10-16 09:23
把if条件去掉会出现填写信息不完整的情况,如果数据库有不允许为空的字段会出错的,建议使用if uname<>"" and sex<>"" and area<>"" and email<>"" and tel<>"" and dh <> "" then
set rs=server.createobject("adodb.recordset")  
    rssql="select * from register"  
    rs.open rssql,conn,1,3  
    rs.addnew  
    rs("uname")=uname  
    rs("sex")=sex  
    rs("area")=area  
    rs("email")=email  
    rs("tel")=tel  
    rs.update
    rs.close
    set rs = nothing
    response.write"<script language=javascript>alert('注册成功 !!!');self.location=(""check.asp"");</script>"  
else  
    response.write"<script language=javascript>alert('注意请填写所有完整资料!!');self.location=(""register.asp"");</script>"
end if  

#8
GEORGECHIN2009-10-16 11:16
雖然看不懂那個REQUEST,但是貌似樓主用上了SQL語句,給一個關於SQL語句的規則,或許你能用上:在SQL語句當中,空串等於任何字串.
#9
zp_pqglobe2009-10-17 11:48
谢谢大家的帮助
1