CGI Programming Using Perl - PRL480

This course bridges the gap between using HTML to create static Web pages and using Perl CGI scripts to create dynamic Web pages. The course emphasizes using the Perl 5 CGI library routines to process HTML forms by providing extensive working examples and by students writing applications to illustrate the concepts presented. This course is not intended to be a substitute for a Perl programming course.

Course ID: PRL480
Duration: 3 days
Audience: Web site developers wanting to create interactive Web pages.
Prerequisites: Familiarity with HTML forms. Programming experience is required. Basic UNIX skills and the ability to use vi or a basic text editor are also required.
Topics:

The Internet and the Web

  • TCP/IP and Ports
  • DNS vs. Hosts Files
  • Servers and Clients
  • Client/Server Protocols

Browsers and Servers

  • URLs
  • WEB Browsers and Servers
  • The Hypertext Transfer Protocol
  • HTTP Requests and Responses
  • HTTP Headers
  • HTTP Requests
  • Mime Types

Introduction to CGI

  • HTML Tag Stucture
  • HTML Document Structure
  • URLs and CGI
  • CGI Programs
  • Running and Debugging from the Command Line
  • Running and Debugging from a Browser
  • Handling an HTML Form with CGI
  • Generating HTML

CGI and Perl

  • Perl
  • Perl Programs
  • Why Use CGI.pm (and Where is It?)
  • Running and Debugging from the Command Line
  • Generating HTML with CGI.pm
  • Running and Debugging from a Browser

Generating HTML

  • Introduction to CGI.pm
  • How to use CGI.pm Online Documentation
  • CGI.pm Rules for General HTML Tags
  • CGI.pm Rules for HTML Form Tags
  • Named vs. Positional Parameters in CGI.pm

Generating Forms

  • General Structure of HTML Forms
  • Form Element Tags
  • Pushbuttons
  • Radiobuttons
  • Checkboxes
  • Popups and Listboxes
  • Textfields, Passwords, and Textareas

CGI Data Flow Architecture

  • URL Encoding and Decoding
  • Data Flow Between Browsers and Servers
  • GET vs. POST
  • Which to Use?
  • CGI Environment Variables
  • Accessing CGI Environment Variables

Processing Form Data

  • Static Forms
  • Dynamic Forms
  • Controlling Flow with User Input
  • Accessing Form Data Using CGI.pm
  • The param Method of CGI.pm
  • Sticky Widgets
  • Validating Input from the Browser
  • Command Line Debugging

Client-Side Statefulness

  • Stateful vs Stateless
  • Why use Stateful CGI Applications?
  • Program to Program Interaction
  • Stateful Access with Hidden Fields
  • Multiple Forms and Hidden Fields
  • Stateful Access with Netscape Cookies
  • Using Cookies with CGI.pm
  • Cookie Management

Database Access

  • Server-Side Statefulness
  • Flat-File Databases
  • Structuring Text Data
  • File Permissions and Flat-File Databases
  • Perl DBM Interface
  • Perl DBI/DBD Interface
  • Issues With Statefulness

Additional Web Programming Features

  • Extra Path Information
  • Frames
  • Server Side Includes (SSI)
  • The exec command
  • A Page Hit Counter Using SSI
  • Animation Description
  • Netscape Server Push
  • Client Pull
  • The GD.pm Module

CGI Security Issues

  • Browser to Server Security Issues
  • CGI Security Issues
  • CGI Interaction with the Operating System
  • Database / File System Overflow
  • CGI and User Authentication

Appendix 1 - Overview of Perl

  • What is Perl?
  • Running Perl Programs
  • Sample Program
  • Another Sample Program
  • Yet Another Example

Appendix 2 - Perl Variables

  • Three Types of Variables
  • Variable Names and Syntax
  • Variable Naming
  • Lists
  • Scalar and List Contexts
  • Hashes
  • Hash Functions

Appendix 3 - Flow Control

  • Simple Statements
  • Simple Statement Modifiers
  • Compound Statements
  • The next, last, and redo Statements
  • The for Loop
  • The foreach Loop
 

Call Toll-free 877-245-6815 or 303-416-3056 to set up your IT Training today.