Introduction

This is the Final Project for Foothill College Course COIN94, Constructing Data-Driven Web Sites with PHP & MySQL. The instructor was Bruce Linn. I took the course in Summer Quarter 2004.

Textbook and Sample Application

We used the following textbook:
Web Database Applications with PHP and MySQL, Second Edition
by Hugh E. Williams and David Lane
O'Reilly Media, Inc. 2004

The publisher provides a complete sample application, the Winestore database, which was the basis for the Final Project.

Description of Final Project

Briefly summarized, the Final Project consists of the following:
  1. login and authentication (create a login form, maintain usernames and passwords in MySQL database, use PHP sessions, create login procedure which tracks login attempts)
  2. client side validation (Javascript) of user form
  3. detection and prevention of session hijackings
  4. creation and maintenance of a customer record with the following fields: First Name, Surname, Address, City, Email/Username, and Date of Birth.

To see the detailed requirements of the Final Project, as received from the instructor, see the Final Requirements page.

Tests

Some suggested tests follow:
  • create a new user with a username, password, and customer record
  • create a new user with a username already in use
  • logon as an existing user with incorrect password, three consecutive times
  • save a customer record with a required field blank
  • save a customer record with date field incorrect

For testing, you can use the following user names and passwords, which already exist in the MySQL database:
  • Marilyn@aol.com (field email), Marilyn (field password)
  • GerardTL@aol.com, Gerard
  • Rocky@aol.com, Rocky
  • Bullwinkle@aol.com, Bullwinkle
  • Spiderman@aol.com, Spider

Note that the Final Project focuses on logon, validation, and security tasks. When implemented properly, these details are invisible to most users--not everyone will appreciate them, or know that they even exist. They are, nevertheless, crucial and fundamental to any web application.

The Final Project is not perfect; further improvements could be made. It was good enough to meet the instructor's requirements. I received an "A" in the class.

Running the Final Project

The Final Project is available on the Internet. To run the Final Project, click on the following:
http://gerardlum.com/coin94final/final.php.

PHP Source Code

To get a copy of the PHP source code in a zip file, send me an email: .

Contact Information

Gerard T. Lum
650 903-0447
http://GerardLum.com (includes links to websites that I have designed, my resume, and other information)
Email: .