Index

A note on the digital index

A link in an index entry is displayed as the section title in which that entry appears. Because some sections have multiple index markers, it is not unusual for an entry to have several links to the same section. Clicking on any link will take you directly to the place in the text in which the marker appears.

Symbols

$ (dollar sign)
for naming variables, Variables Vary
in PHP, Writing Your First Program
in regular expressions, Ditching trim and strtoupper
%20 (insert a space), Testing out Your Faulty Solution
%d type specifier, Inserting an Image, then Inserting a User
%s string type specifier, Printing a String to a VariablePrinting a String to a Variable, Printing a String to a Variable
& (ampersand) for separating multiple request parameters, Testing out Your Faulty Solution
( ) parentheses in MySQL commands, Making Tables with CREATE
/ (forward slash) in regular expressions, A Simple String Searcher
(integer) columns, Making Tables with CREATE
--hostname= option for running MySQL, Logging In to Your Web Server’s Database
1Password program, Deal with Newly Invalid Data
32-bit vs. 64-bit system (Mac), MySQL on Mac OS X
<?php for starting PHP code, Create Your Own Variables, Changing Text
<i> tags (HTML), Access Request Parameters Directly
?> for ending PHP code, Write a PHP Script, Changing Text
@ (at operator) in PHP, Is this Really an Uploaded File?Moving the File to a Permanent Location, Moving the File to a Permanent Location
[ ] (square brackets) in PHP, Did the File Upload with Any Errors?
(backslash)
in PHP, Testing out Your Faulty Solution
in regular expressions, Search for One String…Or Another
(line feed character), Searching for Sets of Characters
(carriage return), Searching for Sets of Characters
^ (carat) symbol in regular expressions, Get into Position, Get into Position
__utmz/__utmc HTTP variables, Working with $_REQUEST as an Array
{ } (curly braces)
in PHP, Your Binary Data Isn’t Safe to Insert…Yet
| (pipe symbol) in regular expressions, Search for One String…Or Another
|| (double pipe) OR operator (PHP), Avoid Changing User Input Whenever Possible
“ ” (quotation marks)
in PHP, Changing Text
“empty” user profile, When Things Go Wrong (and They Will)Planning Your Error Pages, Planning Your Error Pages, Planning Your Error Pages

A

absolute paths, defined, redirect is Path-Insensitive
administrative interfaces
deleting users, Deleting a UserStart with a Little Javascript, Surveying the Individual Components, Putting It All Together, Deleting Users Shouldn’t Be Magical, Start with a Little Javascript
deletion, confirming to users, Talking Back To Your Usersredirect Has Some Limitations, redirect Has Some Limitations, redirect Has Some Limitations
functions required of, (User Interface) Brevity is Still the Soul of Wit
iterating over arrays, Iterating Over Your ArrayIterating Over Your Array, Iterating Over Your Array, Iterating Over Your Array
JavaScript alert dialog, JavaScript alert ReduxYour PHP Controls Your Output, JavaScript alert Redux, Your PHP Controls Your Output, Your PHP Controls Your Output
keeping simple, (User Interface) Brevity is Still the Soul of WitWish Lists are Good, Too, Wish Lists are Good, Too
limitations of redirect, redirect Has Some LimitationsJavaScript alert Redux, redirect Has Some Limitations, JavaScript alert Redux
output control with PHP (alert dialog), Your PHP Controls Your OutputStandardizing on Messaging, Your PHP Controls Your Output, Your PHP Controls Your Output, Your PHP Controls Your Output, Standardizing on Messaging, Standardizing on Messaging
SELECTing users, SELECTing What You Need (Now), SELECTing What You Need (Now), SELECTing What You Need (Now)
simple admin page, building, Building a Simple Admin PageIterating Over Your Array, Building a Simple Admin Page, Iterating Over Your Array
utilities/views/messages, integrating, Integrating Utilities, Views, and MessagesStandardize and Consolidate Messaging in the View, Standardize and Consolidate Messaging in the View
wish list features and, Wish Lists are Good, TooListing All Your Users, Wish Lists are Good, Too, Listing All Your Users
Administrators group, Adding a Groups Table
AFTER keyword (MySQL), Updating the users Table
aliasing tables and columns, Connect Your Tables Through Common ColumnsGame Plan Your Script, Game Plan Your Script
ALTER command (SQL), Changing a Table’s Structure with ALTER, Changing a Table’s Structure with ALTER, Creating a New Database Column
Apple’s Software Update, PHP on the Mac
Applications folder (Mac), PHP on the Mac
array keyword, Setting Up Some Helper Variables
associative, Setting Up Some Helper Variables
getting lists to function with, Taking in a List of Groups
holding multiple values with, Arrays Can Hold Multiple ValuesWorking with $_REQUEST as an Array, Working with $_REQUEST as an Array
mysql_fetch_array function, Pulling Values From a SQL Query Result
app_config.php script, Abstracting Important Values into a Separate File, Set Error Reporting Globally, A Few Quick Revisions to app_config.php
array nature of, Arrays Can Hold Multiple ValuesWorking with $_REQUEST as an Array, Working with $_REQUEST as an Array, Working with $_REQUEST as an Array, Working with $_REQUEST as an Array, Working with $_REQUEST as an Array
for directly accessing information from web forms, Access Request Parameters Directly
in sayHelloWeb.php application, Variables Vary
to pull in user values, Access Request Parameters Directly
associative arrays, Setting Up Some Helper Variables
associative nature of PHP arrays, Arrays Can Hold Multiple Values
at (@) operator in PHP, Is this Really an Uploaded File?Moving the File to a Permanent Location, Moving the File to a Permanent Location, Moving the File to a Permanent Location
authentication and authorization
adding to show_users.php script, Basic Authentication is…Pretty BasicGet Your User’s Credentials, Get Your User’s Credentials, Get Your User’s Credentials
authorize.php utility script, Another Utility Script: authorize.phpPasswords Don’t Belong in PHP Scripts, Another Utility Script: authorize.php, Another Utility Script: authorize.php, Passwords Don’t Belong in PHP Scripts
authorize.php, checking group membership with, Allow, Deny, RedirectGroup-Specific Menus, Group-Specific Menus
authorize.php, connecting to users table (authentication), Inserting the User’s Username and PasswordConnect authorize.php to Your users Table, Connect authorize.php to Your users Table
authorize.php, creating new function in, Checking for Group MembershipTaking in a List of Groups, Taking in a List of Groups, Taking in a List of Groups
authorize_user.php script, Group-Specific Menus, Entering Browser Sessions
basic authentication with HTTP headers, Basic Authentication Using HTTP HeadersBasic Authentication is…Pretty Basic, Basic Authentication is…Pretty Basic, Basic Authentication is…Pretty Basic
Cancel button and, Cancel is Not a Valid Means of AuthenticationGet Your User’s Credentials (Really!), Get Your User’s Credentials (Really!), Get Your User’s Credentials (Really!)
encrypting text with crypt function (PHP), Passwords Create Security, But Should Be SecureEncrypt Text with the crypt Function, Encrypt Text with the crypt Function
one-way encryption, crypt is One-Way Encryption
test_salt.php script, Encryption Uses SaltEncryption Uses Salt, Encryption Uses Salt, Encryption Uses Salt, Encryption Uses Salt
updating create_user.html for user names and passwords, You Need to Get an Initial Username and PasswordYou Need to Get an Initial Username and Password, You Need to Get an Initial Username and Password, You Need to Get an Initial Username and Password, You Need to Get an Initial Username and Password, You Need to Get an Initial Username and Password
updating create_user.php for usernames and passwords, Inserting the User’s Username and PasswordInserting the User’s Username and Password, Inserting the User’s Username and Password
updating users table, Updating the users TableDeal with Newly Invalid Data, Updating the users Table, Deal with Newly Invalid Data
user credentials, obtaining, The Worst Authentication Ever, Get Your User’s Credentials, Cancel is Not a Valid Means of Authentication, Get Your User’s Credentials (Really!), Get Your User’s Credentials (Really!)
usernames, checking uniqueness of, Inserting the User’s Username and Password
users table, connecting authorize.php to, Connect authorize.php to Your users TableConnect authorize.php to Your users Table, Connect authorize.php to Your users Table, Connect authorize.php to Your users Table, Connect authorize.php to Your users Table
users table, fixing invalid data in, Deal with Newly Invalid DataYou Need to Get an Initial Username and Password, Deal with Newly Invalid Data, You Need to Get an Initial Username and Password
auto increment (tables), Auto-Increment Is Your FriendIDs and Primary Keys are Good Bedfellows, IDs and Primary Keys are Good Bedfellows, IDs and Primary Keys are Good Bedfellows

B

backing up databases, Databases Are Persistent
BBEdit text editor (Mac), Get Out Your Text EditorGet Out Your Text Editor, Get Out Your Text Editor, Get Out Your Text Editor
bin directory (MySQL), MySQL on Windows
binary data characters, escaping, Your Binary Data Isn’t Safe to Insert…Yet
binary files (images), Images Are Just Files
blob (binary large object) types, Storing Different Objects in Different Tables
bookmarking, alert Is Interruptive
browsers
sending image data to, Send the Image Data
sending Location headers to, Tell the Browser What’s ComingCatching and Handling Errors, Catching and Handling Errors
viewing cookies in, Entering Browser Sessions

C

Cancel button (authentication), Cancel is Not a Valid Means of AuthenticationGet Your User’s Credentials (Really!), Cancel is Not a Valid Means of Authentication, Get Your User’s Credentials (Really!)
catch code (try/catch blocks), Catching and Handling ErrorsCatching and Handling Errors, Catching and Handling Errors, Catching and Handling Errors
chaining methods, Replace Characters in Text with str_replace()
changing text in PHP, Changing TextChanging Text, Changing Text
characters, searching for sets of, Searching for Sets of CharactersRegular Expressions: To Infinity and Beyond, Searching for Sets of Characters, Searching for Sets of Characters, Regular Expressions: To Infinity and Beyond, Regular Expressions: To Infinity and Beyond
code
calling repeated code from view script, Calling Repeated Code from a View ScriptCalling Repeated Code from a View Script, Calling Repeated Code from a View Script, Calling Repeated Code from a View Script
comments in, Redirecting as Needed
cutting and pasting, Putting It All Together
descriptive names in, Create Your Own Variables
DRY, Duplicate Code is a Problem Waiting to Happen
duplicate, Duplicate Code is a Problem Waiting to HappenDuplicate Code is a Problem Waiting to Happen, Duplicate Code is a Problem Waiting to Happen, Duplicate Code is a Problem Waiting to Happen
pseudocode, Get Your User’s Credentials (Really!), Get Your User’s Credentials (Really!), Redirecting as Needed
refactoring, Create Your Own Variables
sequential, Get the Results, Get the Image, and Deal with Potential Errors
working on small pieces of, Variables Vary, But Constants Stay Constant
columns (tables)
blob types of, Storing Different Objects in Different Tables
column types, Storing Different Objects in Different Tables
connecting tables through common, Connect Your Tables Through Common ColumnsAlias Your Tables (and Columns), Connect Your Tables Through Common Columns, Alias Your Tables (and Columns)
creating column to store image locations, Creating a New Database Column
id columns, Good Database Tables Have id Columns
naming foreign key, Connecting Users and Images
NOT NULL, Adding Constraints to Your DatabaseSaving a User’s Information, Saving a User’s Information
old rows and new columns, Changing a Table’s Structure with ALTER
size of, Making Tables with CREATE
combining text in PHP, Combining TextCombining Text, Combining Text
command line
Command Line Client, MySQL, MySQL on Windows
mysql command-line client, Logging In to Your Web Server’s Database
MySQL password and, MySQL on Mac OS X
running sayHello.php from, Running Your First ProgramStart with an HTML Page, Start with an HTML Page
Terminal application and, PHP on the Mac
tool (MySQL), Running Your First SQL Query
command prompt
checking PHP installation from, PHP on the PC
tool (MySQL), MySQL on Mac OS X
commands, Running Your First SQL Query, Making Tables with CREATEMaking Tables with CREATE, Making Tables with CREATE
commenting code, Redirecting as Needed
Common Gateway Interface, Getting a User ID into show_user.php
Compressed TAR Archive options, MySQL on Mac OS X
concatenation, defined, Combining Text
confirm function, Start with a Little Javascript
confirmation boxes, Start with a Little Javascript
connect.php script.
submitting connect.html to, Updating Your Script to Use show_error.phpSimplify and Abstract, Simplify and Abstract
connecting
connect.html form, Connecting to a MySQL Database, Connecting to a MySQL Database, Updating Your Script to Use show_error.php
tables through common columns, Joining Tables with WHEREAlias Your Tables (and Columns), Alias Your Tables (and Columns), Alias Your Tables (and Columns)
to MySQL databases, Writing a Simple PHP Connection ScriptConnecting to a MySQL Database, Connecting to a MySQL Database, Connecting to a MySQL Database, Connecting to a MySQL Database, Connecting to a MySQL Database
constants, using uppercase for (PHP), Variables Vary, But Constants Stay Constant
content-type/content-length headers (PHP), Tell the Browser What’s Coming
context-specific menus, Adding Context-Specific MenusPutting a Menu Into Place, Putting a Menu Into Place
controllers category (MVC), redirect Has Some Limitations
cookies
browser sessions and, Entering Browser SessionsSessions are Server-Side, Entering Browser Sessions, Entering Browser Sessions, Sessions are Server-Side
using to remain logged in after browser closings, So Why Ever Use Cookies?
COUNT(*) function, Testing Out Group Membership
CREATE keyword, creating tables with, Making Tables with CREATEDeleting Tables with DROP, Making Tables with CREATE, Making Tables with CREATE, Deleting Tables with DROP
CREATE statements, Entering Your First Web-Based Query
create_user.html
updating, Updating Your User Signup Form
uploading images and, HTML Forms Can Set the StageHTML Forms Can Set the Stage, HTML Forms Can Set the Stage
create_user.php script
inserting raw images into tables and, Inserting a Raw Image into a TableInserting a Raw Image into a Table, Inserting a Raw Image into a Table
updating, Updating Your User Creation ScriptUpdating Your User Creation Script, Updating Your User Creation Script
uploading images and, Uploading a User’s Image to Your ServerSetting Up Some Helper Variables, Setting Up Some Helper Variables
crypt function (PHP), Encrypt Text with the crypt FunctionEncrypt Text with the crypt Function, Encrypt Text with the crypt Function, Encrypt Text with the crypt Function
CSS (Cascading Style Sheets)
directory (css/), Upload Your HTML, CSS, and PHP
cutting and pasting code, Putting It All Together

D

data structures, arrays as, Arrays Can Hold Multiple Values
databases
adding constraints to, Adding Constraints to Your DatabaseSaving a User’s Information, Saving a User’s Information
column to store image locations, creating, Creating a New Database Column
connecting to (SQL query runner), Connecting to Your Database (Again)Running Your User’s SQL Query (Again), Connecting to Your Database (Again), Running Your User’s SQL Query (Again)
connecting to MySQL databases, Connecting to a MySQL DatabaseConnecting to a MySQL Database, Connecting to a MySQL Database, Connecting to a MySQL Database, Connecting to a MySQL Database
database_connection.php file, Connecting to Your Database (Again)Running Your User’s SQL Query (Again), Running Your User’s SQL Query (Again)
database_connection.php script, Set Error Reporting Globally
for information persistence, MySQL and SQL: Database and LanguageDatabases Are Persistent, Databases Are Persistent, Databases Are Persistent
logging into web server, Logging In to Your Web Server’s DatabaseUSE a Database, Logging In to Your Web Server’s Database, USE a Database
modeling groups in, Modeling Groups in Your Database
mysql, Running Your First SQL Query
OODBMS and RDBMS models, Installing MySQL
relational, (Good) Databases Are Relational
SELECTing users from, SELECT a User From Your DatabasePulling Values From a SQL Query Result, SELECT a User From Your Database, SELECT a User From Your Database, Pulling Values From a SQL Query Result, Pulling Values From a SQL Query Result
storing image locations in, Storing the Image Location in the DatabaseChecking Your Work, Inserting the Image Path into Your Table, Checking Your Work
structure and, Databases Are All About Structure(Good) Databases Are Relational, (Good) Databases Are Relational
tables, planning, Planning Your Database TablesGood Database Tables Have id Columns, Good Database Tables Have id Columns, Good Database Tables Have id Columns
debug mode
setting in app_config.php, Updating Your Script to Use show_error.php
setting up, Turn Off Error Reporting When You Go to Production
debug_print function, creating (error pages), Now You See Me, Now You Don’tUpdating Your Script to Use show_error.php, Now You See Me, Now You Don’t, Updating Your Script to Use show_error.php
define function (PHP), Variables Vary, But Constants Stay ConstantVariables Vary, But Constants Stay Constant, Variables Vary, But Constants Stay Constant, Variables Vary, But Constants Stay Constant
deleting
cookies, Putting a Menu Into Place
DELETE command, defined (SQL), Handling Queries That Don’t SELECT Information
delete_user.php script, Putting It All TogetherPutting It All Together, Putting It All Together, Putting It All Together
users, Deleting a UserJust Pass that Information Along, Surveying the Individual Components, Putting It All Together, Start with a Little Javascript, Talking Back To Your Users, redirect Has Some Limitations, Your PHP Controls Your Output, Your PHP Controls Your Output, Your PHP Controls Your Output, Duplicate Code is a Problem Waiting to Happen, Standardize and Consolidate Messaging in the View, Standardize and Consolidate Messaging in the View, Just Pass that Information Along, Just Pass that Information Along
DESCRIBE command (MySQL), Making Tables with CREATE
Desktop Search, Google, Databases Are All About Structure
die function, Connecting to a MySQL Database, Connecting to a MySQL Database
die method, Inserting a User
directory structure, Upload Your HTML, CSS, and PHP
displaying images, Displaying an ImageCatching and Handling Errors, Game Plan Your Script, Tell the Browser What’s Coming, Catching and Handling Errors, Catching and Handling Errors
display_error.php script, Turn on PHP Error Reporting
display_head function, Updating Your Script(S) to Use Display_HeadStandardize and Consolidate Messaging in the View, Standardize and Consolidate Messaging in the View, Standardize and Consolidate Messaging in the View
display_header function, Flexible Functions are Better Functions
display_messages function, Calling Repeated Code from a View Script
display_success_message function, Building a New Utility Function for Display
display_title function, Flexible Functions are Better Functions, Putting a Menu Into Place
display_title in view.php script, Standardize and Consolidate Messaging in the View
DMG links (MySQL), MySQL on Mac OS XMySQL on Mac OS X, MySQL on Mac OS X
document roots (web servers), Converting File System Paths to URLs
DOCUMENT_ROOT key, Converting File System Paths to URLs
downloading
MySQL for Windows, MySQL on WindowsMySQL on Windows, MySQL on Windows, MySQL on Windows, MySQL on Windows
PHP, Gathering Your ToolsPHP on the PC, PHP on the PC, PHP on the PC, PHP on the PC
DROP command to delete tables, Deleting Tables with DROP
DROP TABLE users, Adding Constraints to Your Database
DropBox, MySQL on Mac OS X
DRY code, Duplicate Code is a Problem Waiting to Happen
create_user.html form, Revisiting a User’s InformationPlanning Your Database Tables, Revisiting a User’s Information, Planning Your Database Tables, Planning Your Database Tables
database tables, planning, Planning Your Database TablesGood Database Tables Have id Columns, Planning Your Database Tables, Good Database Tables Have id Columns
duplicate code, Duplicate Code is a Problem Waiting to HappenDuplicate Code is a Problem Waiting to Happen, Duplicate Code is a Problem Waiting to Happen, Duplicate Code is a Problem Waiting to Happen
id columns in database tables, Good Database Tables Have id Columns
table terminology, Planning Your Database Tables

E

echo command, Create Your Own VariablesCreate Your Own Variables, Create Your Own Variables, Create Your Own Variables
Eclipse PHP, Get Out Your Text Editor
Eloquent JavaScript (No Starch Press), Handling Errors By Seeing If Your Results are Not
Eloquent Ruby (Addison Wesley), Handling Errors By Seeing If Your Results are Not
email addresses as usernames, Deal with Newly Invalid Data
embedding (viewing) images, Embedding an Image Is Just Viewing an ImageA Script Can Be an Image src, A Script Can Be an Image src
empty function (PHP), Taking in a List of Groups
encryption
of text with crypt function (PHP), Encrypt Text with the crypt FunctionEncrypt Text with the crypt Function, Encrypt Text with the crypt Function
one-way, crypt is One-Way Encryption
using salt for, Encryption Uses Salt, Encryption Uses Salt, Encryption Uses Salt
enctype attribute (HTML form tag), Updating Your User Signup Form, HTML Forms Can Set the Stage
entries, defined (tables), Planning Your Database Tables
error handling, user login and, Errors Aren’t Always InterruptiveAdding Context-Specific Menus, Errors Aren’t Always Interruptive, Errors Aren’t Always Interruptive, Errors Aren’t Always Interruptive, An Option for Repeat Attempts, An Option for Repeat Attempts, Adding Context-Specific Menus
error messages, Standardizing on MessagingBuilding a New Utility Function for Display, Building a New Utility Function for Display, Building a New Utility Function for Display
error pages
connect.php script, simplifying, Simplify and Abstractredirect is Path-Insensitive, Simplify and Abstract, redirect is Path-Insensitive
determining user content of, What Should Users See?Use the Appropriate Tone for Your Error Message, Tell Your Users that a Problem has Occurred, Use the Appropriate Tone for Your Error Message, Use the Appropriate Tone for Your Error Message
handling omitted error_message request parameter, Expect the Unexpected, Expect the Unexpected, Welcome to Security and Phishing
minimizing programming on, Know When to Say When
over-promised responses to errors, Know When to Say When
path-insensitivity of redirect, redirect is Path-Insensitiveredirect is Path-Insensitive, redirect is Path-Insensitive
paths, relative and absolute, redirect is Path-Insensitive
PHP error page example, Finding a Middle Ground for Error Pages with PHPTesting out Your Faulty Solution, Creating a PHP Error Page, Creating a PHP Error Page, Testing out Your Faulty Solution
PHP error reporting, setting globally, Turn on PHP Error ReportingSet Error Reporting Globally, Set Error Reporting Globally, Set Error Reporting Globally
PHP error reporting, turning off, Turn Off Error Reporting When You Go to ProductionMoving from require to require_once, Turn Off Error Reporting When You Go to Production, Moving from require to require_once
PHP error reporting, turning on, Turn on PHP Error ReportingSet Error Reporting Globally, Turn on PHP Error Reporting, Turn on PHP Error Reporting, Set Error Reporting Globally
planning overview, Planning Your Error Pages
redirecting on error, Updating Your Script to Use show_error.phpSimplify and Abstract, Updating Your Script to Use show_error.php, Simplify and Abstract, Simplify and Abstract, Simplify and Abstract
replacing require with require_once in scripts, Moving from require to require_onceNow You See Me, Now You Don’t, Moving from require to require_once, Now You See Me, Now You Don’t
request parameters, dangers of, The Dangers of Request Parameters
security and phishing, Welcome to Security and PhishingTurn on PHP Error Reporting, Phishing and Subtle Redirection, The Dangers of Request Parameters, Turn on PHP Error Reporting
show_error.html, creating, Planning Your Error Pages
show_error.php in scripts/directory, Expect the Unexpected
show_error.php, updating script to use, Updating Your Script to Use show_error.php
testing PHP error page in browser, Testing out Your Faulty SolutionExpect the Unexpected, Testing out Your Faulty Solution, Expect the Unexpected
tone of error messages, Use the Appropriate Tone for Your Error MessageUse the Appropriate Tone for Your Error Message, Use the Appropriate Tone for Your Error Message
errors
handling by seeing if results are false, Handling Errors By Seeing If Your Results are NotPrinting Out Your SQL Results, Handling Errors By Seeing If Your Results are Not, Printing Out Your SQL Results
in sending images, catching/handling, Catching and Handling Errors
examples directory, Upload Your HTML, CSS, and PHP
exc variable, Catching and Handling Errors
Exception objects (errors), Catching and Handling ErrorsCatching and Handling Errors, Catching and Handling Errors
exit() statement, redirect Has Some Limitations
export keyword (Mac), MySQL on Mac OS X
expressions, Search for One String…Or Another, Get into Position, Get into Position
E_ALL constant (PHP error reporting), Turn on PHP Error Reporting

H

hand-typed values, replacing with variables (connect.php script), Replacing Hand-Typed Values with VariablesAbstracting Important Values into a Separate File, Replacing Hand-Typed Values with Variables, Abstracting Important Values into a Separate File
handle_error custom function, Simplify and Abstract, redirect is Path-Insensitive, redirect is Path-Insensitive, Did the File Upload with Any Errors?, Did the File Upload with Any Errors?, Is this Really an Uploaded File?, Catching and Handling Errors, Catching and Handling Errors
header function (PHP), Updating Your User Creation Script, Tell the Browser What’s Coming
heredoc, outputting standard header with, Outputting a Standard Header with HeredocUpdating Your Script(S) to Use Display_Head, Outputting a Standard Header with Heredoc, Outputting a Standard Header with Heredoc, Updating Your Script(S) to Use Display_Head
HTML (Hypertext Markup Language)
files, converting to PHP, Any HTML File Can Be Converted to PHPChallenge: Be Self-Referential with User Creation, Any HTML File Can Be Converted to PHP, Any HTML File Can Be Converted to PHP, Challenge: Be Self-Referential with User Creation, Challenge: Be Self-Referential with User Creation
forms for uploading images, HTML Forms Can Set the StageUploading a User’s Image to Your Server, HTML Forms Can Set the Stage, Uploading a User’s Image to Your Server
page, creating (sample program), Writing Your Second ProgramWrite a PHP Script, Start with an HTML Page, Write a PHP Script
queryRunner.html page, Connecting to Your Database (Again)
queryRunner.html, creating, Creating an HTML Form with a Big Empty BoxConnecting to Your Database (Again), Connecting to Your Database (Again)
user profile page, Mocking Up a User Profile PageMocking Up a User Profile Page, Mocking Up a User Profile Page, Mocking Up a User Profile Page
.htpasswd files, Basic Authentication is…Pretty Basic
HTTP (Hypertext Transfer Protocol)
HTTP authentication, Basic Authentication Using HTTP Headers, Basic Authentication is…Pretty Basic, Going Beyond Basic Authentication, From HTTP Authentication to Cookies, From HTTP Authentication to Cookies
HTTP variables, Working with $_REQUEST as an Array

I

IDs
getting correct ID before redirecting, Getting the Correct ID Before Redirecting
getting IDs to load images, Game Plan Your Script
id columns (tables), Planning Your Database Tables
image IDs, Storing Different Objects in Different Tables
image_id foreign key columns, Connecting Users and Images
primary keys and, IDs and Primary Keys are Good BedfellowsAdding Constraints to Your Database, IDs and Primary Keys are Good Bedfellows, Adding Constraints to Your Database
if statements, Searching Within Text, Handling Queries That Don’t SELECT Information
IIS FastCGI option, PHP on the PC
images
app_config.php script, revisions to, A Few Quick Revisions to app_config.php
binary files and, Images Are Just Files
connecting users and images tables, Connecting Users and ImagesJoining Tables with WHERE, Connecting Users and Images, Inserting an Image, then Inserting a User, Inserting an Image, then Inserting a User, Inserting an Image, then Inserting a User, Inserting an Image, then Inserting a User, Joining Tables with WHERE
converting file system paths to URLs, Converting File System Paths to URLsDisplaying Your User’s Image: Take Two, Displaying Your User’s Image: Take Two
displaying, Displaying an ImageCatching and Handling Errors, Catching and Handling Errors
displaying user’s images, Displaying Your User’s Image: Take TwoA Few Quick Revisions to app_config.php, A Few Quick Revisions to app_config.php
errors in sending, catching/handling, Send the Image DataTest, Test, Always Test, Catching and Handling Errors, Test, Test, Always Test, Test, Test, Always Test
getting correct ID before redirecting, Getting the Correct ID Before Redirecting
HTML forms for uploading, Images Are Just FilesUploading a User’s Image to Your Server, HTML Forms Can Set the Stage, HTML Forms Can Set the Stage, Uploading a User’s Image to Your Server, Uploading a User’s Image to Your Server
image data, sending to browser, Catching and Handling Errors
image ID, Storing Different Objects in Different Tables
image uploading, tutorials for, A Script Can Be an Image src
img element (HTML), SELECT the Image and Display It
img tags (HTML), A Script Can Be an Image src
INSERT query,building, INSERT the Image
inserting into images table before users table, Inserting an Image, then Inserting a UserInserting an Image, then Inserting a User, Inserting an Image, then Inserting a User, Inserting an Image, then Inserting a User, Inserting an Image, then Inserting a User, Inserting an Image, then Inserting a User, Inserting an Image, then Inserting a User
limiting size of, HTML Forms Can Set the Stage
SELECT and display, Images Are For ViewingConverting File System Paths to URLs, Converting File System Paths to URLs
testing inserted images, Catching and Handling ErrorsA Script Can Be an Image src, All You Need is an Image ID, A Script Can Be an Image src, A Script Can Be an Image src
user profiles and, Images Are Just FilesHTML Forms Can Set the Stage, Images Are Just Files, Images Are Just Files, HTML Forms Can Set the Stage
include command (PHP), Abstracting Important Values into a Separate File
indexes, defined (databases), IDs and Primary Keys are Good Bedfellows
InnoDB table engine (MySQL), Connecting Users and Images
input elements, HTML Forms Can Set the Stage
INSERT command for inserting rows, INSERT a Few Rows
INSERT statement for user’s information, Building Your SQL Query
installing
MySQL on Mac, MySQL on Mac OS XMySQL on Mac OS X, MySQL on Mac OS X, MySQL on Mac OS X, MySQL on Mac OS X, MySQL on Mac OS X, MySQL on Mac OS X, MySQL on Mac OS X
MySQL on Windows, MySQL on WindowsMySQL on Windows, MySQL on Windows, MySQL on Windows, MySQL on Windows, MySQL on Windows, MySQL on Windows
MySQL, overview of, Installing MySQL
PHP, Gathering Your ToolsPHP on the PC, PHP on the PC, PHP on the PC, PHP on the PC, PHP on the PC, PHP on the PC
SQL on local computer, SQL Is a Language for Talking to Databases
isset command, Expect the Unexpected, Turn Off Error Reporting When You Go to Production
is_uploaded_file function, Is this Really an Uploaded File?Is the Uploaded File Really an Image?, Is the Uploaded File Really an Image?
iterating over groups, Iterating Over Each GroupAllow, Deny, Redirect, Iterating Over Each Group, Allow, Deny, Redirect, Allow, Deny, Redirect

K

kattare.com for hosting, SQL Is a Language for Talking to Databases
keyboard shortcut for opening Application folder (Mac), PHP on the Mac

L

label element (HTML), Access Request Parameters Directly
line feed character ( ), Searching for Sets of Characters
link element, updating (head section), Building Your Script: First Pass
Local Services section (Admin Services control panel), Running Your First SQL Query
localhost database host name, Connecting to a MySQL Database
Location headers, Tell the Browser What’s Coming, Send the Image Data, redirect Has Some Limitations
logging in
landing page, creating, Starting with a Landing Page
to web server database, Logging In to Your Web Server’s DatabaseUSE a Database, Logging In to Your Web Server’s Database, USE a Database
user signin forms, Starting with a Landing PageFrom HTTP Authentication to Cookies, Taking Control of User Sign-ins, Taking Control of User Sign-ins, Taking Control of User Sign-ins, From HTTP Authentication to Cookies
logging in with cookies
blank pages and expiring cookies, Blank Pages and Expiring CookiesErrors Aren’t Always Interruptive, Blank Pages and Expiring Cookies, Blank Pages and Expiring Cookies, Errors Aren’t Always Interruptive
context-specific menus and, Adding Context-Specific MenusAny HTML File Can Be Converted to PHP, Any HTML File Can Be Converted to PHP
displaying HTML form for non-logged in user, Displaying the pageDisplaying the page, Displaying the page, Displaying the page
logging users in, Logging the User InLogging the User In, Logging the User In, Logging the User In
logging users out, Log Users OutRequire the Cookie to Be Set, Log Users Out, Require the Cookie to Be Set, Require the Cookie to Be Set
non-interruptive errors and, Errors Aren’t Always InterruptiveAdding Context-Specific Menus, An Option for Repeat Attempts, Adding Context-Specific Menus
redirecting user if logged in, Redirecting as NeededLogging the User In, Logging the User In, Logging the User In, Logging the User In
reloading username on login failure, An Option for Repeat AttemptsAdding Context-Specific Menus, An Option for Repeat Attempts, Adding Context-Specific Menus
requiring cookies to be set, Require the Cookie to Be Set
signin.php script, creating, Logging In with CookiesIs the User Trying to Sign In?, Logging In with Cookies, Is the User Trying to Sign In?, Is the User Trying to Sign In?
testing if user already signed in, Logging In with Cookies
testing if user trying to sign in, Is the User Trying to Sign In?Displaying the page, Is the User Trying to Sign In?, Displaying the page
login requests, multiple, Abstracting What’s the Same
longblob columns, Storing Different Objects in Different Tables
loops, foreach, Working with $_REQUEST as an ArrayWorking with $_REQUEST as an Array, Working with $_REQUEST as an Array, Working with $_REQUEST as an Array
ltrim() function, Remove Extra White Space with trim()

M

Mac computers
installing MySQL on, MySQL on Mac OS XMySQL on Mac OS X, MySQL on Mac OS X, MySQL on Mac OS X, MySQL on Mac OS X, MySQL on Mac OS X, MySQL on Mac OS X, MySQL on Mac OS X
text editors for, Get Out Your Text Editor
Manage Users link, Group-Specific Menus
many-to-many relationships, One-to-One, One-to-Many, Many-to-ManyUsing a Join Table to Connect Users with Groups, Joins are Best Done with IDs, Using a Join Table to Connect Users with Groups
MAX_FILE_SIZE input element, HTML Forms Can Set the Stage
McFarland, David, When Things Go Wrong (and They Will), Start with a Little Javascript
mediumblob columns, Storing Different Objects in Different Tables
menus
group-specific menus, Group-Specific MenusEntering Browser Sessions, Entering Browser Sessions
messaging
standardizing, Standardizing on MessagingView and Display Code Belongs Together, View and Display Code Belongs Together
standardizing and consolidating in view, Standardize and Consolidate Messaging in the ViewStandardize and Consolidate Messaging in the View, Standardize and Consolidate Messaging in the View, Standardize and Consolidate Messaging in the View
method chaining, Replace Characters in Text with str_replace()
MIME types, Storing Different Objects in Different Tables
mktime, Blank Pages and Expiring Cookies
model category (MVC), redirect Has Some Limitations
MSI installer (MySQL), MySQL on WindowsMySQL on Windows, MySQL on Windows, MySQL on Windows
multipart/form-data value (encrypt attribute), Updating Your User Signup Form
MVC (Model-View-Controller) pattern, redirect Has Some Limitations, Taking Control of User Sign-ins
MySQL
Command Line Client, MySQL on Windows
command prompt tool, MySQL on Mac OS X
Community Server, MySQL on Windows
fixing typos in, Making Tables with CREATE
inserting rows with INSERT command, INSERT a Few Rows
logging into web server database, USE a Database
mysql -hostname=localhost, Logging In to Your Web Server’s Database
mysql command-line client, Logging In to Your Web Server’s Database
mysql database, Running Your First SQL Query
MySQL.prefPane file, MySQL on Mac OS XMySQL on Mac OS X, MySQL on Mac OS X
mysql_connect command, Connecting to a MySQL DatabaseConnecting to a MySQL Database, Connecting to a MySQL Database
mysql_error command, Connecting to a MySQL Database
mysql_fetch_row function, Printing Out Your SQL ResultsPrinting Out Your SQL Results, Printing Out Your SQL Results
MYSQL_HOME variable, MySQL on Mac OS X
mysql_insert_id, Getting the Correct ID Before Redirecting
mysql_insert_id function, Updating Your User Creation Script
mysql_query function, SHOW Your Database’s Tables, Running Your User’s SQL Query (Again)
mysql_real_escape_string function, Your Binary Data Isn’t Safe to Insert…Yet, Iterating Over Each Group
mysql_select_db function, Selecting the Database to USESelecting the Database to USE, Selecting the Database to USE
running first SQL query, Running Your First SQL QueryLogging In to Your Web Server’s Database, Running Your First SQL Query, Running Your First SQL Query, SQL Is a Language for Talking to Databases, Logging In to Your Web Server’s Database, Logging In to Your Web Server’s Database
SELECT command, using, SELECT for the Grand FinaleSELECT for the Grand Finale, SELECT for the Grand Finale, SELECT for the Grand Finale
using with databases, USE a DatabaseMaking Tables with CREATE, USE a Database, Making Tables with CREATE

N

names, descriptive (code), Create Your Own Variables
naming
files by function, Inserting a User
foreign key columns, Connecting Users and Images
uploaded image files, Moving the File to a Permanent Location
Non Thread Safe version (PHP), PHP on the PC
NOT NULL columns, Adding Constraints to Your DatabaseSaving a User’s Information, Saving a User’s Information
Notepad text editor (Windows), Get Out Your Text Editor, Get Out Your Text Editor
NULL keyword, Use Default Argument Values in Display_Messages
NuSphere PhpED text editor (Windows), Get Out Your Text Editor

P

page_start function, Errors Aren’t Always Interruptive
parameters, Getting a User ID into show_user.php
passwords and usernames
avoiding passwords in PHP scripts, Passwords Don’t Belong in PHP Scripts
for MySQL access, Logging In to Your Web Server’s Database
password validator, jQuery, Inserting the User’s Username and Password
paths, file system
converting file system paths to URLs, Converting File System Paths to URLsDisplaying Your User’s Image: Take Two, Displaying Your User’s Image: Take Two
PATH variable, updating for MySQL programs, MySQL on Mac OS X
PCs (personal computers), installing PHP on, PHP on the PCPHP on the PC, PHP on the PC
persisting information (databases), Databases Are Persistent
phishing
subtle redirection and, Phishing and Subtle RedirectionTurn on PHP Error Reporting, The Dangers of Request Parameters, Turn on PHP Error Reporting
PHP (PHP Hypertext Preprocessor)
.php file extension, Get Out Your Text Editor, Building Your Script: First Pass
.php file extension, saving as, Writing Your First Program
converting HTML files to, Any HTML File Can Be Converted to PHPChallenge: Be Self-Referential with User Creation, Any HTML File Can Be Converted to PHP, Any HTML File Can Be Converted to PHP, Challenge: Be Self-Referential with User Creation
directory (scripts/), Upload Your HTML, CSS, and PHP
downloading/installing on PCs, PHP on the PCPHP on the PC, PHP on the PC
error page, creating, Creating a PHP Error PageTesting out Your Faulty Solution, Creating a PHP Error Page, Testing out Your Faulty Solution
MVC patterns in, Taking Control of User Sign-ins
PHP manual, The $_REQUEST Variable
phpMM.css file, Running Your Second Program
phpMM/scripts/ directory, Creating a PHP Error Page
phpMyAdmin console, IDs and Primary Keys are Good Bedfellows
self-referencing scripts, Taking Control of User Sign-ins
PHP connection scripts
making app_config.php values constants, Abstracting Important Values into a Separate FileBuilding a Basic SQL Query Runner, Variables Vary, But Constants Stay Constant, Building a Basic SQL Query Runner
problems with connect.php script, Cleaning Up Your Code with Multiple FilesReplacing Hand-Typed Values with Variables, Cleaning Up Your Code with Multiple Files, Replacing Hand-Typed Values with Variables
replacing hand-typed values with variables, Replacing Hand-Typed Values with VariablesAbstracting Important Values into a Separate File, Abstracting Important Values into a Separate File
selecting database to use, Selecting the Database to USESelecting the Database to USE, Selecting the Database to USE, Selecting the Database to USE
PHP sample program (sayHello.php)
HTML page, creating, Start with an HTML PageWrite a PHP Script, Write a PHP Script, Write a PHP Script
running from command line, Writing Your First ProgramStart with an HTML Page, Running Your First Program, Start with an HTML Page
running sayHelloWeb.php, Running Your Second Program, Running Your Second Program
writing, Get Out Your Text EditorWriting Your First Program, Writing Your First Program
writing PHP script (sayHelloWeb.php), Write a PHP ScriptWrite a PHP Script, Write a PHP Script, Write a PHP Script
pipe symbol (|) in regular expressions, Search for One String…Or Another
plain text
documents, Writing Your First Program
POST requests, Is the User Trying to Sign In?Displaying the page, Is the User Trying to Sign In?, Displaying the page
Preferences Pane (MySQL on Mac), MySQL on Mac OS X
preg_match function, A Simple String Searcher, Updating Your User Creation Script, Rounding Things Out with Regular Expressions (Again)
primary keys (databases)
IDs and, IDs and Primary Keys are Good BedfellowsAdding Constraints to Your Database, Adding Constraints to Your Database
user_id as, SELECT a User From Your Database
printing
SQL results, Printing Out Your SQL ResultsPrinting Out Your SQL Results, Printing Out Your SQL Results, Printing Out Your SQL Results, Printing Out Your SQL Results
strings to variables, Printing a String to a Variable, Printing a String to a Variable
processes and threads, PHP on the PC
profile page, user, Show Me the UserChanging a Table’s Structure with ALTER, Mocking Up a User Profile Page, Mocking Up a User Profile Page, Mocking Up a User Profile Page, Changing a Table’s Structure with ALTER
profile_pic_id column, Connecting Users and Images
pseudocode, Get Your User’s Credentials (Really!), Get Your User’s Credentials (Really!), Redirecting as Needed

R

RDBMS ( relational database management system) model, Installing MySQL
records, defined (tables), Planning Your Database Tables
redirection, limitations of (PHP), redirect Has Some LimitationsJavaScript alert Redux, JavaScript alert Redux
refactoring code, Create Your Own Variables
regular expressions
improved version of run_query.php, Searching for Sets of Characters
JavaScript and, An All-Javascript Approach
positioning with ^ (carat) symbol, Search for One String…Or AnotherDitching trim and strtoupper, Ditching trim and strtoupper
run_query.php script example, Search for One String…Or AnotherGet into Position, Get into Position
searching for one string or another, Search for One String…Or AnotherSearch for One String…Or Another, Search for One String…Or Another, Search for One String…Or Another
searching for sets of characters, Searching for Sets of CharactersRegular Expressions: To Infinity and Beyond, Searching for Sets of Characters, Regular Expressions: To Infinity and Beyond
trim and strtoupper functions, Ditching trim and strtoupperDitching trim and strtoupper, Ditching trim and strtoupper, Ditching trim and strtoupper
updating show_user.php with preg_match, Updating Your User Creation ScriptRounding Things Out with Regular Expressions (Again), Rounding Things Out with Regular Expressions (Again), Rounding Things Out with Regular Expressions (Again)
relational databases, (Good) Databases Are Relational
relative paths, defined, redirect is Path-Insensitive
replacing/trimming text in PHP, Trimming and Replacing TextReplace Characters in Text with str_replace(), Replace Characters in Text with str_replace(), Replace Characters in Text with str_replace()
replication of databases, Databases Are Persistent
request parameters
dangers of, The Dangers of Request Parameters
for PHP error page, Creating a PHP Error PageExpect the Unexpected, Testing out Your Faulty Solution, Expect the Unexpected
require command (PHP), Abstracting Important Values into a Separate File
require_once in PHP scripts, Moving from require to require_once, Images Are For Viewing
return command (PHP), Converting File System Paths to URLsDisplaying Your User’s Image: Take Two, Displaying Your User’s Image: Take Two
rich text documents, Writing Your First Program
root (home) directory (/), Upload Your HTML, CSS, and PHP
rtrim() function, Remove Extra White Space with trim()
Ruby on Rails, Converting File System Paths to URLs
run_query.php, Connecting to Your Database (Again)Connecting to Your Database (Again), Connecting to Your Database (Again)

S

saving user’s information
confirming user form completion, Inserting a UserUsers Are Users, Not Programmers, A First Pass at Confirmation, Users Are Users, Not Programmers, Users Are Users, Not Programmers
create_user.php script, Saving a User’s Information
inserting user, Inserting a UserInserting a User, Inserting a User, Inserting a User, Inserting a User
SQL query, building, Building Your SQL QueryInserting a User, Building Your SQL Query, Inserting a User, Inserting a User
sayHello.php application, Writing Your First ProgramStart with an HTML Page, Start with an HTML Page
sayHelloWeb.php application, Start with an HTML PageWrite a PHP Script, Write a PHP Script, Write a PHP Script
scripts
as image src tags, All You Need is an Image IDA Script Can Be an Image src, A Script Can Be an Image src, A Script Can Be an Image src, A Script Can Be an Image src, A Script Can Be an Image src
searching
within PHP text, Searching Within TextChanging Text, Searching Within Text, Searching Within Text, Changing Text, Changing Text
security, adding to app_config.php, Variables Vary, But Constants Stay Constant
SELECT
and display images, SELECT the Image and Display ItConverting File System Paths to URLs, SELECT the Image and Display It, Converting File System Paths to URLs
command (MySQL), Running Your First SQL Query, SELECT for the Grand Finale
query, building/running (images), Build and Run a Select QueryGet the Results, Get the Image, and Deal with Potential Errors, Build and Run a Select Query, Get the Results, Get the Image, and Deal with Potential Errors
users from databases, SELECT a User From Your DatabasePulling Values From a SQL Query Result, SELECT a User From Your Database, SELECT a User From Your Database, Pulling Values From a SQL Query Result, Pulling Values From a SQL Query Result
self-referencing PHP scripts, Taking Control of User Sign-ins
semantic information in HTML, Access Request Parameters Directly
sequential code, Get the Results, Get the Image, and Deal with Potential Errors
sessions, browser
calling session_start, Sessions Must Be StartedFrom $_COOKIE to $_SESSION, From $_COOKIE to $_SESSION, From $_COOKIE to $_SESSION
cookies and, Entering Browser SessionsSessions are Server-Side, Entering Browser Sessions, Entering Browser Sessions, Sessions are Server-Side
login menu, creating, Menu, Anyone?And Then Sign Out…, Menu, Anyone?, And Then Sign Out…
phishing, protecting against, Memory Lane: Remember that Phishing Problem?, Memory Lane: Remember that Phishing Problem?, Memory Lane: Remember that Phishing Problem?
server-side advantage over cookies, Sessions are Server-SideFrom $_COOKIE to $_SESSION, Sessions are Server-Side, From $_COOKIE to $_SESSION
session_start function, Sessions Must be Restarted, Too
when cookies are required, So Why Ever Use Cookies?
setcookie command, Create and Retrieve Cookies
SHOW command (MySQL), Running Your First SQL Query, Making Tables with CREATE
SHOW TABLES command, SHOW Your Database’s TablesPrinting Out Your SQL Results, Handling Errors By Seeing If Your Results are Not, Printing Out Your SQL Results, Printing Out Your SQL Results, Printing Out Your SQL Results, Printing Out Your SQL Results, Cleaning Up Your Code with Multiple Files
show_error.htm page, creating, Planning Your Error PagesWhat Should Users See?, Planning Your Error Pages, What Should Users See?
show_error.php script, Turn Off Error Reporting When You Go to ProductionTurn Off Error Reporting When You Go to Production, Turn Off Error Reporting When You Go to Production
show_image.php script, Displaying an Image
show_user.php script
directing users to, Updating Your User Creation Script
displaying users, SELECT a User From Your DatabasePulling Values From a SQL Query Result, SELECT a User From Your Database, Pulling Values From a SQL Query Result
getting user ID into, Pulling Values From a SQL Query ResultRedirection and Revisitation of Creating Users, Getting a User ID into show_user.php, Getting a User ID into show_user.php, Redirection and Revisitation of Creating Users
show_users.php script, Building a Simple Admin Page, Your PHP Controls Your Output
signins, user
signing out, Putting a Menu Into Place
taking control of, Taking Control of User Sign-ins, From HTTP Authentication to Cookies
SITE_ROOT constant, Setting Up Some Helper Variables
socialEntryForm.html file (example), Access Request Parameters Directly
Spotlight (Mac OS X), Databases Are All About Structure
sprintf function (PHP), Printing a String to a Variable, Iterating Over Your Array, Iterating Over Your Array
SQL (Structured Query Language)
query results, pulling values from, SELECT a User From Your DatabaseGetting a User ID into show_user.php, Pulling Values From a SQL Query Result, Pulling Values From a SQL Query Result, Getting a User ID into show_user.php, Getting a User ID into show_user.php
query, building (user information), Building Your SQL QueryInserting a User, Building Your SQL Query, Inserting a User, Inserting a User
reasons for installing locally, SQL Is a Language for Talking to Databases
results, printing out, Printing Out Your SQL ResultsPrinting Out Your SQL Results, Printing Out Your SQL Results, Printing Out Your SQL Results, Cleaning Up Your Code with Multiple Files
running first query (MySQL), Running Your First SQL QueryLogging In to Your Web Server’s Database, SQL Is a Language for Talking to Databases, Logging In to Your Web Server’s Database, Logging In to Your Web Server’s Database
SQL query runner, building
changing user input, avoiding, Avoid Changing User Input Whenever PossibleAvoid Changing User Input Whenever Possible, Avoid Changing User Input Whenever Possible, Avoid Changing User Input Whenever Possible
connecting to database, Connecting to Your Database (Again)Running Your User’s SQL Query (Again), Running Your User’s SQL Query (Again), Running Your User’s SQL Query (Again)
entering first web-based query, Entering Your First Web-Based QueryHandling Queries That Don’t SELECT Information, Entering Your First Web-Based Query, Entering Your First Web-Based Query, Entering Your First Web-Based Query, Handling Queries That Don’t SELECT Information
handling queries that don’t select information, Handling Queries That Don’t SELECT InformationDealing with Humans, Dealing with Humans
HTML form with empty box, creating, Creating an HTML Form with a Big Empty BoxConnecting to Your Database (Again), Connecting to Your Database (Again), Connecting to Your Database (Again)
human error factor in coding, Dealing with HumansAvoid Changing User Input Whenever Possible, Dealing with Humans, Avoid Changing User Input Whenever Possible
position and whitespace trimming issues, Avoid Changing User Input Whenever Possible
running user’s SQL query, Running Your User’s SQL Query (Again)Entering Your First Web-Based Query, Running Your User’s SQL Query (Again), Entering Your First Web-Based Query
square brackets ([ ]) in PHP, Did the File Upload with Any Errors?
src attribute, Images Are Just Files
src tags (HTML), A Script Can Be an Image src
SSH, Logging In to Your Web Server’s Database
Stable Releases heading (PHP Home page), PHP on the PC
storing different objects in different tables, Storing Different Objects in Different TablesStoring Different Objects in Different Tables, Storing Different Objects in Different Tables, Storing Different Objects in Different Tables
storing in scripts/ sub-directory, Getting a User ID into show_user.php
strings
printing to variables, Printing a String to a VariableGetting the Correct ID Before Redirecting, Getting the Correct ID Before Redirecting
strpos() function, Searching Within Text
str_replace function, Converting File System Paths to URLs
str_replace() function, Replace Characters in Text with str_replace()Replace Characters in Text with str_replace(), Replace Characters in Text with str_replace(), Replace Characters in Text with str_replace()
substr() function, Changing Text
success messages
HTML for, Standardizing on MessagingBuilding a New Utility Function for Display, Building a New Utility Function for Display, Building a New Utility Function for Display
success_message parameter, An All-Javascript ApproachYour PHP Controls Your Output, Your PHP Controls Your Output
syntax, PHP, PHP Syntax: Weird and Wonderful

T

tables (databases)
auto increment feature, Auto-Increment Is Your FriendIDs and Primary Keys are Good Bedfellows, IDs and Primary Keys are Good Bedfellows, IDs and Primary Keys are Good Bedfellows
changing structure with SQL ALTER command, Changing a Table’s Structure with ALTERBuilding Your Script: First Pass, Changing a Table’s Structure with ALTER, Building Your Script: First Pass, Building Your Script: First Pass
connecting through common columns, Alias Your Tables (and Columns)
creating with CREATE keyword, Making Tables with CREATE, Making Tables with CREATE
deleting with DROP command, Deleting Tables with DROP
groups table, creating, Adding a Groups TableOne-to-One, One-to-Many, Many-to-Many, Adding a Groups Table, One-to-One, One-to-Many, Many-to-Many
inserting image path into database table, Inserting the Image Path into Your TableChecking Your Work, Checking Your Work, Checking Your Work
inserting raw images into, Inserting a Raw Image into a Table, Inserting a Raw Image into a Table, INSERT the Image
interchangeable terminology, Planning Your Database Tables
join tables to connect users with groups, Using a Join Table to Connect Users with GroupsTesting Out Group Membership, Testing Out Group Membership
MySQL internal tables, Running Your First SQL QueryRunning Your First SQL Query, Running Your First SQL Query, Running Your First SQL Query
planning, Planning Your Database TablesGood Database Tables Have id Columns, Good Database Tables Have id Columns
primary keys, IDs and Primary Keys are Good BedfellowsAdding Constraints to Your Database, Adding Constraints to Your Database
size of columns in, Making Tables with CREATE
TABLE keyword (MySQL), Making Tables with CREATE
telnet, Logging In to Your Web Server’s Database
Terminal application (Mac), PHP on the Mac, PHP on the Mac, PHP on the Mac
testing
group membership, Testing Out Group Membershipauthorize.php Needs a Function, authorize.php Needs a Function
single scripts in isolation, Getting a User ID into show_user.php
test.php script, Converting File System Paths to URLsDisplaying Your User’s Image: Take Two, Displaying Your User’s Image: Take Two
text editors, Get Out Your Text EditorWriting Your First Program, Get Out Your Text Editor, Get Out Your Text Editor, Get Out Your Text Editor, Writing Your First Program
text in PHP
changing text, Changing TextChanging Text, Changing Text
searching within text, Searching Within TextChanging Text, Searching Within Text, Searching Within Text, Changing Text
trimming and replacing text, Trimming and Replacing TextReplace Characters in Text with str_replace(), Replace Characters in Text with str_replace()
TextEdit text editor (Mac), Get Out Your Text Editor, Get Out Your Text Editor, Writing Your First Program
TextMate text editor (Mac), Get Out Your Text Editor, Get Out Your Text Editor, Putting It All Together
Thread Safe version (PHP), PHP on the PC
threads and processes, PHP on the PC
tight coupling, Binary Objects and Image Loading
tinyblob columns, Storing Different Objects in Different Tables
trimming
and replacing text in PHP, Replace Characters in Text with str_replace()
trim() function, Avoid Changing User Input Whenever Possible
whitespace, Avoid Changing User Input Whenever Possible
Twitter handles, Changing TextChanging Text, Changing Text, Changing Text
type specifiers, Printing a String to a Variable
typos, fixing in MySQL, Making Tables with CREATE

U

UI, alert Is Interruptive
UI (user interface) designer, alert Is Interruptive
unexpected T_SL error, Outputting a Standard Header with Heredoc
updating
PHP, Gathering Your Tools
UPDATE command, defined (SQL), Handling Queries That Don’t SELECT Information
user creation script, Updating Your User Creation ScriptUpdating Your User Creation Script, Updating Your User Creation Script, Updating Your User Creation Script, Updating Your User Creation Script
user signup form, Updating Your User Signup Form, Updating Your User Signup Form, Updating Your User Signup Form
uploading
images with HTML forms, Images Are Just FilesUploading a User’s Image to Your Server, HTML Forms Can Set the Stage, Uploading a User’s Image to Your Server
uploading user images
create_user.php script and, Uploading a User’s Image to Your ServerSetting Up Some Helper Variables, Uploading a User’s Image to Your Server, Setting Up Some Helper Variables
creating database column to store image locations, Storing the Image Location in the Database
getimagesize function to check for image files, Is the Uploaded File Really an Image?
handle_error function, Did the File Upload with Any Errors?Is this Really an Uploaded File?, Did the File Upload with Any Errors?, Is this Really an Uploaded File?, Is this Really an Uploaded File?
helper variables, setting up, Setting Up Some Helper VariablesDid the File Upload with Any Errors?, Setting Up Some Helper Variables, Setting Up Some Helper Variables, Did the File Upload with Any Errors?, Did the File Upload with Any Errors?
is_uploaded_file function for verification, Is this Really an Uploaded File?Is the Uploaded File Really an Image?, Is this Really an Uploaded File?, Is the Uploaded File Really an Image?
moving files to permanent locations, Moving the File to a Permanent LocationCreating a New Database Column, Moving the File to a Permanent Location, Moving the File to a Permanent Location, Creating a New Database Column
storing image location in database, Creating a New Database ColumnChecking Your Work, Checking Your Work, Checking Your Work
testing code, Checking Your WorkChecking Your Work, Checking Your Work
URLs (Uniform Resource Locators)
converting file system paths to, Converting File System Paths to URLsDisplaying Your User’s Image: Take Two, Displaying Your User’s Image: Take Two
making into clickable links, Changing Text
use command (MySQL), Running Your First SQL Query, USE a Database
user table (MySQL), Running Your First SQL QuerySQL Is a Language for Talking to Databases, Running Your First SQL Query, Running Your First SQL Query, SQL Is a Language for Talking to Databases
users
connecting users table with images table, Connecting Users and ImagesJoining Tables with WHERE, Connecting Users and Images, Inserting an Image, then Inserting a User, Inserting an Image, then Inserting a User, Inserting an Image, then Inserting a User, Joining Tables with WHERE
deleting, Deleting a UserJust Pass that Information Along, Deleting Users Shouldn’t Be Magical, Talking Back To Your Users, alert Is Interruptive, Standardizing on Messaging, Just Pass that Information Along
getting user ID into show_user.php script, Getting a User ID into show_user.phpRedirection and Revisitation of Creating Users, Getting a User ID into show_user.php, Redirection and Revisitation of Creating Users, Redirection and Revisitation of Creating Users
inserting images before inserting users, Inserting an Image, then Inserting a UserInserting an Image, then Inserting a User, Inserting an Image, then Inserting a User, Inserting an Image, then Inserting a User, Inserting an Image, then Inserting a User, Inserting an Image, then Inserting a User
logging out, Log Users OutRequire the Cookie to Be Set, Log Users Out, Require the Cookie to Be Set, Require the Cookie to Be Set
profile page, mocking up, Mocking Up a User Profile Page, Mocking Up a User Profile Page, Mocking Up a User Profile Page, Mocking Up a User Profile Page
SELECTing for admin pages, SELECTing What You Need (Now)
SELECTing from database, SELECT a User From Your DatabasePulling Values From a SQL Query Result, SELECT a User From Your Database, SELECT a User From Your Database, Pulling Values From a SQL Query Result, Pulling Values From a SQL Query Result
user expectation problems, What Do You Do with User Information?
user input, avoiding changing, Dealing with HumansAvoid Changing User Input Whenever Possible, Avoid Changing User Input Whenever Possible, Avoid Changing User Input Whenever Possible
user profile images, Images Are Just Files, Images Are Just Files, Images Are Just Files
user signins, controlling, Starting with a Landing PageFrom HTTP Authentication to Cookies, Taking Control of User Sign-ins, Taking Control of User Sign-ins, Taking Control of User Sign-ins, From HTTP Authentication to Cookies
user signup form, updating, Updating Your User Signup Form, Updating Your User Signup Form, Updating Your User Signup Form
user_id (tables), Good Database Tables Have id Columns
Utilities folder (Mac), PHP on the Mac
UX (user experience) designer, alert Is Interruptive

W

web forms, getting information from
request parameters, accessing directly, Access Request Parameters DirectlyCreate Your Own Variables, Access Request Parameters Directly, Access Request Parameters Directly, Create Your Own Variables
sayHelloWeb.php example, Get Information from a Web Form
variables, creating custom, Create Your Own VariablesCreate Your Own Variables, Create Your Own Variables, Create Your Own Variables, Create Your Own Variables, Create Your Own Variables
web pages
viewing source code of, Changing Text
web servers, uploading HTML/CSS/PHP to, Variables VaryUpload Your HTML, CSS, and PHP, Upload Your HTML, CSS, and PHP, Upload Your HTML, CSS, and PHP
websites, for downloading
Eclipse PHP, Get Out Your Text Editor
jQuery JavaScript library, You Need to Get an Initial Username and PasswordYou Need to Get an Initial Username and Password, You Need to Get an Initial Username and Password, You Need to Get an Initial Username and Password
PHP, Gathering Your Tools
websites, for further information
E_ALL constant, Turn on PHP Error Reporting
jQuery UI, alert Is Interruptive
MySQL, MySQL on Windows
mysql_functions documentation, Selecting the Database to USE
PHP manual, The $_REQUEST Variable
text functions in PHP, The $_REQUEST Variable
Wordpress, Getting a User ID into show_user.php
where keyword (SQL), SQL Is a Language for Talking to Databases
which command (Mac), PHP on the Mac
while loops, Printing Out Your SQL Results, Moving the File to a Permanent Location, Moving the File to a Permanent Location
whitespace
removing extra, Trimming and Replacing TextReplace Characters in Text with str_replace(), Replace Characters in Text with str_replace(), Replace Characters in Text with str_replace()
window.location (JavaScript), Start with a Little Javascript
window.location.href property, An All-Javascript Approach
window.onload function, Your PHP Controls Your Output
window.onload property, An All-Javascript Approach
Windows, Microsoft
installing MySQL on, MySQL on WindowsMySQL on Windows, MySQL on Windows, MySQL on Windows, MySQL on Windows, MySQL on Windows, MySQL on Windows
Windows Binaries link (PHP website), PHP on the PC
Windows installer, PHP on the PC
Wordpress, Getting a User ID into show_user.php

Z

zeroes in programming languages, Searching Within Text
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.135.247.11