Solved

ASP/JS Classic page, create session error

Posted on 2014-02-19
9
686 Views
Last Modified: 2014-02-19
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.
0
Comment
Question by:amucinobluedot
  • 4
  • 4
9 Comments
 
LVL 33

Assisted Solution

by:Big Monty
Big Monty earned 400 total points
ID: 39871792
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
 
LVL 33

Assisted Solution

by:Big Monty
Big Monty earned 400 total points
ID: 39871798
this assumes there is a field on the previous page that is named userloginId
0
 

Author Comment

by:amucinobluedot
ID: 39871827
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
Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

 

Author Comment

by:amucinobluedot
ID: 39871834
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
 
LVL 33

Assisted Solution

by:Big Monty
Big Monty earned 400 total points
ID: 39871835
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
 

Author Comment

by:amucinobluedot
ID: 39871836
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
 
LVL 33

Accepted Solution

by:
Big Monty earned 400 total points
ID: 39871841
EmployeeLogin is not your recordset object, MM_rsUser is. You want to reference MM_rsUser
0
 
LVL 10

Assisted Solution

by:Banthor
Banthor earned 100 total points
ID: 39871904
right under
Session("MM_Username") = MM_valUsername;
0
 

Author Closing Comment

by:amucinobluedot
ID: 39872036
Thanks all !
0

Featured Post

How Do You Stack Up Against Your Peers?

With today’s modern enterprise so dependent on digital infrastructures, the impact of major incidents has increased dramatically. Grab the report now to gain insight into how your organization ranks against your peers and learn best-in-class strategies to resolve incidents.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article discusses how to create an extensible mechanism for linked drop downs.
Get to know the ins and outs of building a web-based ERP system for your enterprise. Development timeline, technology, and costs outlined.
The viewer will get a basic understanding of what section 508 compliance can entail, learn about skip navigation links, alt text, transcripts, and font size controls.
The is a quite short video tutorial. In this video, I'm going to show you how to create self-host WordPress blog with free hosting service.

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question