Web Database Applications with PHP & MySQL, 2/e
內容描述
There are many reasons for serving up dynamic content from a web site:to
offer an online shopping site, create customized information pages for users, or
just manage a large volume of content through a database. Anyone with a modest
knowledge of HTML and web site management can learn to create dynamic content
through the PHP programming language and the MySQL database. This book gives you
the background and tools to do the job safely and reliably. 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 ContentsPreface
Database Applications and the Web
The Web
Three-Tier ArchitecturesThe PHP Scripting Language
Introducing PHP
Conditions and Branches
Loops
Functions
Working with Types
User-Defined Functions
A Working ExampleArrays, Strings, and Advanced Data Manipulation in PHP
Arrays
Strings
Regular Expressions
Dates and Times
Integers and FloatsIntroduction to Object-Oriented Programming with PHP 5
Classes and Objects
Inheritance
Throwing and Catching ExceptionsSQL 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 WineQuerying Web Databases
Querying a MySQL Database Using PHP
Processing User Input
MySQL Function ReferencePEAR
Overview
Core Components
PackagesWriting to Web Databases
Database Inserts, Updates, and Deletes
Issues in Writing Data to DatabasesValidation with PHP and JavaScript
Validation and Error Reporting Principles
Server-Side Validation with PHP
JavaScript and Client-Side ValidationSessions
Introducing Session Management
PHP Session Management
Case Study: Using Sessions in Validation
When to Use Sessions
PHP Session API and ConfigurationAuthentication and Security
HTTP Authentication
HTTP Authentication with PHP
Form-Based Authentication
Protecting Data on the WebErrors, Debugging, and Deployment
Errors
Common Programming Errors
Custom Error HandlersReporting
Creating a Report
Producing PDF
PDF-PHP ReferenceAdvanced Features of Object-Oriented Programming in PHP 5
Working with Class Hierarchies
Class Type Hints
Abstract Classes and Interfaces
Freight Calculator ExampleAdvanced SQL
Exploring with SHOW
Advanced Querying
Manipulating Data and Databases
Functions
Automating Querying
Table Types
Backup and Recovery
Managing Users and Privileges
Tuning MySQLHugh and Dave's Online Wines: A Case Study
Functional and System Requirements
Application Overview
Common ComponentsManaging Customers
Code Overview
Customer Validation
The Customer FormThe Shopping Cart
Code Overview
The Winestore Home Page
The Shopping Cart ImplementationOrdering and Shipping at the Online Winestore
Code Overview
Credit Card and Shipping Instructions
Finalizing Orders
HTML and Email ReceiptsSearching and Authentication in the Online Winestore
Code Overview
Searching and Browsing
Authentication
A. Linux Installation Guide
B. Microsoft Windows Installation Guide
C. Mac OS X Installation Guide
D. Web Protocols
E. Modeling and Designing Relational Databases
F. Managing Sessions in the Database Tier
G. Resources
H. The Improved MySQL Library
Index