关于用户登陆的问题。奇怪,原来一直用的,没有错的。现在怎么搞的,总是错?

maomao093152 2003-10-20 11:07:46
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
if request("action")="login" then
%>

<% Set conn = Server.CreateObject("ADODB.Connection")
'conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db.mdb")
'数据库连接语句,替换成SQL Server的即可执行
StrCnn = "Provider=SQLOLEDB;Server=ahui;UID=sa;PWD=;Database=enterprise"
conn.open strcnn

set rs=server.createobject("adodb.recordset")
sql="select admin,pass from admin where admin='"&request("admin")&"' and pass='"&request("pass")&"'"
rs.open sql,conn,1,1

if rs.bof or rs.eof then

response.write"<SCRIPT language=JavaScript>alert('用户名或密码错误!');"
response.write"javascript:history.go(-1)</SCRIPT>"
else response.cookies("admin")=request("admin")
response.cookies("pass")=request("pass")
session("admin")=request("admin")
session("pass")=request("pass")
response.redirect"index.asp"


end if
rs.close
'endconnection
else
session.abandon
response.cookies("admin")=""
response.cookies("pass")=""
end if

%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body>
<form name="form1" method="post" action="manage_news.asp?action=login">
<table width="97%" border="0" cellpadding="0" cellspacing="0" class="classdo2">
<tr>
<td height="15" valign="top" align="center">
<table align=center border=0 cellpadding=1 cellspacing=1
height=190 width="97%" class="temp">
<tr>
<td height=4 width="36%"></td>
<td height=4 width="64%"></td>
</tr>
<tr>
<td height=22 noWrap width="40%" align="center">用 户 名:</td>
<td height=22 noWrap width="64%">
<input name=admin
value="<%=request.cookies("admin")%>" size=11>
</td>
</tr>
<tr>
<td noWrap
width="40%" height="19" align="center">密    码:</td>
<td height=19 noWrap width="64%">
<input name=pass type=password
value="<%=request.cookies("pass")%>" size=11>
</td>
</tr>
<tr align=middle>
<td height=2 width="40%">
<div align=center>
<input type="submit" name="Submit" value="提交">
</div>
</td>
<td width="64%">
<div align=center>
<input type="reset" name="Submit2" value="取消">
</div>
</td>
</tr>
<tr align=middle>
<td colspan=2 height=17>
<div align="center"><font color="#5d91c0">〖忘记密码/修改资料〗</font></div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</body>
</html>
数据库里明明有用户名1,密码1,但是就是说用户名域密码错误。烦
...全文
34 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
avonqin 2003-10-20
  • 打赏
  • 举报
回复
龙辉的写法Trim过了
富察咪咪 2003-10-20
  • 打赏
  • 举报
回复
去掉所有的空格TRIM(),SQL——lTRIM(rTRIM)
avonqin 2003-10-20
  • 打赏
  • 举报
回复
数据类型是怎样的?
maomao093152 2003-10-20
  • 打赏
  • 举报
回复
改称:admins后还是老样子
maomao093152 2003-10-20
  • 打赏
  • 举报
回复
数据库没有加密呀!我在数据库里的定义就是:admin,为什么要改称:admins呢?
1蓝天1 2003-10-20
  • 打赏
  • 举报
回复
up
avonqin 2003-10-20
  • 打赏
  • 举报
回复
还不行?
pazll 2003-10-20
  • 打赏
  • 举报
回复
程序没有错;
看看是不是什么时候把密码改了;
另外,你的代码有很严重问题;
这样的代码要是传到网上就危险了
呵呵
angelheavens 2003-10-20
  • 打赏
  • 举报
回复
你数据库中的数据没有加密吧?
改:
把字段名admin改成admins试试
maomao093152 2003-10-20
  • 打赏
  • 举报
回复
什么叫混合登陆模式?lqfish
maomao093152 2003-10-20
  • 打赏
  • 举报
回复
龙辉的我用啦。但是还是一样的。我现在用response.write sql
得出的结果是:select admin,pass from [admin] where admin='1'and pass='1'
所以说明可以接收到数据的,不是吗?
lqflsh 2003-10-20
  • 打赏
  • 举报
回复
是不是混合登陆模式?
angelheavens 2003-10-20
  • 打赏
  • 举报
回复
(1)确定是否传了值;
(2)过滤非法字符;
(3)改:
sql="select admin,pass from [admin] where admin='"&trim(request("admin"))&"' and pass='"&trim(request("pass"))&"'"
rs.open sql,conn,1,1
if rs.recordcount<=0 then
maomao093152 2003-10-20
  • 打赏
  • 举报
回复
大家也可以通过QQ和我联系:284202817
maomao093152 2003-10-20
  • 打赏
  • 举报
回复
好像我用response.write rs("admin")有问题,ADODB.Recordset (0x800A0CC1)
/enterprise/asp/manage_news.asp, 第 13 行
angelheavens 2003-10-20
  • 打赏
  • 举报
回复
就那么几条语句,你再检测:
在rs.open sql,conn,1,1
插入:response.write rs("admin")
response.end
看有无输出
if rs.bof or rs.eof then
maomao093152 2003-10-20
  • 打赏
  • 举报
回复
去掉Trim啦。但是似乎问题不在这里
maomao093152 2003-10-20
  • 打赏
  • 举报
回复
char类型的

28,390

社区成员

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

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