Creating action pages

Use the following procedure to create an action page for the formpage.cfm page that you created in the previous example.

To create an action page for the form:

  1. Create a ColdFusion page with the following content:
    <html>
    <head>
    <title>Retrieving Employee Data Based on Criteria from Form</title>
    </head>
    
    <body>
    <cfquery name="GetEmployees" datasource="cfdocexamples">
    	SELECT FirstName, LastName, Salary
    	FROM Employee
    	WHERE LastName=<cfqueryparam value="#Form.LastName#" 
    CFSQLType="CF_SQL_VARCHAR"> </cfquery> <h4>Employee Data Based on Criteria from Form</h4> <cfoutput query="GetEmployees"> #FirstName# #LastName# #Salary#<br> </cfoutput> <br> <cfoutput>Contractor: #Form.Contractor#</cfoutput> </body> </html>
  2. Save the page as actionpage.cfm in the myapps directory.
  3. View the formpage.cfm page in your browser.
  4. Enter data, for example, Smith, in the Last Name box and submit the form.

    The browser displays a line with the first and last name and salary for each entry in the database that match the name you typed, followed by a line with the text "Contractor: Yes".

  5. Click Back in your browser to redisplay the form.
  6. Remove the check mark from the check box and submit the form again.

    This time an error occurs because the check box does not pass a variable to the action page. For information on modifying the actionpage.cfm page to fix the error, see Testing for a variable's existence.

Reviewing the code

The following table describes the highlighted code and its function:

Code Description
<cfquery name="GetEmployees"
datasource="cfdocexamples">

Queries the data source cfdocexamples and names the query GetEmployees.

SELECT FirstName, LastName, Salary
FROM Employee
WHERE LastName=<cfqueryparam
value="#Form.LastName#"
CFSQLType="CF_SQL_VARCHAR">

Retrieves the FirstName, LastName, and Salary fields from the Employee table, but only if the value of the LastName field matches what the user entered in the LastName text box in the form on formpage.cfm.

<cfoutput query="GetEmployees">

Displays results of the GetEmployees query.

#FirstName#
#LastName#
#Salary#<br>

Displays the value of the FirstName, LastName, and Salary fields for a record, starting with the first record, then goes to the next line. Keeps displaying the records that match the criteria you specified in the SELECT statement, followed by a line break, until you run out of records.

</cfoutput>

Closes the cfoutput block.

<br>
<cfoutput>Contractor: #Form.Contractor#
</cfoutput>

Displays a blank line followed by the text "Contractor": and the value of the form Contractor check box.

A more complete example would test to ensure the existence of the variable and would use the variable in the query.


View comments in LiveDocs