ASP页面登陆访问数据库查询用户名和密码!
我做了一个ASP登陆界面,首页action到chlogin.asp,首页中的用户名得ID为username,密码ID为password。而chlogin.asp的源代码是...
我做了一个ASP登陆界面,首页action到chlogin.asp,首页中的用户名得ID为username,密码ID为password。而chlogin.asp的源代码是
<!--#include file="conn.asp"-->
<%
dim username,password,sql
username=Request.Form("UserName")
password=Request.Form("Password")
set rs=Server.CreateObject("ADODB.RECORDSET")
sql=("select * from users where username='"&username&"' and password='"&password&"'")
rs.open sql,conn,1,1
if rs.eof and rs.bof then
Response.Write("<script LANGUAGE='javascript'>alert('对不起,您输入错误!');history.go(-1);</script>")
Response.End
else
rs("logintime")=now()
rs.update
rs.close
set rs=nothing
Session("Password")=rs("password")
Response.Redirect "main.asp"
Response.End
end if
%>
然后conn文件代码是
<%
on Error resume next
dim conn
dim connstr
dim db
db="database/data.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
conn.Open connstr
If Err Then
Err.Clear
Set conn = Nothing
Response.Write "数据库连接文件出错!!"
Response.End
End If
%>
数据库中用户表为users,其中用户名列为username,密码列为password,登陆时间列为logintime。
但是这样的话不管怎么输入用户名密码,都 跳转不到main.asp页面上,偶尔跳转上了,又返回了首页,其中main.asp中有<%
If Not Request.Cookies("Password")="Password" Then
Response.Redirect "Index.asp"
Response.End
End If
%>这样一段代码。。
不知道怎么回事,现在在登陆界面上不管输入正确的用户和密码还是错误的,都不行,是不是哪个文件得代码有错误?
嘿嘿,偶刚学ASP。。你说的是Request.Cookies("Password") 要在chlogin.asp中加入吗?后面那个是读取Cookies中得Password内容。。哦 对。。前面没有写入Cookies。。还有什么错误吗? 展开
<!--#include file="conn.asp"-->
<%
dim username,password,sql
username=Request.Form("UserName")
password=Request.Form("Password")
set rs=Server.CreateObject("ADODB.RECORDSET")
sql=("select * from users where username='"&username&"' and password='"&password&"'")
rs.open sql,conn,1,1
if rs.eof and rs.bof then
Response.Write("<script LANGUAGE='javascript'>alert('对不起,您输入错误!');history.go(-1);</script>")
Response.End
else
rs("logintime")=now()
rs.update
rs.close
set rs=nothing
Session("Password")=rs("password")
Response.Redirect "main.asp"
Response.End
end if
%>
然后conn文件代码是
<%
on Error resume next
dim conn
dim connstr
dim db
db="database/data.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
conn.Open connstr
If Err Then
Err.Clear
Set conn = Nothing
Response.Write "数据库连接文件出错!!"
Response.End
End If
%>
数据库中用户表为users,其中用户名列为username,密码列为password,登陆时间列为logintime。
但是这样的话不管怎么输入用户名密码,都 跳转不到main.asp页面上,偶尔跳转上了,又返回了首页,其中main.asp中有<%
If Not Request.Cookies("Password")="Password" Then
Response.Redirect "Index.asp"
Response.End
End If
%>这样一段代码。。
不知道怎么回事,现在在登陆界面上不管输入正确的用户和密码还是错误的,都不行,是不是哪个文件得代码有错误?
嘿嘿,偶刚学ASP。。你说的是Request.Cookies("Password") 要在chlogin.asp中加入吗?后面那个是读取Cookies中得Password内容。。哦 对。。前面没有写入Cookies。。还有什么错误吗? 展开
1个回答
展开全部
rs.close
set rs=nothing
Session("Password")=rs("password") 'rs在上面已经close了,这里的rs("password")还有值吗????
改成:
Session("Password")=rs("password")
rs.close
set rs=nothing
Response.Redirect "main.asp"
Response.End
----------------------------------------------------------------------------------------------------
main.asp
<%
If Not Request.Cookies("Password")="Password" Then
Response.Redirect "Index.asp"
Response.End
End If
%>
改为:
<%
if Session("Password")="" Then
Response.Redirect "Index.asp"
Response.End
End If
%>
set rs=nothing
Session("Password")=rs("password") 'rs在上面已经close了,这里的rs("password")还有值吗????
改成:
Session("Password")=rs("password")
rs.close
set rs=nothing
Response.Redirect "main.asp"
Response.End
----------------------------------------------------------------------------------------------------
main.asp
<%
If Not Request.Cookies("Password")="Password" Then
Response.Redirect "Index.asp"
Response.End
End If
%>
改为:
<%
if Session("Password")="" Then
Response.Redirect "Index.asp"
Response.End
End If
%>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询