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

注册程序老出现“您输入的名字已存在” 请各位朋友提个醒 提前先谢啦

wuchunyu120 发布于 2007-11-08 16:36, 586 次点击
本人菜鸟
最近弄了一个程序
运行结果老为“您输入的名字已存在”
请各位大虾提个醒
提前先谢谢各位啦

以下是部分代码
<%
if request("action")="vip_name" then
user_name=request.form("user_name")
user_pass=request.form("user_pass")
user_pass1=request.form("user_pass1")
phone=request.form("phone")
email=request.form("email")
add=request.form("add")
if user_name="" then
response.Write("用户名不能为空")
response.end
end if
if user_pass="" then
response.Write("密码不能为空")
response.end
end if
if user_pass1="" then
response.Write("请再次输入密码")
response.end
end if
if user_pass1<>user_pass then
response.Write("两次输入密码不一致")
response.end
end if
set rs1=server.CreateObject("adodb.recordset")
sq1="select * from [user]"
rs1.Open sq1,conn,1,3
if rs1.eof and rs1.bof then
rs1.addnew
rs1("user_name")=request.form("user_name")
rs1("user_pass")=request.form("user_pass")
rs1("phone")=request.form("phone")
rs1("email")=request.form("email")
rs1("add")=request.form("add")
rs1.update
else
response.write("您输入的名字已存在")
response.end
end if
rs1.close
set rs1=nothing
response.write "注册成功<a href=login.asp>登陆</a>"
response.end
end if
%>
5 回复
#2
永夜的极光2007-11-08 16:44
set rs1=server.CreateObject("adodb.recordset")
sq1="select * from [user]"
rs1.Open sq1,conn,1,3
if rs1.eof and rs1.bof then
rs1.addnew
rs1("user_name")=request.form("user_name")
rs1("user_pass")=request.form("user_pass")
rs1("phone")=request.form("phone")
rs1("email")=request.form("email")
rs1("add")=request.form("add")
rs1.update
else
response.write("您输入的名字已存在")
response.end
end if

注意一下代码的缩进,现在这样你能看出问题来了吗?仔细想想,想不出来再告诉你

[此贴子已经被作者于2007-11-8 16:46:11编辑过]

#3
wuchunyu1202007-11-08 17:06

今天已经绕这个问题N长时间了,绕晕了都。。
这会脑子处于停滞状态,都不会转了
这会是真的想不了任何问题了。。
还是直接告诉我吧
我太笨了,反应不过来
#4
cainiao1582007-11-08 17:29
以下是引用wuchunyu120在2007-11-8 16:36:41的发言:
本人菜鸟
最近弄了一个程序
运行结果老为“您输入的名字已存在”
请各位大虾提个醒
提前先谢谢各位啦

以下是部分代码
<%
if request("action")="vip_name" then
user_name=request.form("user_name")
user_pass=request.form("user_pass")
user_pass1=request.form("user_pass1")
phone=request.form("phone")
email=request.form("email")
add=request.form("add")
if user_name="" then
response.Write("用户名不能为空")
response.end
end if

if user_pass="" then
esponse.Write("密码不能为空")
esponse.end
end if

if user_pass1="" then
response.Write("请再次输入密码")
response.end
end if
if user_pass1<>user_pass then
response.Write("两次输入密码不一致")
response.end
end if
set rs1=server.CreateObject("adodb.recordset")
sq1="select * from [user]"
rs1.Open sq1,conn,1,3
if rs1.eof and rs1.bof then
rs1.addnew
rs1("user_name")=request.form("user_name")
rs1("user_pass")=request.form("user_pass")
rs1("phone")=request.form("phone")
rs1("email")=request.form("email")
rs1("add")=request.form("add")
rs1.update
else
response.write("您输入的名字已存在")
response.end
end if
rs1.close
set rs1=nothing
response.write "注册成功<a href=login.asp>登陆</a>"
response.end
end if
%>

set rs1=server.CreateObject("adodb.recordset")
sq1="select * from [user]" 这样指定不确切,应该改为 sq1="select * from [user] where user_name='" &user_name&"'"
rs1.Open sq1,conn,1,3

你试试看,可不可以 你原来出现错误的原因是你没有指定查询指定的那个用户名,而是查询所有的用户 如果数据库里头有记录就会 response.write("您输入的名字已存在")

[此贴子已经被作者于2007-11-8 17:30:35编辑过]

#5
wuchunyu1202007-11-08 17:37


可以了啊
呵呵
谢谢啦
绕的时间太长了
脑子都不会转圈了。。
呵呵

#6
wuchunyu1202007-11-08 17:38
对了 忘了
同时也谢谢 极光 呵呵
1