PART 1: LEARNING PHP…………………………………………………………………………………… 1
PHP ─ Introduction………………………………………………………………………………………………………………. 2
Common Uses of PHP…………………………………………………………………………………………………………… 2
Characteristics of PHP…………………………………………………………………………………………………………… 3
“Hello World” Script in PHP…………………………………………………………………………………………………… 3
PHP ─ Environment Setup……………………………………………………………………………………………………. 4
PHP Parser Installation…………………………………………………………………………………………………………. 4
PHP Installation on Linux or Unix with Apache………………………………………………………………………. 4
PHP Installation on Mac OS X with Apache…………………………………………………………………………….. 6
PHP Installation on Windows NT/2000/XP with IIS…………………………………………………………………. 7
PHP Installation on Windows NT/2000/XP with Apache…………………………………………………………. 8
Apache Configuration for PHP…………………………………………………………………………………………….. 10
PHP.INI file Configuration…………………………………………………………………………………………………… 11
PHP ─ Syntax Overview……………………………………………………………………………………………………… 15
Escaping to PHP…………………………………………………………………………………………………………………. 15
Commenting PHP Code………………………………………………………………………………………………………. 16
PHP is whitespace insensitive……………………………………………………………………………………………… 16
PHP is case sensitive…………………………………………………………………………………………………………… 17
Statements are expressions terminated by semicolons………………………………………………………… 17
Expressions are combinations of tokens………………………………………………………………………………. 17
Braces make blocks……………………………………………………………………………………………………………. 17
Running PHP Script from Command Prompt………………………………………………………………………… 18
PHP ─ Variable Types…………………………………………………………………………………………………………. 19
Integers……………………………………………………………………………………………………………………………… 20
Doubles……………………………………………………………………………………………………………………………… 20
Boolean…………………………………………………………………………………………………………………………….. 20
NULL………………………………………………………………………………………………………………………………….. 21
Strings……………………………………………………………………………………………………………………………….. 21
Variable Naming………………………………………………………………………………………………………………… 24
PHP – Variables………………………………………………………………………………………………………………….. 24
PHP Local Variables……………………………………………………………………………………………………………. 24
PHP Function Parameters…………………………………………………………………………………………………… 25
PHP Global Variables………………………………………………………………………………………………………….. 25
PHP Static Variables……………………………………………………………………………………………………………. 26
PHP ─ Constants………………………………………………………………………………………………………………… 27
PHP ─ Operator Types………………………………………………………………………………………………………… 29
Arithmetic Operators…………………………………………………………………………………………………………. 29
Comparison Operators……………………………………………………………………………………………………….. 31
Logical Operators……………………………………………………………………………………………………………….. 33
Assignment Operators………………………………………………………………………………………………………… 35
Conditional Operator…………………………………………………………………………………………………………. 37
Operators Categories…………………………………………………………………………………………………………. 38
Precedence of PHP Operators…………………………………………………………………………………………….. 38
PHP ─ Decision Making………………………………………………………………………………………………………. 40
The If…Else Statement……………………………………………………………………………………………………….. 40
The ElseIf Statement………………………………………………………………………………………………………….. 41
The Switch Statement………………………………………………………………………………………………………… 42
PHP ─ Loop Types………………………………………………………………………………………………………………. 45
The for loop statement………………………………………………………………………………………………………. 45
The while loop statement…………………………………………………………………………………………………… 46
The do…while loop statement……………………………………………………………………………………………. 47
The foreach loop statement……………………………………………………………………………………………….. 48
The break statement………………………………………………………………………………………………………….. 48
The continue statement……………………………………………………………………………………………………… 50
PHP ─ Arrays……………………………………………………………………………………………………………………… 52
Numeric Array……………………………………………………………………………………………………………………. 52
Associative Arrays………………………………………………………………………………………………………………. 53
Multidimensional Arrays…………………………………………………………………………………………………….. 54
PHP ─ Strings……………………………………………………………………………………………………………………… 57
String Concatenation Operator…………………………………………………………………………………………… 58
Using the strlen() function………………………………………………………………………………………………….. 58
Using the strpos() function…………………………………………………………………………………………………. 59
PHP ─ Web Concepts…………………………………………………………………………………………………………. 60
Identifying Browser & Platform…………………………………………………………………………………………… 60
Display Images Randomly…………………………………………………………………………………………………… 61
Using HTML Forms……………………………………………………………………………………………………………… 62
Browser Redirection…………………………………………………………………………………………………………… 63
Displaying “File Download” Dialog Box………………………………………………………………………………… 64
PHP ─ GET and POST Methods……………………………………………………………………………………………. 66
The GET Method………………………………………………………………………………………………………………… 66
The POST Method………………………………………………………………………………………………………………. 67
The $_REQUEST variable…………………………………………………………………………………………………….. 68
PHp ─ File Inclusion……………………………………………………………………………………………………………. 70
The include() Function………………………………………………………………………………………………………… 70
The require() Function……………………………………………………………………………………………………….. 71
PHP ─ Files & I/O……………………………………………………………………………………………………………….. 72
Opening and Closing Files…………………………………………………………………………………………………… 72
Reading a file……………………………………………………………………………………………………………………… 73
Writing a File……………………………………………………………………………………………………………………… 74
PHP ─ Functions…………………………………………………………………………………………………………………. 76
Creating PHP Function………………………………………………………………………………………………………… 76
PHP Functions with Parameters………………………………………………………………………………………….. 77
Passing Arguments by Reference………………………………………………………………………………………… 77
PHP Functions returning value……………………………………………………………………………………………. 78
Setting Default Values for Function Parameters…………………………………………………………………… 79
Dynamic Function Calls………………………………………………………………………………………………………. 80
PHP ─ Cookies……………………………………………………………………………………………………………………. 81
The Anatomy of a Cookie……………………………………………………………………………………………………. 81
Setting Cookies with PHP……………………………………………………………………………………………………. 82
Accessing Cookies with PHP………………………………………………………………………………………………… 83
Deleting Cookie with PHP…………………………………………………………………………………………………… 84
PHP ─ Sessions…………………………………………………………………………………………………………………… 85
Starting a PHP Session………………………………………………………………………………………………………… 85
Destroying a PHP Session……………………………………………………………………………………………………. 87
Turning on Auto Session…………………………………………………………………………………………………….. 87
Sessions without cookies……………………………………………………………………………………………………. 87
PHP ─ Sending Emails………………………………………………………………………………………………………… 89
Sending plain text email……………………………………………………………………………………………………… 89
Sending HTML email…………………………………………………………………………………………………………… 91
Sending attachments with email…………………………………………………………………………………………. 92
PHP ─ File Uploading………………………………………………………………………………………………………….. 95
Creating an Upload Form……………………………………………………………………………………………………. 95
Creating an upload script……………………………………………………………………………………………………. 96
PHP ─ Coding Standard………………………………………………………………………………………………………. 98
PART 2: ADVANCED PHP………………………………………………………………………………. 101
PHP ─ Predefined Variables……………………………………………………………………………………………… 102
PHP Superglobals……………………………………………………………………………………………………………… 102
Server variables: $_SERVER………………………………………………………………………………………………. 103
PHP ─ Regular Expression………………………………………………………………………………………………… 106
POSIX Regular Expressions………………………………………………………………………………………………… 106
PHP’s Regexp POSIX Functions………………………………………………………………………………………….. 108
PHP ─ Function ereg()………………………………………………………………………………………………………. 108
PHP ─ Function ereg_replace()………………………………………………………………………………………….. 110
PHP ─ Function eregi()……………………………………………………………………………………………………… 111
PHP ─ Function eregi_replace()…………………………………………………………………………………………. 112
PHP ─ Function split()……………………………………………………………………………………………………….. 113
PHP ─ Function spliti()………………………………………………………………………………………………………. 114
PHP ─ Function sql_regcase()……………………………………………………………………………………………. 115
PERL Style Regular Expressions…………………………………………………………………………………………. 115
PHP’s Regexp PERL Compatible Functions…………………………………………………………………………. 117
PHP ─ Function preg_match()……………………………………………………………………………………………. 117
PHP ─ Function preg_match_all()………………………………………………………………………………………. 118
PHP ─ Function preg_replace()………………………………………………………………………………………….. 119
PHP ─ Function preg_split()………………………………………………………………………………………………. 120
PHP ─ Function preg_grep()………………………………………………………………………………………………. 121
PHP ─ Function preg_quote()……………………………………………………………………………………………. 122
PHP ─ Error and Exception Handling…………………………………………………………………………………. 124
Using die() function………………………………………………………………………………………………………….. 124
Defining Custom Error Handling Function………………………………………………………………………….. 124
Exceptions Handling…………………………………………………………………………………………………………. 127
PHP ─ Bugs Debugging……………………………………………………………………………………………………… 129
PHP ─ Date and Time……………………………………………………………………………………………………….. 131
Getting the Time Stamp with time()………………………………………………………………………………….. 131
Converting a Time Stamp with getdate()…………………………………………………………………………… 131
Converting a Time Stamp with date()………………………………………………………………………………… 133
PHP ─ PHP and MySQL…………………………………………………………………………………………………….. 136
What you should already have?………………………………………………………………………………………… 136
Connecting to MySQL Database………………………………………………………………………………………… 137
Create MySQL Database Using PHP…………………………………………………………………………………… 138
Delete MySQL Database Using PHP…………………………………………………………………………………… 143
Insert Data to MySQL Database………………………………………………………………………………………… 144
Retrieving Data from MySQL Database……………………………………………………………………………… 148
Using Paging through PHP………………………………………………………………………………………………… 152
Updating Data into MySQL Database………………………………………………………………………………… 154
Deleting Data from MySQL Database………………………………………………………………………………… 157
Using PHP to Backup MySQL Database……………………………………………………………………………… 159
PHP ─ PHP and AJAX…………………………………………………………………………………… 162
What is AJAX ?…………………………………………………………………………………………………………………. 162
PHP and AJAX Example…………………………………………………………………………………………………….. 162
Client Side HTML file………………………………………………………………………………………………………… 163
Server Side PHP file………………………………………………………………………………………………………….. 165
PHP ─ PHP and XML…………………………………………………………………………………………………………. 167
HTML list that’s not valid XML…………………………………………………………………………………………… 167
HTML list that is valid XML………………………………………………………………………………………………… 167
Parsing an XML Document………………………………………………………………………………………………… 167
Generating an XML Document………………………………………………………………………………………….. 169
PHP ─ Object Oriented Programming……………………………………………………………………………….. 170
Object Oriented Concepts………………………………………………………………………………………………… 170
Defining PHP Classes………………………………………………………………………………………………………… 171
Creating Objects in PHP……………………………………………………………………………………………………. 172
Calling Member Functions………………………………………………………………………………………………… 172
Constructor Functions………………………………………………………………………………………………………. 173
Destructor……………………………………………………………………………………………………………………….. 174
Inheritance………………………………………………………………………………………………………………………. 174
Function Overriding………………………………………………………………………………………………………….. 175
Public Members……………………………………………………………………………………………………………….. 175
Private members……………………………………………………………………………………………………………… 175
Protected members…………………………………………………………………………………………………………. 176
Interfaces………………………………………………………………………………………………………………………… 177
Constants………………………………………………………………………………………………………………………… 177
Abstract Classes……………………………………………………………………………………………………………….. 177
Static Keyword…………………………………………………………………………………………………………………. 178
Final Keyword………………………………………………………………………………………………………………….. 178
PHP ─ PHP for C Developers…………………………………………………………………………………………….. 181
Similarities……………………………………………………………………………………………………………………….. 181
Differences………………………………………………………………………………………………………………………. 181
PHP ─ PHP for PERL Developers……………………………………………………………………………………….. 183
Similarities……………………………………………………………………………………………………………………….. 183
Differences………………………………………………………………………………………………………………………. 183
PART 3: FUNCTION REFERENCE…………………………………………………………………….. 185
PHP ─ Function Reference………………………………………………………………………………………………… 186