This 3 day class 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.
Goals
- Understand how CGI applications work
- Learn to use Perl’s CGI.pm module
- Learn to create dynamic forms with Perl
- Learn to use server-side includes
- Learn to manage database data with Perl
- Learn to maintain sessions and use cookies with Perl
- Under web security issues
Outline
- 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
- Introduction to CGI
- HTML Tag Structure
- 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
- Command Line Debugging
- Generating HTML
- Introduction to CGI.pm
- How to use CGI.pm’s Online Documentation
- CGI.pm’s Rules for General HTML Tags
- CGI.pm’s 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’s 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
- Lists
- Scalar and List Contexts
- Hashes
- Hash Functions
- 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’s DBM Interface
- Perl’s 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’s 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
To Hire an AMS Perl / CGI Subject Matter Expert and Instructor who also teaches this class, call us today at 800-798-3901!