为什么调用logincheck.asp文件会出错,恳请高手帮忙

jason197704 2012-05-20 06:11:37
大家好,本人是新手,正在学习用ACCESS+ASP制作网站。代码都是网上下载的教程里面的,按照教程我跟着做了一遍,当我输入http://192.168.1.4/login.asp时,就会显示登陆界面。配置IIS时,物理路径D:\website\ProcessControl\login,login文件夹内有login.asp文件。如果物理路径不带login文件夹,网页显示的登陆界面是目录结构的形式,所以配置IIS,我延伸到了login文件夹。当我输入用户名,密码和提示码点击登录的时候,就会出错,不能进入已经定义好的界面。我用的数据库是access2010,但是数据库文件是我以前用2003做成的,不知道有没有影响。
恳请高手帮忙看一下,谢谢了。

错误信息如下:
Microsoft VBScript 运行时错误 错误 '800a01b6'

对象不支持此属性或方法: 'Server.CreatObject'

/logincheck.asp,行 19
======================================================================================================

loginchek.asp代码如下:
<html>
<head>
<title>公司</title>
</head>
<!--#include file="../include/conn.asp" -->
<!--#include file="md5.asp" -->
<body>
<%
'获取用户提交的验证码
code=trim(request("checkcode"))
if code<>trim(Session("ProcessControl/login.com_ValidateCode")) then %>
<script language="javascript">
alert("请输入正确的验证码!");
location.href="javascript:history.go(-l);" ;
</script>
<% end if
%>
<%'查询数据库中adminname为用户所输入的用户名的所有信息
set rs=Server.CreatObject("ADODB.Recordset")
sql="Select * Form admin Where adminname='"&user&"'"
rs.open sql,conn,1,3

'检查输入的用户名是否存在,不存在,给出提示信息,并使页面后退
if rs.bof and rs.eof then%>
<script language='javascript'>
alert("错误:此用户名不存在!");
location.href=”javascript:history.go(-1);";
</script>

<%else
'检查输入的密码是否正确,不正确,给出提示信息,并使页面后退
if md5(pwd)<>rs("adminpwd") then%>
<script language="javascript">
alert("错误:您的密码不正确!");
location.href=”javascript:history.go(-1);";
</script>

<%'用户名和密码都正确,将页面跳转到brand.asp
else%>
<script language="javascript">
window.navigate("../web/brand.asp");
</script>
<%end if
end if
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
</body>
</html>
========================================================================
conn文件代码如下:
<%
dim conn,DbPath
set conn=Server.CreateObject("ADODB.Connection")
DbPath=Server.MapPath("../classdata/class.mdb")
Conn.open "provider=Microsoft.Jet.OLEDB.4.0;data source="&DbPath
%>
...全文
192 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2012-05-22
  • 打赏
  • 举报
回复
这2句实现相同的功能,2个都写就重复了
jason197704 2012-05-22
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
这2句实现相同的功能,2个都写就重复了
[/Quote]
谢谢您的帮助,请问一下为什么有的人说我的如下代码都是错误的。
sql="Select * Form admin Where adminname='"&user&"'"
location.href=”javascript:history.go(-1);";
if md5(pwd)<>rs("adminpwd") then
location.href=”javascript:history.go(-1);";

select * from,user这是哪来的值?都没传值过来哪来的这个变量?
为什么我输入用户名密码的时候,输错了也能进入brand.asp界面,但是brand.asp网页是空白的,什么都不显示。
jason197704 2012-05-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
rs.open sql,conn,1,3
这行删除,不要了
set rs = conn.Execute(sql)
rs.open sql,conn,1,3
你这重复了
改成
set rs = conn.Execute(sql)
就可以了
[/Quote]

谢谢您,好了,但是您这两句代码不明白什么意思,哎。
孟子E章 2012-05-21
  • 打赏
  • 举报
回复
rs.open sql,conn,1,3
这行删除,不要了
set rs = conn.Execute(sql)
rs.open sql,conn,1,3
你这重复了
改成
set rs = conn.Execute(sql)
就可以了
jason197704 2012-05-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
sql="Select * Form [admin] Where adminname='"&user&"'"
改成
sql="Select * From [admin] Where adminname='"&user&"'"
[/Quote]第21行是

rs.open sql,conn,1,3
jason197704 2012-05-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
sql="Select * Form [admin] Where adminname='"&user&"'"
改成
sql="Select * From [admin] Where adminname='"&user&"'"
[/Quote]

谢谢您的回复,这回又变了另外的信息:

ADODB.Recordset 错误 '800a0e79'

对象打开时,不允许操作。

/logincheck.asp,行 21
还请指教。
孟子E章 2012-05-20
  • 打赏
  • 举报
回复
sql="Select * Form [admin] Where adminname='"&user&"'"
改成
sql="Select * From [admin] Where adminname='"&user&"'"
jason197704 2012-05-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
改成

sql="Select * Form [admin] Where adminname='"&user&"'"
set rs = conn.Execute(sql)

试试

另外,你的系统是64位的?那么iis需要以32位运行
[/Quote]
谢谢您了,我的电脑就是WIN7 32位的。按照您的方式,我把

<%'查询数据库中adminname为用户所输入的用户名的所有信息
set rs=Server.CreatObject("ADODB.Recordset")
sql="Select * Form admin Where adminname='"&user&"'"
rs.open sql,conn,1,3

改为
<%'查询数据库中adminname为用户所输入的用户名的所有信息
sql="Select * Form [admin] Where adminname='"&user&"'"
set rs = conn.Execute(sql)
rs.open sql,conn,1,3

还是不行,错误代码是:

Microsoft JET Database Engine 错误 '80040e14'

语法错误 (操作符丢失) 在查询表达式 '* Form [admin] Where adminname=''' 中。

/logincheck.asp,行 20
孟子E章 2012-05-20
  • 打赏
  • 举报
回复
改成

sql="Select * Form [admin] Where adminname='"&user&"'"
set rs = conn.Execute(sql)

试试

另外,你的系统是64位的?那么iis需要以32位运行

28,391

社区成员

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

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