用户验证部分总有问题!帮我看看。

gyasy 2004-11-09 02:19:08
这是验证文件的全部代码,各位给看看,提示说:
Microsoft VBScript 编译器错误 错误 '800a03f6'

缺少 'End'

/iisHelp/common/500-100.asp,行242

Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]在关键字 'user' 附近有语法错误。

/temp/checkuserpwd.asp,行7

<!--#include file="conn.asp"-->
<%
user_name=request("user_name")
user_pwd=request("user_pwd")
set rs=server.createobject("adodb.recordset")
sql="select * from user where user='"&user_name&"' and pws='"&user_pwd&"'"
rs.open sql,conn,1,3


%>

<% if rs.eof or user_pwd="" or user_name="" then%>
<script language="javascript">
alert("您输入的密码或帐号错误,请重试!");
window.history.back();
end if
<%else
session("username")=rs("用户名")
session("usermm")=rs("密码")
Response.Redirect("main.htm")
end if
%>
...全文
122 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
legend1970 2004-11-09
  • 打赏
  • 举报
回复
分析一下:
1. 判断应该是:if rs.bof or rs.eof,既要判断到头,又要判断到尾
2.字段名是User还是用户名,可能导致session("username")=rs("用户名") 出现问题
3.SQL 查询条件where最好用“like”,强烈推荐!!
gyasy 2004-11-09
  • 打赏
  • 举报
回复
还是数据库定义的问题。
gyasy 2004-11-09
  • 打赏
  • 举报
回复
我加了一句Response.write sql
输出这个select * from user where user='admin' and pwd='admin'
是对的,怎么一打开表就不行呢
gyasy 2004-11-09
  • 打赏
  • 举报
回复
真是郁闷,就这点代码搞不成了!
legend1970 2004-11-09
  • 打赏
  • 举报
回复
这是我现在的全部代码,还是出错!
<!--#include file="conn.asp"-->
<%
user=request("user_name")
pwd=request("user_pwd")
if user="" or pwd="" then //第一个if开始
%>
<script language="javascript">
alert("您输入的密码或帐号错误,请重试!");
window.history.back();</script>
<%
else //第一个if的else 开始
set rs=server.createobject("adodb.recordset")
sql="select * from user where user='"&user&"' and pwd='"&pwd&"'" //将=换成Like试一下
rs.open sql,conn,1,3
if rs.eof then //第二个if开始
%>
<script language="javascript">
alert("您输入的密码或帐号错误,请重试!");
window.history.back();</script>
<%
end if //第二个if结束
session("username")=rs("用户名") //查询时用了user='"&user&"',表中字段是“用户名”还是User
session("usermm")=rs("密码") //同上
Response.Redirect("main.htm")
end if //第一个if结束

%>
gyasy 2004-11-09
  • 打赏
  • 举报
回复
提示如下:
Microsoft VBScript 编译器错误 错误 '800a03f6'

缺少 'End'

/iisHelp/common/500-100.asp,行242

Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]在关键字 'user' 附近有语法错误。

/temp/checkuserpwd.asp,行14


rs.open sql,conn,1,3会有什么问题?
gyasy 2004-11-09
  • 打赏
  • 举报
回复
这是我现在的全部代码,还是出错!
<!--#include file="conn.asp"-->
<%
user=request("user_name")
pwd=request("user_pwd")
if user="" or pwd="" then
%>
<script language="javascript">
alert("您输入的密码或帐号错误,请重试!");
window.history.back();</script>
<%
else
set rs=server.createobject("adodb.recordset")
sql="select * from user where user='"&user&"' and pwd='"&pwd&"'"
rs.open sql,conn,1,3
if rs.eof then
%>
<script language="javascript">
alert("您输入的密码或帐号错误,请重试!");
window.history.back();</script>
<%
end if
session("username")=rs("用户名")
session("usermm")=rs("密码")
Response.Redirect("main.htm")
end if

%>
applezhao 2004-11-09
  • 打赏
  • 举报
回复
800a03f6 if语句出错(缺少endif)
sql="select * from [user] where user='"&user_name&"' and pws='"&user_pwd&"'"
ronakitty 2004-11-09
  • 打赏
  • 举报
回复
<!--#include file="conn.asp"-->
<%
user_name=request("user_name")
user_pwd=request("user_pwd")
if user_pwd="" or user_name="" then
%>
<script language="javascript">
alert("您输入的密码或帐号错误,请重试!");
window.history.back();</script>
<%
else
set rs=server.createobject("adodb.recordset")
sql="select * from user where user='"&user_name&"' and pws='"&user_pwd&"'"
rs.open sql,conn,1,3
if rs.eof then
%>
<script language="javascript">
alert("您输入的密码或帐号错误,请重试!");
window.history.back();</script>
<%
end if
session("username")=rs("用户名")
session("usermm")=rs("密码")
Response.Redirect("main.htm")
end if

%>

先判断用户名和密码是不是空试试
baikaishui_0825 2004-11-09
  • 打赏
  • 举报
回复
改成[user]
comstep 2004-11-09
  • 打赏
  • 举报
回复
sql语句字段属性是数字还是字符串?
检查sql语句是否正确
cocoismywife 2004-11-09
  • 打赏
  • 举报
回复
你数据库里的字段用的都是中文名吗,晕
古侠 2004-11-09
  • 打赏
  • 举报
回复
字段名不能用关键字,你的user是关键字
cocoismywife 2004-11-09
  • 打赏
  • 举报
回复
多了个end if少了个</script>
<% if rs.eof or user_pwd="" or user_name="" then%>
<script language="javascript">
alert("您输入的密码或帐号错误,请重试!");
window.history.back();
</script>
<%else
session("username")=rs("用户名")
session("usermm")=rs("密码")
Response.Redirect("main.htm")
end if
%>

gyasy 2004-11-09
  • 打赏
  • 举报
回复
那为什么总提示说第七行有错误呢,修改之后还是会提示?
mingday 2004-11-09
  • 打赏
  • 举报
回复
<% if rs.eof or user_pwd="" or user_name="" then%>
<script language="javascript">
alert("您输入的密码或帐号错误,请重试!");
window.history.back();</script>
<%else
session("username")=rs("用户名")
session("usermm")=rs("密码")
Response.Redirect("main.htm")
end if
%>
iuhxq 2004-11-09
  • 打赏
  • 举报
回复
<% if rs.eof or user_pwd="" or user_name="" then%>
<script language="javascript">
alert("您输入的密码或帐号错误,请重试!");
window.history.back();
<%else
session("username")=rs("用户名")
session("usermm")=rs("密码")
Response.Redirect("main.htm")
end if
%>

28,404

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧