| | Copyright |
| | About the Author |
| | Acknowledgements |
| | We Want to Hear from You! |
| | Introduction |
| | | Who Should Read This Book? |
| | | How This Book Is Organized |
| | | Conventions Used in This Book |
| | Part I: Laying the Groundwork |
| | | Chapter 1. Installation QuickStart Guide |
| | | Linux/UNIX Installation |
| | | Windows Installation |
| | | Mac OS X Installation |
| | | Troubleshooting |
| | | Chapter 2. Installing and Configuring MySQL |
| | | Current and Future Versions of MySQL |
| | | How to Get MySQL MySQL |
| | | Installing MySQL on Linux/UNIX |
| | | Installing MySQL on Mac OS X |
| | | Installing MySQL on Windows |
| | | Troubleshooting Your Installation |
| | | Basic Security Guidelines |
| | | Introducing the MySQL Privilege System |
| | | Working with User Privileges |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Chapter 3. Installing and Configuring Apache |
| | | Current and Future Versions of Apache |
| | | Choosing the Appropriate Installation Method |
| | | Installing Apache on Linux/UNIX |
| | | Installing Apache on Mac OS X |
| | | Installing Apache on Windows |
| | | Apache Configuration File Structure |
| | | Apache Log Files |
| | | Apache-Related Commands |
| | | Starting Apache for the First Time |
| | | Troubleshooting |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Chapter 4. Installing and Configuring PHP |
| | | Current and Future Versions of PHP |
| | | Building PHP on Linux/UNIX with Apache |
| | | Installing PHP on Mac OS X |
| | | Installing PHP on Windows |
| | | php.ini Basics |
| | | Testing Your Installation |
| | | Getting Installation Help |
| | | The Basics of PHP Scripts |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | Part II: PHP Language Structure |
| | | Chapter 5. The Building Blocks of PHP |
| | | Variables |
| | | Data Types |
| | | Operators and Expressions |
| | | Constants |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Chapter 6. Flow Control Functions in PHP |
| | | Switching Flow |
| | | Loops |
| | | Code Blocks and Browser Output |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Chapter 7. Working with Functions |
| | | What Is a Function? |
| | | Calling Functions |
| | | Defining a Function |
| | | Returning Values from User-Defined Functions |
| | | Variable Scope |
| | | Saving State Between Function Calls with the static Statement |
| | | More About Arguments |
| | | Testing for the Existence of a Function |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Chapter 8. Working with Arrays |
| | | What Are Arrays? |
| | | Creating Arrays |
| | | Some Array-Related Functions |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Chapter 9. Working with Objects |
| | | Creating an Object |
| | | Object Inheritance |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | Part III: Getting Involved with the Code |
| | | Chapter 10. Working with Strings, Dates, and Time |
| | | Formatting Strings with PHP |
| | | Investigating Strings in PHP |
| | | Manipulating Strings with PHP |
| | | Using Date and Time Functions in PHP |
| | | Other String, Date, and Time Functions |
| | | Summary |
| | | Workshop |
| | | Chapter 11. Working with Forms |
| | | Creating a Simple Input Form |
| | | Accessing Form Input with User-Defined Arrays |
| | | Combining HTML and PHP Code on a Single Page |
| | | Using Hidden Fields to Save State |
| | | Redirecting the User |
| | | Sending Mail on Form Submission |
| | | Working with File Uploads |
| | | Summary |
| | | Workshop |
| | | Chapter 12. Working with Cookies and User Sessions |
| | | Introducing Cookies |
| | | Setting a Cookie with PHP |
| | | Session Function Overview |
| | | Starting a Session |
| | | Working with Session Variables |
| | | Passing Session IDs in the Query String |
| | | Destroying Sessions and Unsetting Variables |
| | | Using Sessions in an Environment with Registered Users |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Chapter 13. Working with Files and Directories |
| | | Including Files with include() |
| | | Validating Files |
| | | Creating a Function That Performs Multiple File Tests |
| | | Creating and Deleting Files |
| | | Opening a File for Writing, Reading, or Appending |
| | | Reading from Files |
| | | Writing or Appending to a File |
| | | Working with Directories |
| | | Opening Pipes to and from Processes Using popen() |
| | | Running Commands with exec() |
| | | Running Commands with system() or passthru() |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Chapter 14. Working with Images |
| | | Understanding the Image-Creation Process |
| | | Necessary Modifications to PHP |
| | | Drawing a New Image |
| | | Getting Fancy with Pie Charts |
| | | Modifying Existing Images |
| | | Image Creation from User Input |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | Part IV: PHP and MySQL Integration |
| | | Chapter 15. Understanding the Database Design Process |
| | | The Importance of Good Database Design |
| | | Types of Table Relationships |
| | | Understanding Normalization |
| | | Following the Design Process |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Chapter 16. Learning Basic SQL Commands |
| | | Learning the MySQL Data Types |
| | | Learning the Table Creation Syntax |
| | | Using the INSERT Command |
| | | Using the SELECT Command |
| | | Using WHERE in Your Queries |
| | | Selecting from Multiple Tables |
| | | Using the UPDATE Command to Modify Records |
| | | Using the REPLACE Command |
| | | Using the DELETE Command |
| | | Frequently Used String Functions in MySQL |
| | | Using Date and Time Functions in MySQL |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Chapter 17. Using Transactions and Stored Procedures in MySQL |
| | | What Are Transactions? |
| | | What Are Stored Procedures? |
| | | Summary |
| | | Workshop |
| | | Chapter 18. Interacting with MySQL Using PHP |
| | | MySQL Versus MySQLi Functions |
| | | Connecting to MySQL with PHP |
| | | Working with MySQL Data |
| | | Summary |
| | | Workshop |
| | Part V: Basic Projects |
| | | Chapter 19. Managing a Simple Mailing List |
| | | Developing the Subscription Mechanism |
| | | Developing the Mailing Mechanism |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Chapter 20. Creating an Online Address Book |
| | | Planning and Creating the Database Tables |
| | | Creating a Menu |
| | | Creating the Record Addition Mechanism |
| | | Viewing Records |
| | | Creating the Record Deletion Mechanism |
| | | Adding Subentries to a Record |
| | | Summary |
| | | Workshop |
| | | Chapter 21. Creating a Simple Discussion Forum |
| | | Designing the Database Tables |
| | | Creating the Input Forms and Scripts |
| | | Displaying the Topic List |
| | | Displaying the Posts in a Topic |
| | | Adding Posts to a Topic |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Chapter 22. Creating an Online Storefront |
| | | Planning and Creating the Database Tables |
| | | Displaying Categories of Items |
| | | Displaying Items |
| | | Summary |
| | | Workshop |
| | | Chapter 23. Creating a Shopping Cart Mechanism |
| | | Planning and Creating the Database Tables |
| | | Integrating the Cart with Your Storefront |
| | | Payment Methods and the Checkout Sequence |
| | | Summary |
| | | Workshop |
| | | Chapter 24. Creating a Simple Calendar |
| | | Building a Simple Display Calendar |
| | | Creating a Calendar Library |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Chapter 25. Restricting Access to Your Applications |
| | | Authentication Overview |
| | | Apache Authentication Module Functionality |
| | | Using Apache for Access Control |
| | | Combining Apache Access Methods |
| | | Limiting Access Based on HTTP Methods |
| | | Restricting Access Based on Cookie Values |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Chapter 26. Logging and Monitoring Web Server Activity |
| | | Standard Apache Access Logging |
| | | Standard Apache Error Logging |
| | | Managing Apache Logs |
| | | Logging Custom Information to a Database |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Chapter 27. Application Localization |
| | | About Internationalization and Localization |
| | | About Character Sets |
| | | Environment Modifications |
| | | Creating a Localized Page Structure |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Chapter 28. Working with XML |
| | | What Is XML? |
| | | Accessing XML in PHP Using DOM Functions |
| | | Accessing XML in PHP Using SimpleXML Functions |
| | | Summary |
| | | Workshop |
| | Part VI: Administration and Fine-tuning |
| | | Chapter 29. Apache Performance Tuning and Virtual Hosting |
| | | Scalability Issues |
| | | Load Testing with ApacheBench |
| | | Proactive Performance Tuning |
| | | Preventing Abuse |
| | | Implementing Virtual Hosting |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Chapter 30. Setting Up a Secure Web Server |
| | | The Need for Security |
| | | The SSL Protocol |
| | | Obtaining and Installing SSL Tools |
| | | Managing Certificates |
| | | SSL Configuration |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Chapter 31. Optimizing and Tuning MySQL |
| | | Building an Optimized Platform |
| | | MySQL Startup Options |
| | | Optimizing Your Table Structure |
| | | Optimizing Your Queries |
| | | Using the FLUSH Command |
| | | Using the SHOW Command |
| | | Summary |
| | | Q&A |
| | | Workshop |
| | | Chapter 32. Software Upgrades |
| | | Staying in the Loop |
| | | Upgrading MySQL |
| | | Upgrading Apache |
| | | Upgrading PHP |
| | | Summary |
| | | Workshop |
| | Index |