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

我这段语句有错吗

wxm198427 发布于 2008-09-05 08:56, 498 次点击
test.asp文件
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.
<html xmlns="http://www.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body><form  name="form1" action="testchk.asp" method="post">
<input type="text" name="name" >用户 <br>
<input type="password" name="password">密码 <br>
<input type="button" name="tj" value="提交">
<input type="reset" name="cancel" value="取消"><br>
</form>
</body>
</html>

testchk.asp文件

<!--#include file="conn.asp"-->
<%
dim rs,sql,name,password
name=trim(request.form("name"))
password=trim(request.form("password"))
if name<>"" and  password<>"" then
set rs=server.CreateObject("adodb.recordset")
sql="select * from user where name='"&name&"' and password='"&password&"'"
rs.open sql,conn,3,3
if not(rs.eof and rs.bof) then
response.write "用户名存在"
else
rs.addnew
rs("name")=name
rs("password")=password
rs.update
rs.close
conn.close
set rs=nothing
set conn=nothing
end if
else
response.write "用户名和密码不能为空!"
response.end()
end if
%>
5 回复
#2
hmhz2008-09-05 09:06
判断用户名是否存在的条件中不能把密码也作为条件来查询

where name='"&name&"' and password='"&password&"'

这句的意思是,用户名和密码都和数据里的相同才会提示用户名存在的提示

那如果用户名相同,密码不相同岂不是照样可以注册了
因为你的条件是两个同时达上才有提示,只要有一个条件不符合一样可以注册,所以你的密码条件应该取消

sql="select * from user where name='"&name&"'"

这样就可以了,因为你只需要检查用户是否存在,密码相不相同根本没必要检查的

还有你的提交按钮
<input type="button" name="tj" value="提交">
type="button"属性只是一个静态按钮,它没有任何执行权和操作权
得使用type="submit"这才是提交的意思
<input type="submit" name="tj" value="提交" />

[[it] 本帖最后由 hmhz 于 2008-9-5 09:09 编辑 [/it]]
#3
robinbest2008-09-05 09:47
版主就是版主,我看了一遍就没发现这些问题,
可是这些问题又都是些简单得不能再简单的问题。
看来俺也还是不细心呀。
学习了!
#4
wxm1984272008-09-05 16:02
谢谢了
真的谢谢斑竹的提醒,我知道了!
#5
awke0022008-09-06 09:30
版主真是慧眼识金啊,我瞄了半天也不知道错在哪里!
#6
nicechlk2008-09-07 21:43
嘿嘿,明白人一眼就能看出来,我等看不出来,是因为不是明白人呢!
1