Web Database Applications with PHP and MySQL, Second Edition thoroughly reflects the needs of real-world applications. It goes into detail on such practical issues as validating input (do you know what a proper credit card number looks like?), logging in users, and using templates
to give your dynamic web pages a standard look.
But this book goes even further. It shows how JavaScript and PHP can be used in tandem to make a user's experience faster and more pleasant. It shows the correct way to handle errors in user input so that a site looks professional. It introduces the vast collection of powerful tools available in the PEAR repository and shows how to use some of the most popular tools.
Even while it serves as an introduction to new programmers, the book does not omit critical tasks that web sites require. For instance, every site that allows updates must handle the possibility of multiple users accessing data at the same time. This book explains how to solve the problem in detail with locking.
Through a sophisticated sample application--Hugh and Dave's Wine Store--all the important techniques of dynamic content are introduced. Good design is emphasized, such as dividing logic from presentation. The book introduces PHP 5 and MySQL 4.1 features, while providing techniques that can be used on older versions of the software that are still in widespread use.
This new edition has been redesigned around the rich offerings of PEAR. Several of these, including the Template package and the database-independent query API, are fully integrated into examples and thorougly described in the text. Topics include:
- Installation and configuration of Apache, MySQL, and PHP on Unix®,
Windows®, and Mac OS® X systems
- Introductions to PHP, SQL, and MySQL administration
- Session management, including the use of a custom database for improved
efficiency
- User input validation, security, and authentication
- The PEAR repository, plus details on the use of PEAR DB and Template
classes
- Production of PDF reports
Table of Contents
Preface
1. Database Applications and the Web
The Web
Three-Tier Architectures2. The PHP Scripting Language
Introducing PHP
Conditions and Branches
Loops
Functions
Working with Types
User-Defined Functions
A Working Example3. Arrays, Strings, and Advanced Data Manipulation in PHP
Arrays
Strings
Regular Expressions
Dates and Times
Integers and Floats4. Introduction to Object-Oriented Programming with PHP 5
Classes and Objects
Inheritance
Throwing and Catching Exceptions5. SQL and MySQL
Database Basics
MySQL Command Interpreter
Managing Databases and Tables
Inserting, Updating, and Deleting Data
Querying with SQL SELECT
Join Queries
Case Study: Adding a New Wine6. Querying Web Databases
Querying a MySQL Database Using PHP
Processing User Input
MySQL Function Reference7. PEAR
Overview
Core Components
Packages8. Writing to Web Databases
Database Inserts, Updates, and Deletes
Issues in Writing Data to Databases9. Validation with PHP and JavaScript
Validation and Error Reporting Principles
Server-Side Validation with PHP
JavaScript and Client-Side Validation10. Sessions
Introducing Session Management
PHP Session Management
Case Study: Using Sessions in Validation
When to Use Sessions
PHP Session API and Configuration11. Authentication and Security
HTTP Authentication
HTTP Authentication with PHP
Form-Based Authentication
Protecting Data on the Web12. Errors, Debugging, and Deployment
Errors
Common Programming Errors
Custom Error Handlers13. Reporting
Creating a Report
Producing PDF
PDF-PHP Reference14. Advanced Features of Object-Oriented Programming in PHP 5
Working with Class Hierarchies
Class Type Hints
Abstract Classes and Interfaces
Freight Calculator Example15. Advanced SQL
Exploring with SHOW
Advanced Querying
Manipulating Data and Databases
Functions
Automating Querying
Table Types
Backup and Recovery
Managing Users and Privileges
Tuning MySQL16. Hugh and Dave's Online Wines: A Case Study
Functional and System Requirements
Application Overview
Common Components17. Managing Customers
Code Overview
Customer Validation
The Customer Form18. The Shopping Cart
Code Overview
The Winestore Home Page
The Shopping Cart Implementation19. Ordering and Shipping at the Online Winestore
Code Overview
Credit Card and Shipping Instructions
Finalizing Orders
HTML and Email Receipts20. Searching and Authentication in the Online Winestore
Code Overview
Searching and Browsing
AuthenticationA. Linux Installation Guide
B. Microsoft Windows Installation Guide
C. Mac OS X Installation Guide