Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Web Database Applications with PHP and MySQL, 2nd Edition
A Note Regarding Supplemental Files Preface
What This Book Is About What You Need to Know How This Book Is Organized How to Use This Book Conventions Used in This Book Using Code Examples How to Contact Us Web Site and Code Examples Acknowledgments
1. Database Applications and the Web
1.1. The Web 1.2. Three-Tier Architectures
1.2.1. HTTP: the Hypertext Transfer Protocol
1.2.1.1. HTTP example
1.2.2. State 1.2.3. Thickening the Client in the Three-Tier Model 1.2.4. The Middle Tier
1.2.4.1. Web servers
1.2.5. Web Scripting with PHP
1.2.5.1. Introducing PHP5
1.2.6. The Database Tier 1.2.7. Database Management Systems
1.2.7.1. SQL 1.2.7.2. Why use a database server? 1.2.7.3. Examples of when to use a database server 1.2.7.4. Examples of when not to use a DBMS 1.2.7.5. The MySQL server 1.2.7.6. Introducing MySQL 4
2. The PHP Scripting Language
2.1. Introducing PHP
2.1.1. PHP Basics
2.1.1.1. Creating PHP scripts 2.1.1.2. Comments 2.1.1.3. Outputting data with echo and print
2.1.2. String Literals
2.1.2.1. Variable substitution 2.1.2.2. Character encoding
2.1.3. Variables 2.1.4. Types 2.1.5. Constants 2.1.6. Expressions, Operators, and Variable Assignment
2.1.6.1. Operator precedence
2.2. Conditions and Branches
2.2.1. if...else Statement 2.2.2. switch Statement 2.2.3. Conditional Expressions
2.3. Loops
2.3.1. while 2.3.2. do...while 2.3.3. for 2.3.4. Changing Loop Behavior
2.4. Functions 2.5. Working with Types
2.5.1. Type Conversion 2.5.2. Automatic Type Conversion 2.5.3. Examining Variable Type and Content
2.5.3.1. Is-identical and is-not-identical operators 2.5.3.2. Debugging with gettype( ), print_r( ), and var_dump( ) 2.5.3.3. Testing, setting, and unsetting variables
2.6. User-Defined Functions
2.6.1. Parameter Types and Return Types 2.6.2. Variable Scope
2.6.2.1. Global variables 2.6.2.2. Static variables
2.6.3. Passing Variables to Functions
2.6.3.1. Passing parameters by reference 2.6.3.2. Assigning by reference 2.6.3.3. Default parameter values
2.6.4. Reusing Functions with Include and Require Files
2.6.4.1. Managing include files
2.7. A Working Example
3. Arrays, Strings, and Advanced Data Manipulation in PHP
3.1. Arrays
3.1.1. Creating Arrays
3.1.1.1. Associative arrays 3.1.1.2. Removing elements from an array 3.1.1.3. Array order 3.1.1.4. Heterogeneous arrays 3.1.1.5. Multidimensional arrays
3.1.2. Using foreach Loops with Arrays 3.1.3. Basic Array Functions
3.1.3.1. Counting elements in arrays 3.1.3.2. Functions that create arrays 3.1.3.3. Exploding and imploding strings 3.1.3.4. Finding the maximum and minimum values in an array 3.1.3.5. Finding values in arrays with in_array( ) and array_search( ) 3.1.3.6. Keys and values 3.1.3.7. Joining two or more arrays 3.1.3.8. Reordering elements with array_reverse( )
3.1.4. Sorting Arrays
3.1.4.1. Sorting with sort( ) and rsort( ) 3.1.4.2. Sorting associative arrays 3.1.4.3. Sorting on keys 3.1.4.4. Sorting with user-defined element comparison
3.2. Strings
3.2.1. Length of a String 3.2.2. Printing and Formatting Strings
3.2.2.1. Creating formatted output with sprintf( ) and printf( ) 3.2.2.2. Padding strings 3.2.2.3. Changing case 3.2.2.4. Trimming whitespace
3.2.3. Comparing Strings 3.2.4. Finding and Extracting Substrings
3.2.4.1. Extracting a substring from a string 3.2.4.2. Finding the position of a substring 3.2.4.3. Extracting a found portion of a string
3.2.5. Replacing Characters and Substrings
3.2.5.1. Replacing substrings 3.2.5.2. Translating characters and substrings
3.3. Regular Expressions
3.3.1. Regular Expression Syntax
3.3.1.1. Characters and wildcards 3.3.1.2. Character lists 3.3.1.3. Anchors 3.3.1.4. Optional and repeating characters 3.3.1.5. Groups 3.3.1.6. Alternative patterns 3.3.1.7. Escaping special characters 3.3.1.8. Metacharacters
3.3.2. Regular Expression Functions
3.3.2.1. Finding and extracting values 3.3.2.2. Replacing substrings 3.3.2.3. Splitting a string into an array
3.4. Dates and Times
3.4.1. Generating a Timestamp
3.4.1.1. Current time 3.4.1.2. Creating timestamps with mktime( ) and gmmktime( ) 3.4.1.3. String to timestamp 3.4.1.4. Subsecond times
3.4.2. Formatting a Date 3.4.3. Validating a Date
3.5. Integers and Floats
3.5.1. Absolute Value 3.5.2. Ceiling and Floor 3.5.3. Rounding 3.5.4. Number Systems 3.5.5. Basic Trigonometry Functions 3.5.6. Powers and Logs 3.5.7. Testing Number Results 3.5.8. Random Number Generation
4. Introduction to Object-Oriented Programming with PHP 5
4.1. Classes and Objects
4.1.1. Member Variables 4.1.2. Member Functions 4.1.3. Using include Files for Class Definitions 4.1.4. Constructors 4.1.5. Destructors 4.1.6. Private Members Variables 4.1.7. Private Member Functions 4.1.8. Static Member Variables 4.1.9. Static Member Functions 4.1.10. Cloning Objects
4.1.10.1. Cloning in PHP5 4.1.10.2. Cloning in PHP4
4.2. Inheritance
4.2.1. Calling Parent Constructors 4.2.2. Redefined Functions 4.2.3. Protected Member Variables and Functions 4.2.4. Final Functions
4.3. Throwing and Catching Exceptions
4.3.1. The Exception Class
5. SQL and MySQL
5.1. Database Basics
5.1.1. Introducing Relational Databases 5.1.2. Database Terminology 5.1.3. The Winestore Database
5.1.3.1. The winestore entity-relationship model
5.2. MySQL Command Interpreter 5.3. Managing Databases and Tables
5.3.1. Creating Databases 5.3.2. Creating Tables
5.3.2.1. Tables and attributes 5.3.2.2. Modifiers 5.3.2.3. Keys
5.3.3. Deleting Databases and Tables
5.4. Inserting, Updating, and Deleting Data
5.4.1. Inserting Data
5.4.1.1. Defaults 5.4.1.2. Auto-increment
5.4.2. Deleting Data 5.4.3. Updating Data
5.5. Querying with SQL SELECT
5.5.1. Basic Querying 5.5.2. WHERE Clauses 5.5.3. Sorting and Grouping Output
5.5.3.1. ORDER BY 5.5.3.2. GROUP BY 5.5.3.3. HAVING 5.5.3.4. Combining clauses 5.5.3.5. DISTINCT
5.5.4. Limiting Output in MySQL
5.6. Join Queries
5.6.1. Beware of the Cartesian Product 5.6.2. Elementary Natural Joins
5.6.2.1. Examples 5.6.2.2. Using DISTINCT in joins
5.6.3. Joins with More than Two Tables
5.7. Case Study: Adding a New Wine
6. Querying Web Databases
6.1. Querying a MySQL Database Using PHP
6.1.1. Opening and Using a Database Connection 6.1.2. Using mysql_fetch_array( ) 6.1.3. Error Handling of MySQL Database Functions 6.1.4. Working with Table Structures 6.1.5. Formatting Results 6.1.6. Using Require Files in Practice 6.1.7. Case Study: Producing a Select List
6.1.7.1. Implementing the selectDistinct( ) function
6.2. Processing User Input
6.2.1. Passing Data from the Browser to the Server 6.2.2. Passing Data with the HTML Form Environment 6.2.3. Passing Data with URLs 6.2.4. Passing Data with Embedded Links 6.2.5. More on Accessing User Data
6.2.5.1. Before PHP 4.2
6.2.6. Processing Form Data
6.2.6.1. The MULTIPLE attribute 6.2.6.2. Other form issues
6.2.7. Security and User Data 6.2.8. Querying with User Input 6.2.9. One-Component Querying
6.3. MySQL Function Reference
6.3.1. Frequently Used Functions 6.3.2. Other Functions 6.3.3. Functions to Avoid
7. PEAR
7.1. Overview 7.2. Core Components
7.2.1. What's Installed?
7.2.1.1. Unix systems—PHP 4.3.0 and later 7.2.1.2. Microsoft Windows—PHP 4.3.2 and later
7.2.2. Using PEAR DB
7.2.2.1. Should I use PEAR DB? 7.2.2.2. Getting started 7.2.2.3. Handling errors in PEAR DB 7.2.2.4. Essential functions for accessing MySQL with PEAR DB
7.3. Packages
7.3.1. Installing, Upgrading, and Understanding Packages
7.3.1.1. Finding out about packages 7.3.1.2. Using the PEAR installer
7.3.2. Using HTML Templates
7.3.2.1. Working with blocks and placeholders 7.3.2.2. Nested blocks 7.3.2.3. Preserving and removing blocks 7.3.2.4. More on nesting and optional blocks 7.3.2.5. Extended Integrated Templates (ITX) 7.3.2.6. Essential IT and ITX functions
7.3.3. Optional Packages
7.3.3.1. Authentication 7.3.3.2. Benchmarking 7.3.3.3. Caching 7.3.3.4. Console 7.3.3.5. Database 7.3.3.6. Date 7.3.3.7. Filesystem 7.3.3.8. HTML 7.3.3.9. HTTP 7.3.3.10. Internationalization 7.3.3.11. Logging 7.3.3.12. Mail 7.3.3.13. Networking 7.3.3.14. PEAR 7.3.3.15. PHP 7.3.3.16. XML 7.3.3.17. Web services
8. Writing to Web Databases
8.1. Database Inserts, Updates, and Deletes
8.1.1. Reloading Data and Relocation Techniques
8.1.1.1. Solving the reload problem in practice
8.1.2. Inserting, Updating, and Deleting Data
8.1.2.1. Inserting data 8.1.2.2. Updating data 8.1.2.3. Case study: updates in practice 8.1.2.4. Deleting data
8.2. Issues in Writing Data to Databases
8.2.1. Transactions and Concurrency 8.2.2. Locking to Achieve Concurrency in MySQL
8.2.2.1. When and how to lock tables 8.2.2.2. The LOCK TABLES and UNLOCK TABLES statements in MySQL 8.2.2.3. Locking for performance
8.2.3. Locking Tables in Web Database Applications
8.2.3.1. Locking methods that don't work in web database applications 8.2.3.2. Locking with an auxiliary table 8.2.3.3. Managing identifiers with PEAR DB
9. Validation with PHP and JavaScript
9.1. Validation and Error Reporting Principles
9.1.1. Models That Don't Work 9.1.2. Models That Do Work
9.2. Server-Side Validation with PHP
9.2.1. Mandatory Data 9.2.2. Validating Strings
9.2.2.1. Basic techniques 9.2.2.2. Validating Zip and postcodes 9.2.2.3. Validating email addresses 9.2.2.4. Validating URLs 9.2.2.5. Validating numbers 9.2.2.6. Validating credit cards
9.2.3. Validating Dates and Times
9.2.3.1. Dates 9.2.3.2. Times 9.2.3.3. Using the PEAR Date package 9.2.3.4. Logic, the date function, and MySQL
9.3. JavaScript and Client-Side Validation
9.3.1. Introducing JavaScript 9.3.2. JavaScript and PHP
9.3.2.1. Generating output 9.3.2.2. Loops and conditionals 9.3.2.3. Functions 9.3.2.4. Debugging JavaScript 9.3.2.5. Objects 9.3.2.6. Events 9.3.2.7. Methods and properties
9.3.3. JavaScript Examples
9.3.3.1. A password form validation function 9.3.3.2. Rollover presentation with mouseover events 9.3.3.3. Prefilling form data with JavaScript calculations 9.3.3.4. Interacting with the web browser 9.3.3.5. Which browser is the user using? 9.3.3.6. Drop-down menus
9.3.4. Case Study: A Generic JavaScript Validation Function
9.3.4.1. The JavaScript validation script 9.3.4.2. Using the JavaScript validation function 9.3.4.3. The PHP and template components
10. Sessions
10.1. Introducing Session Management 10.2. PHP Session Management
10.2.1. Starting a Session 10.2.2. Using Session Variables
10.2.2.1. Unsetting session variables 10.2.2.2. Session variable types 10.2.2.3. Serialization of session variables
10.2.3. Ending a Session 10.2.4. Designing Session-Based Applications
10.2.4.1. Session to track authenticated users 10.2.4.2. Sessions to track anonymous users
10.3. Case Study: Using Sessions in Validation
10.3.1. Improving the Phonebook Details Form 10.3.2. The Validation Script
10.3.2.1. Improving error messages 10.3.2.2. Saving last-entered values as a session variable 10.3.2.3. The final validation script
10.3.3. The Phonebook Entry Form Script
10.3.3.1. Displaying previously entered form values 10.3.3.2. Displaying error messages 10.3.3.3. The final phonebook entry script
10.4. When to Use Sessions
10.4.1. Reasons to Use Sessions
10.4.1.1. Performance 10.4.1.2. Sequence of interaction 10.4.1.3. Intermediate results 10.4.1.4. Personalization
10.4.2. Reasons to Avoid Sessions
10.4.2.1. Need for centralized session store 10.4.2.2. Performance 10.4.2.3. Timeouts 10.4.2.4. Bookmark restrictions 10.4.2.5. Security
10.5. PHP Session API and Configuration
10.5.1. Functions for Accessing Sessions in PHP
10.5.1.1. Functions used when register_globals is enabled
10.5.2. Session Management Without Cookies
10.5.2.1. No cookie? 10.5.2.2. Including the session ID in URLs 10.5.2.3. URL rewriting 10.5.2.4. Turning off cookies
10.5.3. Garbage Collection 10.5.4. Configuration Parameters
11. Authentication and Security
11.1. HTTP Authentication
11.1.1. How HTTP Authentication Works 11.1.2. Using Apache to Authenticate
11.2. HTTP Authentication with PHP
11.2.1. Accessing User Credentials 11.2.2. Managing HTTP Authentication with PHP 11.2.3. Limiting Access by IP Address 11.2.4. Authentication Using a Database
11.2.4.1. Creating a database and table 11.2.4.2. Protecting passwords 11.2.4.3. Authenticating 11.2.4.4. Encrypting other data in a database
11.3. Form-Based Authentication
11.3.1. Reasons to Use HTTP Authentication 11.3.2. Reasons to Avoid HTTP Authentication 11.3.3. Authentication and Session-Based Applications
11.3.3.1. Session hijacking 11.3.3.2. Recording IP addresses to detect session hijack attempts
11.3.4. Session-Based Authentication Framework
11.3.4.1. Code overview 11.3.4.2. Login page 11.3.4.3. Setup script 11.3.4.4. The authentication.inc require file 11.3.4.5. Application scripts and pages 11.3.4.6. Logout script 11.3.4.7. Password management
11.4. Protecting Data on the Web
11.4.1. The Secure Sockets Layer Protocol
11.4.1.1. SSL architecture 11.4.1.2. Cipher suites 11.4.1.3. SSL sessions 11.4.1.4. Certificates and certification authorities
12. Errors, Debugging, and Deployment
12.1. Errors
12.1.1. Accessing the PHP Manual 12.1.2. Configuring Error Reporting
12.2. Common Programming Errors
12.2.1. A Page That Produces Partial or No Output 12.2.2. Variable Problems
12.2.2.1. Variable naming 12.2.2.2. Missing output
12.2.3. Less Common Problems
12.2.3.1. Complaints about headers 12.2.3.2. Missing semicolons, braces, and quotes 12.2.3.3. Source shown in the browser
12.3. Custom Error Handlers
12.3.1. A Basic Custom Handler 12.3.2. A Production Error Handler
12.3.2.1. Including debugging information 12.3.2.2. Logging and notifying the user 12.3.2.3. Triggering your own errors 12.3.2.4. Cleaning up the application
13. Reporting
13.1. Creating a Report
13.1.1. Formats
13.1.1.1. Portable Document Format (PDF) 13.1.1.2. Rich Text Format (RTF) 13.1.1.3. PostScript 13.1.1.4. HTML and XML 13.1.1.5. Email and plain text
13.2. Producing PDF
13.2.1. Hello, world 13.2.2. A Full-Featured Document 13.2.3. A Database Example 13.2.4. Creating a Report
13.3. PDF-PHP Reference
13.3.1. EZPDF Class 13.3.2. Base Class
14. Advanced Features of Object-Oriented Programming in PHP 5
14.1. Working with Class Hierarchies
14.1.1. Polymorphism 14.1.2. Discovering Relationships
14.1.2.1. Functions
14.2. Class Type Hints 14.3. Abstract Classes and Interfaces
14.3.1. The abstract keyword 14.3.2. Interfaces
14.4. Freight Calculator Example
14.4.1. Review of the FreightCalculator 14.4.2. Deliverable Interface 14.4.3. Improving the FreightCalculator 14.4.4. Summary of Improvements 14.4.5. Using the Improved Freight Calculator 14.4.6. Class Diagram
15. Advanced SQL
15.1. Exploring with SHOW 15.2. Advanced Querying
15.2.1. Advanced Join Types
15.2.1.1. Natural and inner joins 15.2.1.2. Left and right joins 15.2.1.3. Unions
15.2.2. Aliases 15.2.3. Nested Queries
15.2.3.1. Introduction 15.2.3.2. The IN clause 15.2.3.3. The EXISTS clause 15.2.3.4. Nested queries in the FROM clause
15.2.4. User Variables 15.2.5. ROLLUP with GROUP BY 15.2.6. Other MySQL Topics
15.3. Manipulating Data and Databases
15.3.1. Altering Databases 15.3.2. More on Inserting Data
15.3.2.1. Using INSERT with SELECT 15.3.2.2. Using CREATE TABLE with SELECT 15.3.2.3. Replacing data 15.3.2.4. Bulk loading a file into a database 15.3.2.5. Delayed insertion
15.3.3. More on Deleting Data 15.3.4. More on Updating Data
15.4. Functions
15.4.1. Arithmetic and Comparison Operators
15.4.1.1. String functions 15.4.1.2. Mathematical functions 15.4.1.3. Date and time functions 15.4.1.4. Miscellaneous operators and functions
15.5. Automating Querying
15.5.1. Unix 15.5.2. Microsoft Windows
15.6. Table Types
15.6.1. Overview 15.6.2. MyISAM 15.6.3. InnoDB
15.6.3.1. Transactions using COMMIT and ROLLBACK
15.6.4. Heap
15.7. Backup and Recovery
15.7.1. Backup 15.7.2. Selective Backups 15.7.3. Restore 15.7.4. Checking and Fixing Tables 15.7.5. Exporting Data to Other Environments
15.8. Managing Users and Privileges
15.8.1. Creating Users and Privileges
15.8.1.1. Privileges and scope 15.8.1.2. Network access
15.8.2. Revoking Privileges
15.8.2.1. How MySQL manages privileges
15.9. Tuning MySQL
15.9.1. Index Design 15.9.2. Design Tips 15.9.3. Server Tuning Tips 15.9.4. Query Caching
15.9.4.1. Configuring query caching 15.9.4.2. Controlling query caching
16. Hugh and Dave's Online Wines:A Case Study
16.1. Functional and System Requirements
16.1.1. Requirements List
16.2. Application Overview
16.2.1. Winestore Scripts
16.2.1.1. Functional overview 16.2.1.2. Using and accessing the source code
16.3. Common Components
16.3.1. Application Templates 16.3.2. The winestoreTemplate Class
16.3.2.1. How the class works 16.3.2.2. The buttons and the button parameter
16.3.3. The winestoreFormTemplate Class
16.3.3.1. How the class works
16.3.4. Database Parameters 16.3.5. Validation 16.3.6. Custom Error Handler 16.3.7. General-Purpose Functions
17. Managing Customers
17.1. Code Overview 17.2. Customer Validation 17.3. The Customer Form
17.3.1. The Customer Receipt Page
18. The Shopping Cart
18.1. Code Overview 18.2. The Winestore Home Page 18.3. The Shopping Cart Implementation
18.3.1. Viewing the Shopping Cart 18.3.2. Adding Items to the Shopping Cart 18.3.3. Emptying the Shopping Cart 18.3.4. Updating the Shopping Cart Quantities
19. Ordering and Shipping at the Online Winestore
19.1. Code Overview 19.2. Credit Card and Shipping Instructions 19.3. Finalizing Orders 19.4. HTML and Email Receipts
19.4.1. Email Receipt
19.4.1.1. The PEAR Mail package
19.4.2. HTML Receipts
20. Searching and Authentication in the Online Winestore
20.1. Code Overview
20.1.1. Searching and Browsing 20.1.2. Authentication
20.2. Searching and Browsing
20.2.1. Search Criteria Form 20.2.2. Querying and Displaying Results
20.2.2.1. Finding the wines 20.2.2.2. Displaying the wines
20.3. Authentication
20.3.1. General-Purpose Functions 20.3.2. Logging In and Out 20.3.3. Changing Passwords
A. Linux Installation Guide
A.1. Finding Out What's Installed
A.1.1. MySQL A.1.2. Apache and PHP
A.2. Installation Overview A.3. Installing MySQL
A.3.1. Starting MySQL A.3.2. Configuring MySQL
A.4. Installing Apache
A.4.1. Installing a Secure Apache Server
A.4.1.1. Installing OpenSSL A.4.1.2. Creating a key and a certificate
A.4.2. Installing a Regular Apache Server
A.5. Installing PHP A.6. What's Needed for This Book
A.6.1. Installing PEAR Packages A.6.2. Installing the Code Examples A.6.3. Installing the PDF PHP Library A.6.4. Loading the Winestore Database A.6.5. Installing the Winestore Application
B. Microsoft Windows Installation Guide
B.1. Installation Overview B.2. Installing with EasyPHP B.3. What's Needed for This Book
B.3.1. Installing PEAR Packages B.3.2. Installing the Code Examples B.3.3. Installing the PDF PHP Library B.3.4. Loading the Winestore Database B.3.5. Installing the Winestore Application
C. Mac OS X Installation Guide
C.1. Getting Started C.2. Installing MySQL
C.2.1. Configuring MySQL
C.3. Setting Up Apache and PHP
C.3.1. Starting Apache C.3.2. The Apache and PHP Setup C.3.3. Upgrading PHP C.3.4. Installing a Secure Apache Server
C.3.4.1. Creating a key and certificate
C.4. What's Needed for This Book
C.4.1. Installing PEAR Packages C.4.2. Installing the Code Examples C.4.3. Installing the PDF PHP Library C.4.4. Loading the Winestore Database C.4.5. Installing the Winestore Application
D. Web Protocols
D.1. Network Basics
D.1.1. TCP/IP D.1.2. IP Addresses
D.1.2.1. Ports
D.2. Hypertext Transfer Protocol
D.2.1. Uniform Resource Locators
D.2.1.1. Protocol D.2.1.2. Host and service identification D.2.1.3. Nonstandard TCP ports D.2.1.4. Resource identification D.2.1.5. Parameters and queries D.2.1.6. Fragment identifiers D.2.1.7. Absolute and relative URLs D.2.1.8. URL encoding
D.2.2. HTTP Requests
D.2.2.1. Request methods D.2.2.2. GET versus POST
D.2.3. HTTP Responses
D.2.3.1. Status codes
D.2.4. Caching
E. Modeling and Designing Relational Databases
E.1. The Relational Model
E.1.1. Case Study: Relationships in the Winestore
E.2. Entity-Relationship Modeling
E.2.1. Case Study: Modeling the Online Winestore
E.2.1.1. Identifying entities in ER modeling E.2.1.2. Identifying relationships in ER modeling E.2.1.3. Relationships in the winestore ER model E.2.1.4. Identifying key attributes in ER modeling E.2.1.5. Other ER modeling tools E.2.1.6. Completing the ER model
E.2.2. Converting an Entity-Relationship Model to SQL
E.2.2.1. Step 1: Convert regular entities to tables E.2.2.2. Step 2: Convert weak entities to tables E.2.2.3. Step 3: One-to-one relationships E.2.2.4. Step 4: One-to-many relationships E.2.2.5. Step 5: Many-to-many relationships
F. Managing Sessions in theDatabase Tier
F.1. Using a Database to Keep State F.2. PHP Session Management
F.2.1. PHP Session Management Storage Methods F.2.2. Building User-Defined Storage Handlers
F.3. MySQL Session Store
F.3.1. Session Table Structure F.3.2. Handler Implementations
F.3.2.1. Support functions F.3.2.2. Session open handler F.3.2.3. Session read handler F.3.2.4. Session write handler F.3.2.5. Session close handler F.3.2.6. Session destroy handler F.3.2.7. Garbage collection handler F.3.2.8. Registering session handlers
F.3.3. Using the User-Defined Session Handler Code F.3.4. PEAR's HTTP_Session Package
G. Resources
G.1. Client Tier Resources G.2. Middle-Tier Resources
G.2.1. Web Server and Web Technology Resources G.2.2. Networking and Web Resources G.2.3. PHP resources
G.3. Database Tier Resources G.4. Security and Cryptography Resources
H. The Improved MySQL Library
H.1. New Features H.2. Getting Started
H.2.1. Installing the Library H.2.2. Migrating to the New Library
H.3. Using the New Features
H.3.1. Basic Features H.3.2. Preparing and Executing Queries
H.3.2.1. Inserting data H.3.2.2. Retrieving data
H.3.3. Profiling Queries
Index About the Authors Colophon
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion