I Teach PHP.com

Apache Apache1.3 to 2.0
Configuration Basics
Install Fedora C1
Install Red Hat 7.2
Install Red Hat 7.3
SSH Clients
Virtual Hosting
links
syllabus
apache-refcard-letter

Bash Bash Shell Tips And Tricks
bash

CSS CSS2 Reference
links
syllabus

DHTML syllabus

HTML Basic HTML Tags
Creating Images
links
syllabus

Linux Install Fedora C1
Install Red Hat 7.2
Install Red Hat 7.3
Linux Basics
SSH Clients
links
mailme

Linux Clusters Cluster Books
Install Fedora C1
Install Red Hat 7.2
Install Red Hat 7.3
SSH Clients
syllabus

Linux Security Install Fedora C1
Install Red Hat 7.2
Install Red Hat 7.3
PHP Security
SSH Clients
Security QuickRef
UnixSecurity2.0
syllabus

Linux SysAdmin Install Fedora C1
Install Red Hat 7.2
Install Red Hat 7.3
PHP Security
SSH Clients
Security QuickRef
UnixSecurity2.0
syllabus
show book

Linux for Business Install Fedora C1
Install Red Hat 7.2
Install Red Hat 7.3
syllabus
show book

PHP 4 page DB system
Install Fedora C1
Install Red Hat 7.2
Install Red Hat 7.3
Linux Basics
PHP Security
Password Protect
Perl CGI Problems
Perl vs. PHP
Yahoo Stocks
links
syllabus

PHP for Flash 1-Flash Intro
2-Flash-PHP Form
Flash-PHP FAQ
Linux Basics
SSH Clients
syllabus

Perl Perl CGI Problems
SSH Clients
syllabus

TCP-IP Subnetting Tutorial
links

WML Yahoo Stocks
links
syllabus

cgi-bin

E-MAIL
Web Programming with PHP & MySQL

Web Programming with PHP & MySQL

James D. Keeline <James@Keeline.com>
http://ITeachPHP.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

  • Learning Red Hat Linux
    by Bill McCarty
    O'Reilly & Associates; ISBN: 0596000715; 2nd Bk & cdr edition (January 2002)
    A great introduction to the Linux operating system and the Red Hat distribution.
  • Linux in a Nutshell
    by Ellen Siever, Stephen Spainhour, Stephen Figgins, Jessica P. Hekman
    O'Reilly & Associates; ISBN: 0596000251; 3rd edition (January 15, 2000)
    A good reference guide with lists of popular commands and options, alphabetically arranged.
  • Linux Desk Reference
    by Scott Hawkins
    Prentice Hall PTR; ISBN: 0130619892; 2nd edition (August 22, 2001)
    A very good reference guide with popular commands and options, arranged in chapters by broad topics.

PHP Programming Language

  • PHP for the World Wide Web
    by Larry Ullman
    Peachpit Press; ISBN: 0201727870; 1st edition (March 27, 2001)
    An excellent introduction to programming and PHP for those with little experience in either.
  • PHP Advanced for the World Wide Web
    by Larry Ullman
    Peachpit Press; ISBN: 0201775972; 1st edition (December 15, 2001)
    Covers many advanced topics including databases, security, object-oriented programming, and XML.
  • PHP Developer's Cookbook
    by Sterling Hughes, Andrei Zmievski
    Sams; ISBN: 0672323257; 2nd edition (December 13, 2001)
    My favorite PHP reference. Each chapter has a topic with problems and sample code to solve a given programming issue.
  • PHP Developer's Dictionary
    by R. Allen Wyke, Michael J. Walker, Robert M. Cox
    Sams; ISBN: 0672320290; 1st edition (December 2000)
    A good reference but the main PHP.net web site is as good or better.
  • PHP Pocket Reference
    by Rasmus Lerdorf
    O'Reilly & Associates; ISBN: 0596004028; 2nd edition (November, 2002)
    A good reference, written by the creator of PHP; the second edition covers PHP4. Small and cheap.
  • Programming PHP
    by Rasmus Lerdorf, Kevin Tatroe
    O'Reilly & Associates; ISBN: 1565926102; 1st edition (March 2002)
    A very good introduction, written by the creator of PHP. Covers several advanced topics.
  • PHP Cookbook
    by David Sklar & Adam Trachtenberg
    O'Reilly & Associates; ISBN: 1565926811; 1st edition (November 2002)
    Another problem-solution book for PHP. Covers several advanced topics.
  • Professional PHP4 Multimedia Programming
    by Allan Kent, Devon H. O'Dell, Andy Chase, Jan Rosa, Sanjay Abraham, Iman S.H. Suyoto, and Kapil Apshankar
    Wrox; ISBN: 1861007647; 1st edition (2002)
    A great book on using PHP to do interesting things with multimedia, including still and animated graphics, PDFs and FDFs, and generating WAP content for wireless devices like cellular phones.
  • Foundation PHP for Flash
    by Steve Webster
    friends of Ed; ISBN: 1903450160; 1st edition (September 2001)
    Details how to link Flash pages with PHP and databases like MySQL. A newer edition covering Flash MX would be welcome.

MySQL Client-Server Relational Database System

  • Teach Yourself SQL in 10 Minutes
    by Ben Forta
    Sams; ISBN: 0672321289; 2nd edition (April 26, 2001)
    Each chapter is designed to take 10 minutes. Covers Structured Query Language syntax.
  • SQL in a Nutshell
    by Kevin Kline, Daniel Kline
    O'Reilly & Associates; ISBN: 1565927443; (December 1, 2000)
    Very good reference. Covers Structured Query Language syntax for MySQL, Oracle, MS SQL, and PostgreSQL.
  • Teach Yourself MySQL in 21 Days
    by Mark Maslakowski
    Sams; ISBN: 0672319144; 1 edition (June 23, 2000)
    Very good reference though a little dated. A new edition, by different authors, is due out in September.
  • MySQL & mSQL
    by Randy Ja Yarger, George Reese & Tim King
    O'Reilly & Associates; ISBN: 1565924347; 1 Ed edition (August 1999)
    Very good reference.
  • Web Database Applications with PHP & MySQL
    by Hugh E. Williams, David Lane
    O'Reilly & Associates; ISBN: 0596000413; 1st edition (March 2002)
    An interesting book with practical examples of complex systems.

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
    • Variables (scalar and arrays)
    • Control structures (if...then, while, foreach)
    • Form processing (basic)
    • Reading and writing files in the filesystem
Days 4 and 5
  1. Develop a database-driven web site including
    • Page to display a single record
    • Page to allow searches for records which match desired criteria
    • Password-protected administrative page to edit existing records
    • Password-protected page to enter new records
    • Page to export table as a MySQL dump file or Excel Spreadsheet
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.


This site contains files and links to support the free courses taught by James D. Keeline at the New Media Center / North City Center through the San Diego Community College District's Centers For Education and Technology.   A list of courses available at the center may be consulted.

The site will be updated throughout the semester both with new content and as a way to try out technologies used in several of the classes. This file modified 14-Jan-2007.