ASP/JS Classic page, create session error

I have the following code that is used to filter out a recordset based on values from a form.
I need to add code to create a session value based on the returned value from one of the fields.

--- code----

<%
// *** Validate request to log in to this site.
var MM_LoginAction = Request.ServerVariables("URL");
if (Request.QueryString!="") MM_LoginAction += "?" + Server.HTMLEncode(Request.QueryString);
var MM_valUsername=String(Request.Form("username"));
if (MM_valUsername != "undefined") {
  var MM_fldUserAuthorization="";
  var MM_redirectLoginSuccess="forgotpasswordsent.asp";
  var MM_redirectLoginFailed="forgotpasswordnotfound.asp";
  var MM_flag="ADODB.Recordset";
  var MM_rsUser = Server.CreateObject(MM_flag);
  MM_rsUser.ActiveConnection = MM_CMS2003_STRING;
  MM_rsUser.Source = "SELECT Loginid, Email";
  if (MM_fldUserAuthorization != "") MM_rsUser.Source += "," + MM_fldUserAuthorization;
  MM_rsUser.Source += " FROM dbo.vuEmailreset WHERE Loginid='" + MM_valUsername.replace(/'/g, "''") + "' AND Email='" + String(Request.Form("Email")).replace(/'/g, "''") + "'";
  MM_rsUser.CursorType = 0;
  MM_rsUser.CursorLocation = 2;
  MM_rsUser.LockType = 3;
  MM_rsUser.Open();
  if (!MM_rsUser.EOF || !MM_rsUser.BOF) {
    // username and password match - this is a valid user
    Session("MM_Username") = MM_valUsername;

    if (MM_fldUserAuthorization != "") {
      Session("MM_UserAuthorization") = String(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value);
    } else {
      Session("MM_UserAuthorization") = "";
    }
    if (String(Request.QueryString("accessdenied")) != "undefined" && false) {
      MM_redirectLoginSuccess = Request.QueryString("accessdenied");
    }
    MM_rsUser.Close();

    Response.Redirect(MM_redirectLoginSuccess);
  }
  MM_rsUser.Close();
  Response.Redirect(MM_redirectLoginFailed);
}
%>

----

The session variable I need to add is:

Session ("userloginid")=(EmployeeLogin.Fields.Item("userloginId").Value)

---

I am just not sure where to add that code.
LVL 1
AleksAsked:
Who is Participating?
 
Big MontyConnect With a Mentor Senior Web Developer / CEO of ExchangeTree.org Commented:
EmployeeLogin is not your recordset object, MM_rsUser is. You want to reference MM_rsUser
0
 
Big MontyConnect With a Mentor Senior Web Developer / CEO of ExchangeTree.org Commented:
I would put it right after your first IF statement after you validate the user:

 if (!MM_rsUser.EOF || !MM_rsUser.BOF) {
    // username and password match - this is a valid user
    Session("MM_Username") = MM_valUsername;

    Session ("userloginid")=Request.Form("userloginId")
0
 
Big MontyConnect With a Mentor Senior Web Developer / CEO of ExchangeTree.org Commented:
this assumes there is a field on the previous page that is named userloginId
0
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

 
AleksAuthor Commented:
Yes, but the value does not come from a form but the recordset

I tried adding this below, like this:

  if (!MM_rsUser.EOF || !MM_rsUser.BOF) {
    // username and password match - this is a valid user
    Session("MM_Username") = MM_valUsername;
      Session ("reqloginid")=Request.Form("userloginId")

On the next page I try to retrieve the session value, but doesn't display anything. Even tho the check was successful and a record was found.

I have:  Session: <%=Session("reqloginid")%>

Displays nothing.

If I try to add your code I get:   An intrinsic object cannot be stored within the Session object.

    // username and password match - this is a valid user
    Session("MM_Username") = MM_valUsername;
      Session ("reqloginid")=Request.Form("username")
0
 
AleksAuthor Commented:
If I do this:

  MM_rsUser.Open();
  if (!MM_rsUser.EOF || !MM_rsUser.BOF) {
    // username and password match - this is a valid user
    Session("MM_Username") = MM_valUsername;
      Session ("reqloginid")=(EmployeeLogin.Fields.Item("UserLoginId").Value)

    if (MM_fldUserAuthorization != "") {
      Session("MM_UserAuthorization") = String(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value);
    } else {
      Session("MM_UserAuthorization") = "";
    }


I get this error:

Microsoft JScript runtime error '800a138f'

'EmployeeLogin.Fields' is null or not an object

/bluedot/forgotpassword.asp, line 29
0
 
Big MontyConnect With a Mentor Senior Web Developer / CEO of ExchangeTree.org Commented:
your original post said to retrieve the login ID from a field. If you want to do it from the recordset, you would do:

 if (!MM_rsUser.EOF || !MM_rsUser.BOF) {
    // username and password match - this is a valid user
    Session("MM_Username") = MM_valUsername

    Session ("userloginid") = MM_rsUser("loginID")
0
 
AleksAuthor Commented:
Without this line:

Session ("reqloginid")=(EmployeeLogin.Fields.Item("UserLoginId").Value)

It succeeds and moves to the next page but I get no ID from the record that was filtered, which is what I need.
0
 
BanthorConnect With a Mentor Commented:
right under
Session("MM_Username") = MM_valUsername;
0
 
AleksAuthor Commented:
Thanks all !
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.