Session 登录经典asp后显示用户特定的数据
我有我的项目的代码,我希望用户被定向到他们的帐户页面,其中显示特定于他们的数据。他们的供应商名单。我意识到我需要创建一个会话变量,但我不知道在我的代码中放在哪里,也不知道在帐户页面中指定用户的代码。有人能帮忙吗?这是我的密码Session 登录经典asp后显示用户特定的数据,session,asp-classic,database-connection,Session,Asp Classic,Database Connection,我有我的项目的代码,我希望用户被定向到他们的帐户页面,其中显示特定于他们的数据。他们的供应商名单。我意识到我需要创建一个会话变量,但我不知道在我的代码中放在哪里,也不知道在帐户页面中指定用户的代码。有人能帮忙吗?这是我的密码 <% 'Connection String Dim Conn 'Query to be executed Dim SQLQuery 'Recordset Dim rs 'StudentNo Of Logged in user Dim UserName 'Passwor
<%
'Connection String
Dim Conn
'Query to be executed
Dim SQLQuery
'Recordset
Dim rs
'StudentNo Of Logged in user
Dim UserName
'Password of User
Dim Password
'Getting information from submitted form
UserName = request.form("username")
Password = request.form("password")
RememberMe = request.form("rememberme")
'If not blank Username password submitted
if UserName <> "" or Password <> "" then
'Creating connection Object
set Conn=server.createobject("ADODB.Connection")
'Creating Recordset Object
set rs = Server.CreateObject("ADODB.Recordset")
'Initialising Provider String
connStr = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("database.mdb")&";"
'Opening Connection to Database
Conn.open connStr
'Query to be executed
SQLQuery = "select * from customers_tbl where c_email = '"&UserName&"' AND c_password = '"&Password&"'"
'Retrieving recordset by executing SQL
set rs=Conn.execute(SQLQuery)
'If no records retrieved
if rs.BOF and rs.EOF then
Response.Redirect "customerlogin.htm?username=" & UserName
else
'If remember me selected
if RememberMe = "ON" then
'Writing cookies permanently
Response.Cookies("UserName")=UserName
Response.Cookies("Password")=Password
Response.Cookies("UserName").Expires = Now() + 365
Response.Cookies("Password").Expires = Now() + 365
Response.Redirect "customeraccount.htm"
else
'writing cookies temporarily
Response.Cookies("UserName")=UserName
Response.Cookies("Password")=Password
Response.Redirect "customeraccount.htm"
end if
'Closing all database connections
Conn.Close
rs.close
set rs = nothing
set Conn = nothing
end if
else
'Invalid User
Response.Redirect "customerlogin.htm?UserName=blank"
end if
%>
假设Customers表的主键名为CustomerId,那么您可以使用
if rs.BOF and rs.EOF then
Response.Redirect "customerlogin.htm?username=" & UserName
else
Session("CustomerId") = rs("customerid")
然后在customeraccount页面上,您可以进行查询
SQLQuery = "select * from customers_tbl where customerid = "&Session("CustomerId")
关于您的代码,我注意到两件事
首先,您似乎有扩展名为.htm而不是.asp的asp页面。您可能已经更改了相关的IIS设置,以便它将.htm页面视为ASP而不是平面html
其次,您使用的是ODBC连接字符串。这将工作,但OLEDB驱动程序被认为是更快-例如
connstr = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=""& Server.MapPath("database.mdb")