VBScript Tutorials - Herong's Tutorial Examples
Dr. Herong Yang, Version 5.10

ASP Object Example - Passing Values between Pages

This section provides a tutorial example on how to pass values from one page to another. This example is a very simple registration application with two ASP pages.

There are many ways to pass values from one pages to the next pages:

  • Putting values into session.Contents.
  • Putting values into application.Contents.
  • Putting values at the end of the redirect URL.

In the following example, I have two ASP pages working together as a registration process. Here is the fist ASP page, reg_form.asp:

<script language="vbscript" runat="server">
'  reg_form.asp
'  Copyright (c) 2002 by Dr. Herong Yang
'  This ASP page presents a registration form, and collects the input
'  data.
'
  response.write("<html><body>")
  submit = request.QueryString.Item("submit")
  if submit = "Submit" then
    ' Collecting the input data
    session.Contents("url") = request.QueryString("url")
    session("email") = request.QueryString("email")
    application("first_name") = request.QueryString("first_name")
    response.Redirect("reg_done.asp?last_name=" & _
       request.QueryString("last_name"))
  else
    ' Presenting the registration form 
    response.write("<b>Registration Form</b>:<br>")
    response.write("<form action=reg_form.asp method=get>")
    response.write("Firt Name:")
    response.write("<input type=text size=16 name=first_name><br>")
    response.write("Last Name:")
    response.write("<input type=text size=16 name=last_name><br>")
    response.write("Email:")
    response.write("<input type=text size=32 name=email><br>")
    response.write("URL:")
    response.write("<input type=text size=32 name=url><br>")
    response.write("<input type=submit name=submit value=Submit><br>")
    response.write("</form>")
    response.write("Your session ID is " & session.SessionID & "<br>")
  end if
  response.write("</body></html>")
</script>

Here is the second ASP page, reg_done.asp:

<script language="vbscript" runat="server">
'  reg_done.asp
'  Copyright (c) 2002 by Dr. Herong Yang
'  This ASP page confirms a registration.
'
   response.write("<html><body>")
   ' Save the data here
   response.write("<b>Thank you registrating with us</b>:<br/>")
   response.write("Firt Name:")
   response.write(application("first_name") & "<br/>" & vbNewLine)
   response.write("Last Name:")
   response.write(request.QueryString("last_name") & "<br/>" _
      & vbNewLine)
   response.write("Email:")
   response.write(session("email") & "<br/>" & vbNewLine)
   response.write("URL:")
   response.write(session("url") & "<br/>" & vbNewLine)
   response.write("Your session ID is " & session.SessionID & "<br/>")
   response.write("</body></html>")
</script>

Request reg_form.asp with IE, and fill in the form with:

Firt Name: Bill
Last Name: Smith
Email: bill@smith.com
URL: www.smith.com

Then click the Submit button, you will get the output of reg_done.asp:

Thank you registrating with us:
Firt Name:Bill
Last Name:Smith
Email:bill@smith.com
URL:www.smith.com
Your session ID is 42285894

A couple of interesting notes:

  • reg_form.asp page is designed to serve two functions: presenting the form and collecting data from the submitted form.
  • When reg_form.asp is requested for the first time, there will be no "submit" in the QueryString. So the ASP script will continue with presenting-form section.
  • When the user finishes filling in the form, and clicks the Submit button, the browser will request reg_form.asp again and attach all the data in the form as QueryString. This behavior is specified by the <form> tag.
  • When reg_form.asp is requested by the Submit button, "submit" will have "Submit" as its value. So the ASP script will continue with the collecting-data section.
  • In the collecting-data section, I wanted to pass the collected data to another ASP page. Here I intentionally used three approaches to pass the data to reg-done.asp.
  • "url" and "email" are passed through the session.Contents collection. This is probably the best approach to pass data from one ASP page another.
  • "first_name" is passed through the application.Contents collection. This is not a safe approach to pass values on multi user server, because if there is another user filling this registration at this registration form as you, you could picked value saved by the other user.
  • "last_name" is passed as part of the redirect URL. This is a safe approach. But "last_name" is exposed to the user in the browser's URL area. So you should not use this approach to pass sensitive information from one ASP page to another.

Table of Contents

 About This Book

 Introduction of VBScript - Visual Basic Scripting Edition

 Variant Data Type, Subtypes, and Literals

 Arithmetic Operations

 Numeric Comparison Operations and Logical Operations

 String Operations - Concatenation and Comparison

 Variable Declaration and Assignment Statement

 Expression and Order of Operation Precedence

 Statement Syntax and Statement Types

 Array Data Type and Related Statements

 Array References and Array Assignment Statements

 Conditional Statements - "If ... Then" and "Select Case"

 Loop Statements - "For", "While", and "Do"

 "Function" and "Sub" Procedures

 Built-in Functions

 Inspecting Variables Received in Procedures

 Error Handling Flag and the "Err" Object

 Regular Expression Pattern Match and Replacement

 scrrun.dll - Scripting Runtime DLL Library

 Creating Your Own Classes

 IE Web Browser Supporting VBScript

IIS ASP Server Supporting VBScript

 What is ASP (Active Server Pages)?

 Static, Client-Side and Server-Side Scripting Pages

 Setting Up IIS to Run ASP Pages - asp.dll

 ASP Objects: Request, Response, Session and Application

ASP Object Example - Passing Values between Pages

 Interacting with External Applications - ActiveX Data Object (ADO)

 WSH (Windows Script Host)

 References

 Printable Copy - PDF Version

Dr. Herong Yang, updated in 2012
ASP Object Example - Passing Values between Pages