THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA WWW.ATHENA.EDU.VN.. THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA WWW.ATHENA.EDU.VN.. THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN
Trang 1THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL : 1900 54 54 56 – 090 7879 477
Trang 2
THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 2
Enjoy PHPing AND ATHENA!
TABLE OF CONTENTS
Chapter 1 Web Design Basic 7
Web Design Toolbox 9
HTML Editor – Dreamweaver CS3 16
HTML Basics 22
HTML Form 23
CSS 27
Javascript 28
Chapter 2 PHP Workspace 31
PHP Introduction 33
AppServ Installation 35
Using AppServ 37
PHP IDE - PhpEd 38
Using PHP Interactive 42
Chapter 3 PHP Basics 45
PHP Syntax 47
Data Types 48
Variable & Constant 49
Operators 50
Trang 3THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 3
Control Structure 51
Chapter 4 Function 55
Introduction 57
Syntax 57
Parameter & Argument 58
Useful Functions 61
Chapter 5 Array 63
Declaration 65
Array Operation 65
Iteration (Looping) 67
Sorting 68
More Functions 70
Chapter 6 String Manipulation 73
Declaration 75
Comparision 75
Searching 76
Replacement 76
Splitting 77
Formatting 78
Regular Expression – RegEx 79
Chapter 7 HTTP Basic 83
HTTP Fundamentals 85
File Upload 88
Cookie 90
Session 91
Chapter 8 OOP – Object Oriented Programming 93
OOP Fundamentals 95
Properties 96
Methods 97
Inheritance & Overriding 101
Chapter 9 File Handling 107
File Handle 109
File Manipulation 110
Directory 112
File & Directory Constants 113
Trang 4THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 4
Chapter 10 MySQL 115
DBMS Fundamentals 117
MySQL Fundamentals 118
MySQL Basics 122
Using phpMyAdmin 125
MySQL in PHP 138
Chapter 11 Logging & Debugging 141
Log Configuration 143
PhpEd Debugger Installation 143
Debugging 145
Chapter 12 OOP Advanced 149
Interface 151
Abstract Class, Method 152
Final Class, Method 153
Lazy Loading 154
Magic Methods 154
Chapter 13 MySQL Advanced 159
Table Joining 161
PHP Data Object (PDO) 164
Chapter 14 Software Engineering Basic 167
Requirement Gathering 169
Use-Case Diagram 171
Class Diagram 177
Chapter 15 XML & Web Service 181
XML Basics 183
SimpleXML Class 184
Web Services Basics 185
SOAP 186
JSON Overview 189
Chapter 16 Security 191
Security Basics 193
Database Security 193
Website Security 194
Session Security 199
File System Security 201
Trang 5THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 5
Chapter 17 Advanced PHP Topics 203
PHP.INI File Overview 205
Date & Time 206
Email Sending 208
Image Processing 209
cURL library 210
Smarty 211
Different between PHP5 & PHP4 212
Chapter 18 Design Pattern 215
Fundamentals 217
Singleton Pattern 217
Factory Pattern 218
Strategy Pattern 220
Model-View-Controller (MVC) Pattern 221
Chapter 19 E-Commerce Website 225
E-Commerce Fundamentals 227
Website Optimization 228
SEO Basics 228
Website Analytic – Google Analytic Setup 230
Chapter 20 Zend PHP 5 Certification – ZCE (Zend Certified Engineer) 243
Zend Certification Introduction 245
Zend PHP 5 Certification Exam 246
Further Reading 249
UseFul Websites 250
Trang 6THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 6
Trang 7THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 7
1.1 Web Design Toolbox:
1.1.1 Image Manipulating: Photoshop, GIMP, Illustrator…
Trang 8THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 8
Trang 9THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 9
1.1.2 Animation Creator: Photoshop, Flash, Flex, Maya, 3DS Max…
Trang 10THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 10
Trang 11THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 11
Trang 12THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 12
1.1.3 HTML Editor: Dreamweaver, Notepad++…
Trang 13THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 13
Trang 14THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 14
1.1.4 CSS Editor: Dreamweaver, Rapid CSS, Notepad++…
Trang 15THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 15
Trang 16THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 16
1.1.5 Javascript Editor: Dreamweaver, 1st Javascript Editor, Notepad++…
Trang 17THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 17
Trang 18THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 18
- Property Inspector Panel:
- Create a Local Site:
Or:
Trang 19THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 19
Or:
- After creating site, the FILES panel will become:
Trang 20THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 20
- Open an Local Site:
Trang 21THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 21
- Manage Site Files: In the Files Panel, right click the root (top level) and select your function
(New File, New Folder…)
Trang 22THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 22
- Create new file
Trang 23THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 23
1.3 HTML Basics:
Trang 24THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 24
Four Square Café is located at the intersection of Melrose and Sunset Avenues in Los
Angeles We are a cafe with our own bakery, and also have a charcuterie for your favorite
meats and cheeses We offer breakfasts and made to order sandwiches You can buy fresh,
hot from the oven bread for your home twice a day, at 8 am and 5 am daily In our Café,
we are also famous for fresh organic coffee and tea made with mountain water Each cup
is in its own single cone and paper filter and dripped right into your cup We then start
over for the next customer
- List: ul, ol, dl, li
- Form: form, input, textarea, select
Trang 25THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 25
- DIV, SPAN Tag: div, span
1.3.3 HTML Meta Tag:
<meta name="description" content="Free Web tutorials" />
<meta name="keywords" content="HTML,CSS,XML,JavaScript" />
<meta name="author" content="Duy Tuan" />
<meta http-equiv="refresh" content="4;URL=http://example.com/">
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
1.4 HTML Form:
1.4.1 Using Dreamweaver to insert Form element:
1.4.2 Form Elements:
Trang 26THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 26
1.4.2.1 Text Field:
<form method="post" action="mailto:youremail@email.com">
Name: <input type="text" size="10" maxlength="40" name="name">
<form method="post" action="mailto:youremail@email.com">
Name: <input type="text" size="10" maxlength="40" name="name">
<form method="post" action="mailto:youremail@email.com">
What kind of shirt are you wearing? <br />
Shade:
<input type="radio" name="shade" value="dark">Dark
<input type="radio" name="shade" value="light">Light <br />
Size:
<input type="radio" name="size" value="small">Small
<input type="radio" name="size" value="medium">Medium
<input type="radio" name="size" value="large">Large <br />
<input type="submit" value="Email Myself">
</form>
Trang 27THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 27
1.4.2.4 Check box:
<form method="post" action="mailto:youremail@email.com">
Select your favorite cartoon characters
<input type="checkbox" name="toon" value="Goofy">Goofy
<input type="checkbox" name="toon" value="Donald">Donald
<input type="checkbox" name="toon" value="Bugs">Bugs Bunny
<input type="checkbox" name="toon" value="Scoob">Scooby Doo
<input type="submit" value="Email Myself">
<option>Some High School</option>
<option>High School Degree</option>
<select multiple name="music" size="4">
<option value="emo" selected>Emo</option>
<option value="metal/rock" >Metal/Rock</option>
<option value="hiphop" >Hip Hop</option>
Trang 28THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 28
<option value="ska" >Ska</option>
<option value="jazz" >Jazz</option>
<option value="country" >Country</option>
<option value="classical" >Classical</option>
<option value="alternative" >Alternative</option>
<option value="oldies" >Oldies</option>
<option value="techno" >Techno</option>
</select>
<input type="submit" value="Email Yourself">
</form>
1.4.2.7 Upload form:
<input type="hidden" name="MAX_FILE_SIZE" value="100" />
<input name="file" type="file" />
1.4.2.8 Text Area:
<form method="post" action="mailto:youremail@email.com">
<textarea rows="5" cols="20" name="comments">
Enter Comments Here
- The selector name creates a direct relationship with the HTML tag you want to edit
- Many types of selector: type, class, id, child, universal…
Trang 29THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 29
- Ex: <div id="container" class="bluebox largebox">…</div>
Trang 30THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 30
1.6.2 Javascript Basics:
1.6.2.1 Comments:
// this is a comment /* so is
this */
1.6.2.2 Function:
function anExample(param1,param2) {
if (param==1) {alert("Hello Philip");}
else if (param==2) {alert("Hello Terrance");}
else {alert("Hello everyone");}
switch(param) {
Trang 31THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 31
default:
alert("ahhh no moosi");
break;
} }
<a href="javascript:void(0)" onClick="aSwitchExample(1)" > Example 1</a> <br>
<a href="javascript:void(0)" onClick="aSwitchExample(1)" > Example 2</a> <br>
<a href="javascript:void(0)" onClick="aSwitchExample(2)" > Example 3</a>
1.6.2.5 WHILE Statement:
function aWhileExample(param) {
counter=0;
while(counter<param) {
<a href="javascript:void(0)" onClick="aWhileExample(0)" > Example 1</a> <br>
<a href="javascript:void(0)" onClick="aWhileExample(1)" > Example 2</a> <br>
<a href="javascript:void(0)" onClick="aWhileExample(3)" > Example 3</a>
1.6.2.6 DO Statement:
function aDoExample(param) {
counter=0;
do { alert("round we go " + counter);
counter++;
// this adds one to the counter, could have typed // counter=counter+1;
} while (counter<param) }
<a href="javascript:void(0)" onClick="aDoExample(0)" > Example 1</a> <br>
<a href="javascript:void(0)" onClick="aDoExample(1)" > Example 2</a> <br>
Trang 32THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 32
<a href="javascript:void(0)" onClick="aDoExample(3)" > Example 3</a>
1.6.2.7 FOR Statement:
function aForExample(param) {
for(counter=0; counter<param; counter++) {
alert("round we go " + counter);
} }
<a href="javascript:void(0)" onClick="aForExample(0)" > Example 1</a> <br>
<a href="javascript:void(0)" onClick="aForExample(1)" > Example 2</a> <br>
<a href="javascript:void(0)" onClick="aForExample(3)" > Example 3</a>
Trang 33THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 33
Chapter 2
PHP
Workspace
Keywords: installation, IDE, server-side, scripting, interpreter,
opensource, CLI, service, GUI, code navigator, DB Client, php
interactive, request, response.
Trang 34THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 34
2.1 PHP Introduction:
- How PHP Works:
- PHP stands for "PHP Hypertext Preprocessor"
- PHP is a widely used open source Stable version is PHP 5.3.0 (PHP6 beta)
- Runs on Server -> Server-Side Scripting language
- It's fast, free, easy to use, run on many Operating Systems(OS), secure, customizable, support
community
- PHP supports many database (MySQL, Oracle, Sybase, PostgreSQL…)
- File extension: ".php", ".php3", ".php5" or ".phtml"
Trang 35THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 35
interacting via browser
Working via CLI (command-line interface)
Working via GUI(Graphical User Interface) – Desktop Application
Trang 36THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 36
Working via web services (no need interface)
2.2 AppServ Installation:
- It will install Apache, PHP, MySQL in one window executive file (.exe)
- Best solution for creating an environment to learning, developing and testing website
- Download AppServ at: http://www.appservnetwork.com/
- Install like a normal window application
Trang 37THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 37
Trang 38
THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 38
Trang 39
THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 39
2.3 Using AppServ:
2.3.1 AppServ 2.10 Directory Structure:
Trang 40THÀNH VIÊN HIỆP HỘI AN TOÀN THÔNG TIN VIỆT NAM- VNISA
WWW.ATHENA.EDU.VN TEL: 1900 54 54 56 -090 7879 477
VO DUY TUAN PHP Beginner & Intermediate
ATHENA INFORMATION TRAINING 40
2.3.2 Edit Server config using start menu:
2.3.3 Restart/ Stop / Start Apache / MySQL Services using start menu: