Introduction
Welcome
Introduction
Using the exercise files
PHP Overview
What is PHP
The history of PHP
Why choose PHP
Installation overview
Mac Installation
Overview
Working with Apache Web Server
Changing the document root
Installing to Yosemite
Enabling PHP
Upgrading PHP
Configuring PHP
Installing MySQL
Configuring MySQL
Text editor
Windows Installation
Overview (MS-windows)
Installing WampServer
Finding the document root
Configuring PHP (MS-windows)
Configuring MySQL (MS-windows)
Text editor (MS-windows)
First Steps
Embedding PHP code on a page
Outputting dynamic text
The operational trail
Inserting code comments
Exploring Data Types
Variables
Strings
String functions
Numbers part one - Integers
Numbers part two - Floating points
Arrays
Associative arrays
Arrays functions
Booleans
NULL and empty
Type juggling and casting
Constants
Control Structures - Logical Expressions
If statements
Else and elseif statements
Logical operators
Switch statements
Control Structures - Loops
While loops
For loops
Foreach loops
Continue
Break
Understanding array pointers
User-Defined Functions
Defining functions
Function arguments
Returning values from a function
Multiple return values
Scope and global variables
Setting default argument values
Debugging
Common problems
Warnings and errors
Debugging and troubleshooting
Building Web Pages with PHP
Links and URLs
Using GET values
Encoding GET values
Encoding for HTML
Including and requiring files
Modifying headers
Page redirection
Output buffering
Introduction
Introduction
Working with Forms and Form Data
Building forms
Detecting form submissions
Single-page form processing
Validating form values
Problems with validation logic
Displaying validation errors
Custom validation functions
Single-page form with validations
Working with Cookies and Sessions
Working with cookies
Setting cookie values
Reading cookie values
Unsetting cookie values
Working with sessions
MySQL Basics
MySQL introduction
Creating a database
Creating a database table
CRUD in MySQL
Populating a MySQL database
Relational database tables
Populating the relational table
Using PHP to Access MySQL
Database APIs in PHP
Connecting to MySQL with PHP
Retrieving data from MySQL
Working with retrieved data
Creating records with PHP
Updating and deleting records with PHP
SQL injection
Escaping strings for MySQL
Introducing prepared statements
Building a Content Management System (
CMS
)
Blueprinting the application
Building the CMS database
Establishing your work area
Creating and styling the first page
Making page assets reusable
Connecting the application to the database
Using Site Navigation to Choose Content
Adding pages to the navigation subjects
Refactoring the navigation
Selecting pages from the navigation
Highlighting the current page
Moving the navigation to a function
Application CRUD
Finding a subject in the database
Refactoring the page selection
Creating a new subject form
Processing form values and adding subjects
Passing data in the session
Validating form values
Creating an edit subject form
Using single-page submission
Deleting a subject
Cleaning up
Assignment - Pages CRUD
Assignment results - Pages CRUD
Building the Public Area
The public appearance
Using a context for conditional code
Adding a default subject behavior
The public content area
Protecting page visibility
Regulating Page Access
User authentication overview
Admin CRUD
Encrypting passwords
Salting passwords
Adding password encryption to CMS
New PHP password functions
Creating a login system
Checking for authorization
Creating a logout page
Conclusion
Next steps