session variables

  • Thread starter Terry On Windigo
  • Start date

T

Terry On Windigo

I think I have figured out my problem but I don't know how to solve it. We
are going to start using a forums package and do not want our users to have
to login to both our site, and then again to the forums package. The
creator of the forums package provides what seems to be an easy workaround
for this. Create two session variables, one for ID, the other for Password,
and his program will take care of the rest.

I have all of my forums package off the root of the drive that has my
Inetpub directory, and within my IIS settings have a virtual directory
pointing to the actual folder. I'm wondering that since my actual forums
folder is outside my IIS, or if its a virtual directors my Session Variables
are not being picked up. I also wonder this for the following reason. On
all of my pages I have

<% If Session("LoggedIn")= "Proceed" Then
Else
Server.Transfer "LoginReturning.asp"
End If
%>

which keeps people from bookmarking and coming back in without logining back
in to the site. However on the forums default.asp page this does not work,
which leads me to believe once again it's a placement issue on my hardrive
with my folders. If I am wrong in my assumptions, and I can do this, how
would I pass the session variable to my default.asp page in my forums
folder? Here is the page that does the checking of my login verification:

<%
Option Explicit
Dim strConnect
%>
<!-- #Include File="Data.asp" -->
<html>
<head>
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>New Page 1</title>
</head>
<body>
<%

Dim objconn, objrs
Dim lcsql, strName, strEmail, strPassword, Trial, Expiredate,
strCookie2

Set objconn = Server.CreateObject("ADODB.Connection")
Set objrs=Server.CreateObject("ADODB.Recordset")
objconn.open strConnect

Trial = Date

strEmail = request.form("Email")
strPassword = request.form("password")

lcsql="select * FROM results WHERE Email =
'"+request.form("Email")+"' and password = '"+request.form("password")+"'"
objrs.Open lcsql,objconn,0,1,1

'No records returned because user not found

If objrs.EOF then
%>
<Script Language=VBscript>
ReturnItem = msgbox( "Either your name or password was
incorrect, try again.", vbOKOnly, "INCORRECT ENTRY")
</Script>
<%
Server.Transfer "LoginReturning.asp"

else
Session("LoggedIn") = "Proceed"

'The next two session vars are for the forums page
Session("USER") = request.form("Email")
Session("PASSWORD") = request.form("password")
'Check to see that Session variables were indeed assigned
response.write Session("PASSWORD")
response.write Session ("USER")
Server.Transfer "Index.asp"
end if
objrs.Close
objconn.Close
%>

</body>

</html>

Terry
 
Ad

Advertisements

A

Anthony Jones

Terry On Windigo said:
I think I have figured out my problem but I don't know how to solve it. We
are going to start using a forums package and do not want our users to have
to login to both our site, and then again to the forums package. The
creator of the forums package provides what seems to be an easy workaround
for this. Create two session variables, one for ID, the other for Password,
and his program will take care of the rest.

I have all of my forums package off the root of the drive that has my
Inetpub directory, and within my IIS settings have a virtual directory
pointing to the actual folder. I'm wondering that since my actual forums
folder is outside my IIS, or if its a virtual directors my Session Variables
are not being picked up. I also wonder this for the following reason. On
all of my pages I have

<% If Session("LoggedIn")= "Proceed" Then
Else
Server.Transfer "LoginReturning.asp"
End If
%>

which keeps people from bookmarking and coming back in without logining back
in to the site. However on the forums default.asp page this does not work,
which leads me to believe once again it's a placement issue on my hardrive
with my folders. If I am wrong in my assumptions, and I can do this, how
would I pass the session variable to my default.asp page in my forums
folder? Here is the page that does the checking of my login verification:

<%
Option Explicit
Dim strConnect
%>
<!-- #Include File="Data.asp" -->
<html>
<head>
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>New Page 1</title>
</head>
<body>
<%

Dim objconn, objrs
Dim lcsql, strName, strEmail, strPassword, Trial, Expiredate,
strCookie2

Set objconn = Server.CreateObject("ADODB.Connection")
Set objrs=Server.CreateObject("ADODB.Recordset")
objconn.open strConnect

Trial = Date

strEmail = request.form("Email")
strPassword = request.form("password")

lcsql="select * FROM results WHERE Email =
'"+request.form("Email")+"' and password = '"+request.form("password")+"'"
objrs.Open lcsql,objconn,0,1,1

'No records returned because user not found

If objrs.EOF then
%>
<Script Language=VBscript>
ReturnItem = msgbox( "Either your name or password was
incorrect, try again.", vbOKOnly, "INCORRECT ENTRY")
</Script>
<%
Server.Transfer "LoginReturning.asp"

else
Session("LoggedIn") = "Proceed"

'The next two session vars are for the forums page
Session("USER") = request.form("Email")
Session("PASSWORD") = request.form("password")
'Check to see that Session variables were indeed assigned
response.write Session("PASSWORD")
response.write Session ("USER")
Server.Transfer "Index.asp"
end if
objrs.Close
objconn.Close
%>

</body>

</html>

Terry

It isn't a problem of where the folder is placed physically. The fact that
you have made the folder a virtual folder under your own application would
make it part of your application and therefore able to see the session
variables for the app.

The problem most likely is that you have made this virtual folder into an
application in it's own right. Open the properties on the virtual folder
and on the virtual directory tab click the remove button. This stops the
folder from acting as it's own application.
 
T

Terry On Windigo

I really had high hopes that would work, but it didn't. The forums .asp
page isn't picking up the session vars.
 
A

Anthony Jones

Terry On Windigo said:
I think I have figured out my problem but I don't know how to solve it. We
are going to start using a forums package and do not want our users to have
to login to both our site, and then again to the forums package. The
creator of the forums package provides what seems to be an easy workaround
for this. Create two session variables, one for ID, the other for Password,
and his program will take care of the rest.

I have all of my forums package off the root of the drive that has my
Inetpub directory, and within my IIS settings have a virtual directory
pointing to the actual folder. I'm wondering that since my actual forums
folder is outside my IIS, or if its a virtual directors my Session Variables
are not being picked up. I also wonder this for the following reason. On
all of my pages I have

<% If Session("LoggedIn")= "Proceed" Then
Else
Server.Transfer "LoginReturning.asp"
End If
%>

which keeps people from bookmarking and coming back in without logining back
in to the site. However on the forums default.asp page this does not work,
which leads me to believe once again it's a placement issue on my hardrive
with my folders. If I am wrong in my assumptions, and I can do this, how
would I pass the session variable to my default.asp page in my forums
folder? Here is the page that does the checking of my login verification:

<%
Option Explicit
Dim strConnect
%>
<!-- #Include File="Data.asp" -->
<html>
<head>
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>New Page 1</title>
</head>
<body>
<%

Dim objconn, objrs
Dim lcsql, strName, strEmail, strPassword, Trial, Expiredate,
strCookie2

Set objconn = Server.CreateObject("ADODB.Connection")
Set objrs=Server.CreateObject("ADODB.Recordset")
objconn.open strConnect

Trial = Date

strEmail = request.form("Email")
strPassword = request.form("password")

lcsql="select * FROM results WHERE Email =
'"+request.form("Email")+"' and password = '"+request.form("password")+"'"
objrs.Open lcsql,objconn,0,1,1

'No records returned because user not found

If objrs.EOF then
%>
<Script Language=VBscript>
ReturnItem = msgbox( "Either your name or password was
incorrect, try again.", vbOKOnly, "INCORRECT ENTRY")
</Script>
<%
Server.Transfer "LoginReturning.asp"

else
Session("LoggedIn") = "Proceed"

'The next two session vars are for the forums page
Session("USER") = request.form("Email")
Session("PASSWORD") = request.form("password")
'Check to see that Session variables were indeed assigned
response.write Session("PASSWORD")
response.write Session ("USER")
Server.Transfer "Index.asp"
end if
objrs.Close
objconn.Close
%>

</body>

</html>

Terry

It sounds like you have set up the virtual directory as an application in
its own right.
In the directories properties on the virtual directory tag click the remove
button to stop the directory acting as an application.

Note the physical location of the folder is not significant.
 
S

Slim

Terry On Windigo said:
I really had high hopes that would work, but it didn't. The forums .asp
page isn't picking up the session vars.


look at the top of your asp page and check that it does not have
EnableSessionState=False

if that is not the case i refere to AJ's advice
 
Ad

Advertisements

T

Terry On Windigo

Follow up to those that helped. It is now working for me. The answer was
to stop it running as an application which all of you said. It didn't work
initially, then something clicked in my head and told me to stop and start
IIS. When I did that it worked. You guys really helped me out. I would
never have thought of the correct answer. Thanks, again.

Terry
 
Ad

Advertisements


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top