Web Programming with PHP & MySQL

James D. Keeline <James@Keeline.com>

The purpose of this class is to introduce web programming using two "open source" products, the PHP server-side scripting language and the MySQL relational database system. The open source movement is best known for products like the Linux kernel and operating system and the Apache web server. One major advantage of using these is that they are available at no charge or at a very minimal cost. Although not immediately obvious, another major advantage is that the source code for these products is available for your review and even modification and extension.

At the "beginning" level course, many participants will have little or no experience with Linux or programming. As such, we will spend part of the first day covering the details of logging into our Linux server from class or home, navigating the file system, and creating and editing files which are available to the Apache web server so they may be presented to the world wide web.

Although there is no required textbook for this class, the following are some books which I have found to be helpful. The links below inclue my Amazon Associates ID. You can also find them at a discount at San Diego Technical Books which is located a few blocks from the school.

Linux Operating System

PHP Programming Language

MySQL Client-Server Relational Database System

In addition to printed books, there are a number of useful references for Linux, Apache, PHP, and MySQL. Here are a few of the more important ones.

Planned Topics

Beginning Class
Day 1
  1. Registration
  2. Take Class Survey
  3. Assign user accounts
  4. Describe how to log in from home via Secure Shell (SSH)
  5. Overview of class
  6. Basic Linux: navigating the file system and editing files for the web server
  7. Introduction to PHP and dynamic server-side scripting
Day 2
  1. Installation of Red Hat Linux 7.3, Apache web server, MySQL, and PHP (LAMP)
  2. Basic SQL with MySQL (as time permits).
Day 3
  1. Core programming concepts for PHP
Days 4 and 5
  1. Develop a database-driven web site including
Intermediate / Advanced Class

This class uses a series of small projects to illustrate how to use PHP to solve common and interesting web applications. These may include:

  1. Sophisticated form processing and database access.
  2. Making form elements 'sticky' (hold their value).
  3. Use PHP to send e-mail.
  4. Allow clients to upload files.
  5. Allow users to alter their MySQL password.
  6. PHP as a templating system.
  7. Extraction of code or content from other web sites.
  8. Validate credit card numbers.
  9. Simple invoice with credit card payment via PayPal.
  10. Create dynamic graphs and charts with Vagrant or JpGraph class.
  11. PHP-generated Adobe Acrobat documents.
  12. Mapping and Zip Codes for PHP programs.
  13. Using PHP to Create and Consume Web Services.
  14. Flash Forms for PHP.