Section 1: Advanced PHP with MySQL |
|
Course Introduction |
13:36 |
| |
Intro |
0:00 | |
| |
Advanced PHP w/ MySQL |
0:13 | |
| |
| Course Introduction |
0:14 | |
| |
| Course Content |
0:59 | |
| |
Web Application: Educator Store |
1:45 | |
| |
| Web Application: Educator Store |
1:46 | |
| |
Object-Oriented Programming |
6:09 | |
| |
| Object-Oriented Programming Overview |
6:10 | |
| |
MySQL |
6:50 | |
| |
| MySQL Overview |
6:51 | |
| |
| Example: Command Prompt & MySQL |
8:34 | |
| |
What You Will Learn |
9:34 | |
| |
| What You Will Learn |
9:35 | |
| |
Course Prerequisites |
11:52 | |
| |
| Course Prerequisites |
11:53 | |
|
Advanced Course Development Environment |
18:46 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:11 | |
| |
| Lesson Overview |
0:12 | |
| |
Development Environment Setup |
1:36 | |
| |
| Firefox Web Browser, XAMPP, and PSPad Text Editor |
1:37 | |
| |
Course Directory Structure |
4:36 | |
| |
| Course Directory Structure |
4:37 | |
| |
phpDocumentor |
7:23 | |
| |
| phpDocumentor Overview |
7:24 | |
| |
| Parsing Source Code |
7:44 | |
| |
| docs Subdirectory |
9:06 | |
| |
| Asvanced PHP Course Documentation Example |
10:21 | |
| |
Previous Educator PHP Students |
14:14 | |
| |
| Lib Directory Changes |
14:38 | |
| |
| Images Directory Changes |
14:57 | |
| |
| VERSION Constant |
15:40 | |
| |
| Comments Noting a Specific Version Number |
17:04 | |
| |
Homework Challenge |
17:30 | |
| |
| Homework Challenge |
17:31 | |
|
Introduction to File I/O |
35:37 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:10 | |
| |
| Lesson Overview |
0:11 | |
| |
File I/O |
1:34 | |
| |
| File I/O Overview |
1:35 | |
| |
| Performing file I/O: 3 Steps |
1:52 | |
| |
File Permissions |
2:28 | |
| |
| Read Permission & Write Permission |
2:29 | |
| |
fopen() |
4:47 | |
| |
| fopen() |
4:48 | |
| |
| Two Required Parameters |
5:01 | |
| |
| Successful fopen(): File Handle and Resource |
5:21 | |
| |
| FALSE and E_WARNING Error |
6:00 | |
| |
| Example |
6:39 | |
| |
File Paths |
7:10 | |
| |
| File Paths |
7:11 | |
| |
File Access Modes |
9:18 | |
| |
| File Access Modes |
9:19 | |
| |
Coding Example: fopen() |
10:31 | |
| |
| Using Relative and Absolute Path & Non-Existent File |
10:32 | |
| |
File Pointers |
15:55 | |
| |
| File Pointers |
15:56 | |
| |
| Example File |
16:11 | |
| |
| Opening a File with fopen() Using 'r' as the Access Mode |
16:22 | |
| |
fgets() |
17:55 | |
| |
| fgets() Overview |
17:56 | |
| |
| Coding Example: fgets() - Reading a Line at a Time |
18:26 | |
| |
feof() |
20:10 | |
| |
| feof() Overview |
20:09 | |
| |
| Coding Example: feof() |
20:50 | |
| |
fclose() |
23:43 | |
| |
| fclose() Overview |
23:44 | |
| |
| Coding Example: fclose() |
25:02 | |
| |
Coding Example: Current Stock |
26:10 | |
| |
| Coding Example: Current Stock |
26:11 | |
| |
trim () |
31:39 | |
| |
| trim () Overview and Example |
31:40 | |
| |
Homework Challenge |
33:35 | |
| |
| Homework Challenge |
33:36 | |
|
Web Application Development |
36:36 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:16 | |
| |
| Lesson Overview |
0:17 | |
| |
Version 1.0 Changelog |
0:31 | |
| |
| catalog.php |
0:32 | |
| |
| Function Library: fileLIB.php |
5:00 | |
| |
Version 1.1 Changelog |
27:12 | |
| |
| createItemDataArray() and createDeptDataArray() |
27:13 | |
| |
| outputSimpleItemLink() and outputSimpleDeptLink() |
32:06 | |
|
HTTP & the POST Method |
34:36 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:10 | |
| |
| Lesson Overview |
0:11 | |
| |
HTTP Model |
1:28 | |
| |
| HTTP Model |
1:29 | |
| |
| Client-Server Model 2 Steps Process |
2:00 | |
| |
HTTP Messages |
2:23 | |
| |
| HTTP Messages |
2:24 | |
| |
HTTP Requests |
3:09 | |
| |
| HTTP Requests |
3:10 | |
| |
| Example: HTTP Request Header |
3:17 | |
| |
| Coding Example: HTTP Requests |
4:29 | |
| |
HTTP Responses |
7:15 | |
| |
| HTTP Responses |
7:16 | |
| |
| Example: HTTP Response (Header & Body) |
8:00 | |
| |
header() |
11:47 | |
| |
| header() Overview |
11:48 | |
| |
| Coding Example: header |
14:02 | |
| |
| Coding Example: header() Error |
14:52 | |
| |
GET Method |
18:55 | |
| |
| GET Method |
18:56 | |
| |
| Coding Example: GET Method |
20:13 | |
| |
POST Method |
21:09 | |
| |
| POST Method |
21:10 | |
| |
| Coding Example: Sample Form Using the POST Method |
23:50 | |
| |
Accessing POST Data in PHP |
26:38 | |
| |
| Accessing POST Data in PHP |
26:39 | |
| |
| Coding Example: Accessing POST Data via $_POST |
28:15 | |
| |
GET vs. POST |
29:54 | |
| |
| GET vs. POST |
29:55 | |
| |
Example: Accessing POST Data via $_POST |
31:20 | |
| |
| Example: Accessing POST Data via $_POST |
31:21 | |
| |
Homework Challenge |
33:00 | |
| |
| Homework Challenge |
33:01 | |
|
Web Application Development |
14:11 |
| |
Intro |
0:00 | |
| |
Version 2.0 Changelog |
0:09 | |
| |
| Updating the Site's Current Form to Use the POST Method |
0:10 | |
| |
| Creating Admin Website |
2:55 | |
| |
| Dynamically Generated Department List |
12:40 | |
|
Writing to Files |
17:38 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:09 | |
| |
| Lesson Overview |
0:10 | |
| |
Review of File I/O |
0:40 | |
| |
| Review of File I/O |
0:41 | |
| |
fwrite() |
1:38 | |
| |
| fwrite() |
1:39 | |
| |
| fputs() |
2:20 | |
| |
| 'r+' |
2:31 | |
| |
| Coding Example: fwrite() |
2:59 | |
| |
fopen() Access Modes |
8:41 | |
| |
| 'a' and 'a+' |
8:42 | |
| |
| 'w' and 'w+' |
11:34 | |
| |
Homework Challenge |
14:47 | |
| |
| Homework Challenge |
14:48 | |
|
Web Application Development |
28:14 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:08 | |
| |
| Lesson Overview |
0:09 | |
| |
Updated Open File Functions |
0:19 | |
| |
| openItemsDataFile ( ), openDeptsDataFile ( ), and openLastAddedFile ( ) |
0:20 | |
| |
insertItem() |
6:25 | |
| |
| insertItem() Overview |
6:26 | |
| |
| Functions: createItemDataString ( ) and updateLastItemAdded ( ) |
7:07 | |
| |
addItemToDepartment () |
16:03 | |
| |
| addItemToDepartment () Overview |
16:04 | |
| |
| Functions: createDeptDataString ( ) and updateDepartment ( ) |
17:55 | |
|
HTTP POST: File Uploads |
22:51 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:10 | |
| |
| Lesson Overview |
0:11 | |
| |
POST Data Encoding |
1:13 | |
| |
| POST Data Encoding |
1:14 | |
| |
| When Data is Included in the Body of the HTTP POST Request and is of the Content Type |
1:31 | |
| |
| When Uploading Files Using HTTP POST |
3:17 | |
| |
Uploading Files |
6:22 | |
| |
| Uploading Files |
6:23 | |
| |
| If Encoding Type is Not Set to Multipart/Formdata |
9:27 | |
| |
$_FILES Superglobal |
10:59 | |
| |
| $_FILES Superglobal |
11:00 | |
| |
Structure of $_FILES |
12:15 | |
| |
| Structure of $_FILES: Name, Type, tmp_name, Error, and Size |
12:16 | |
| |
| Coding Example: $_FILES Superglobal |
13:34 | |
| |
Moving an Uploaded File |
15:39 | |
| |
| Introduction to Moving an Uploaded File |
15:40 | |
| |
| move_uploaded_file ( ): Definition and Example |
16:40 | |
| |
Homework Challenge |
21:19 | |
| |
| Homework Challenge |
21:20 | |
|
Web Application Development |
15:30 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:09 | |
| |
| Lesson Overview |
0:10 | |
| |
Uploading Item Image File |
1:22 | |
| |
| Uploading Item Image File |
1:23 | |
| |
Uploading Item Image File (cont.) |
2:43 | |
| |
| Altering insertItem ( ) |
2:44 | |
| |
| Helpfer Functions: getFileExtension ( ) and moveUploadedFile ( ) |
4:30 | |
| |
| isValidItem ( ) |
13:03 | |
|
Introduction to Object-Oriented Programming |
32:44 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:11 | |
| |
| Lesson Overview |
0:12 | |
| |
Object-Oriented Programming |
0:56 | |
| |
| Introduction to Object-Oriented Programming |
0:57 | |
| |
Associative Arrays |
5:27 | |
| |
| Associative Arrays |
5:28 | |
| |
Classes |
7:27 | |
| |
| Classes Overview |
7:28 | |
| |
Defining Classes |
8:24 | |
| |
| Defining Classes |
8:25 | |
| |
| Declaring Class Properties |
9:25 | |
| |
| Coding Example: Classes |
10:11 | |
| |
Objects |
12:18 | |
| |
| Objects Overview |
12:19 | |
| |
Classes vs. Objects |
12:49 | |
| |
| Classes vs. Objects |
12:50 | |
| |
Instantiating Classes |
14:58 | |
| |
| Instantiating Classes |
14:59 | |
| |
| Coding Example: Instantiate an Item Object |
16:30 | |
| |
Object Properties |
19:21 | |
| |
| Access and Set an Object's Property |
19:22 | |
| |
| Coding Example: Set & Access the Properties of an Item Object |
24:23 | |
| |
Homework Challenge |
30:22 | |
| |
| Homework Challenge |
30:23 | |
|
Web Application Development |
17:47 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:11 | |
| |
| Lesson Overview |
0:12 | |
| |
Version 5.0 Overview |
0:50 | |
| |
| Version 5.0 Overview and Examples |
0:51 | |
| |
Outputting Object Properties |
12:38 | |
| |
| Outputting Object Properties |
12:39 | |
| |
Array Object Properties |
14:18 | |
| |
| Access and Set Array Value |
14:19 | |
|
Object Methods |
39:57 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:12 | |
| |
| Lesson Overview |
0:13 | |
| |
Object Methods |
0:52 | |
| |
| Definition of Object Methods |
0:53 | |
| |
Calling Object Methods |
3:25 | |
| |
| Calling Object Methods |
3:26 | |
| |
| Coding Example: Simple Object Methods |
4:44 | |
| |
| Object Methods and Return Values |
7:02 | |
| |
$this Variable |
10:06 | |
| |
| $this Variable: Definition and Example |
10:07 | |
| |
$this Variable (cont.) |
15:51 | |
| |
| $this Variable (cont.) |
15:52 | |
| |
Getters & Setters |
21:21 | |
| |
| Getters & Setters Methods |
21:22 | |
| |
Object Methods In Strings |
25:46 | |
| |
| Object Methods In Strings |
25:47 | |
| |
| Coding Example: Outputting Method Return Values in Strings |
27:41 | |
| |
Using $this to Call Other Methods |
28:49 | |
| |
| Using $this to Call Other Methods |
28:50 | |
| |
Homework Challenge |
34:18 | |
| |
| Homework Challenge: 1-3 |
34:19 | |
| |
Homework Challenge (cont.) |
36:20 | |
| |
| Homework Challenge: 4-6 |
36:21 | |
| |
Homework Challenge (cont.) |
37:52 | |
| |
| Homework Challenge: 7-10 |
37:53 | |
|
Web Application Development |
17:30 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:11 | |
| |
| Lesson Overview |
0:12 | |
| |
Version 6.0 Overview |
0:40 | |
| |
| Version 6.0 Changes & Examples |
0:41 | |
| |
Item Methods |
0:53 | |
| |
| Item Class Definition: getImageFilename() |
0:54 | |
| |
| Coding Example: getImageFilename() |
1:58 | |
| |
Department Methods |
7:33 | |
| |
| addItem(), removeItem(), and isItemInDept() Method |
7:34 | |
| |
| addItemtToDepartment() & buildDeptObject() Functions |
11:46 | |
| |
| A Default Value Needed to Be Set for $items |
16:26 | |
|
Object Constructors |
22:20 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:11 | |
| |
| Lesson Overview |
0:12 | |
| |
Object Constructors |
0:32 | |
| |
| Introduction to Object Constructors |
0:33 | |
| |
| Coding Example: Object Constructors |
1:43 | |
| |
Defining Constructors |
3:26 | |
| |
| Defining Constructors |
3:27 | |
| |
| Coding Example: Constructors with No Arguments |
4:24 | |
| |
Constructor Arguments |
8:09 | |
| |
| Constructor Arguments |
8:10 | |
| |
| Coding Example: Constructor Arguments |
9:49 | |
| |
Important Notes |
16:13 | |
| |
| Important Notes |
16:14 | |
| |
Homework Challenge |
17:35 | |
| |
| Homework Challenge: 1 - 4 |
17:36 | |
| |
Homework Challenge (cont.) |
19:13 | |
| |
| Homework Challenge: 5 - 9 |
19:14 | |
| |
Homework Challenge (cont.) |
21:40 | |
| |
| Homework Challenge: 10 and 11 |
21:41 | |
|
Web Application Development |
16:19 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:11 | |
| |
| Lesson Overview |
0:12 | |
| |
Version 7.0 Overview |
0:39 | |
| |
| Version 7.0 Overview |
0:40 | |
| |
Item Constructor |
2:19 | |
| |
| Item Constructor |
2:20 | |
| |
Department Constructor |
7:47 | |
| |
| Department Constructor |
7:48 | |
| |
Customer Constructor |
12:23 | |
| |
| Customer Constructor |
12:24 | |
|
More Magic Methods |
53:37 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:13 | |
| |
| Lesson Overview |
0:14 | |
| |
Magic Methods |
1:12 | |
| |
| Magic Methods |
1:13 | |
| |
Destructors |
2:45 | |
| |
| Destructors Overview |
2:46 | |
| |
| Coding Example: Calling Destructors |
4:30 | |
| |
| Coding Example: Object Destructor |
9:19 | |
| |
_to String () |
16:12 | |
| |
| _to String () Overview |
16:13 | |
| |
| Coding Example: _to String () Magic Method |
18:10 | |
| |
Access Modifiers |
21:23 | |
| |
| Introduction to Access Modifiers |
21:24 | |
| |
| Access Modifiers: Public |
21:39 | |
| |
| Access Modifiers: Private |
22:18 | |
| |
| Access Modifiers: Protected |
22:41 | |
| |
| Object Properties and Methods |
23:06 | |
| |
| Coding Example: Public Access Modifiers |
26:48 | |
| |
| Coding Example: Private Access Modifiers |
28:30 | |
| |
_get() |
31:37 | |
| |
| _get() Overview |
31:38 | |
| |
| Coding Example: _get () Magic Method |
33:30 | |
| |
_set () |
36:23 | |
| |
| _set () & the Magic Method |
36:24 | |
| |
Using Getters & Setters |
44:37 | |
| |
| Coding Example: Using Getters & Setters |
44:38 | |
| |
Homework Challenge |
50:33 | |
| |
| Homework Challenge: 1 - 6 |
50:34 | |
| |
Homework Challenge (cont.) |
51:41 | |
| |
| Homework Challenge: 7 - 12 |
51:42 | |
|
Web Application Development |
31:12 |
| |
Intro |
0:00 | |
| |
Version 8.0 Review |
0:12 | |
| |
| Version 8.0 Review |
0:13 | |
| |
private Object Properties |
1:15 | |
| |
| private Object Properties |
1:16 | |
| |
| Coding Example |
2:54 | |
| |
_toString() Methods |
6:51 | |
| |
| _toString() Methods |
6:52 | |
| |
| Coding Example |
8:09 | |
| |
DataFile Class |
13:27 | |
| |
| DataFile Class & I/O Operations |
13:28 | |
| |
| Using DataFile Class: Instantiate a DataFile, DataFile open () Method, and DataFile close () Method |
18:09 | |
| |
Homework Challenge |
29:35 | |
| |
| Homework Challenge |
29:36 | |
|
Classes vs. Objects |
37:49 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:09 | |
| |
| Lesson Overview |
0:10 | |
| |
Class vs. Object Review |
0:58 | |
| |
| Class vs. Object Review |
0:59 | |
| |
Static Properties |
2:42 | |
| |
| Static Properties |
2:43 | |
| |
Scope Resolution Operator (::) |
5:26 | |
| |
| Scope Resolution Operator (::) & Static Property |
5:27 | |
| |
| Coding Example: Accessing a Static Property Using the Scope Resolution Operator |
7:57 | |
| |
| Coding Example: Accessing a Static Property in a Class Definition |
10:33 | |
| |
| Coding Example: Using a Static Property as an Instance Counter |
14:18 | |
| |
Static Methods |
18:51 | |
| |
| Static Methods Overview |
18:52 | |
| |
| Coding Example: Static Methods |
21:39 | |
| |
Classes vs. Objects |
26:28 | |
| |
| Classes vs. Objects: Diagrams |
26:29 | |
| |
Class Constants |
30:24 | |
| |
| Class Constants Definition |
30:25 | |
| |
| Coding Example: Using Class Constants |
31:55 | |
| |
Homework Challenge |
34:01 | |
| |
| Homework Challenge: 1 - 5 |
34:02 | |
| |
Homework Challenge (cont.) |
35:25 | |
| |
| Homework Challenge: 6 - 10 |
35:26 | |
|
Web Application Development |
21:07 |
| |
Intro |
0:00 | |
| |
Version 9.0 Overview |
0:12 | |
| |
| Version 9.0 Changes & Examples |
0:13 | |
| |
Output Class |
1:08 | |
| |
| Output Class & Static Methods |
1:09 | |
| |
| outputHtmlSelector ( ) Method |
2:43 | |
| |
| outputItemSelector ( ) Method |
4:53 | |
| |
| outputDeptSelector ( ) Method |
6:42 | |
| |
buildObject() Methods |
11:54 | |
| |
| buildObject() Methods & Examples |
11:55 | |
|
Exceptions |
22:43 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:12 | |
| |
| Lesson Overview |
0:13 | |
| |
try Blocks |
0:44 | |
| |
| try Blocks Definition |
0:45 | |
| |
catch Blocks |
2:03 | |
| |
| catch Blocks: Definition and Syntax |
2:04 | |
| |
| Coding Example: try/catch Blocks |
3:48 | |
| |
| When an Exception Object is Caught & Error Handling |
5:59 | |
| |
Exception Class |
7:02 | |
| |
| Exception Class |
7:03 | |
| |
| Coding Example: Using try/catch to Catch an Exception Thrown from a Method |
8:04 | |
| |
Re-Throwing Exceptions |
16:39 | |
| |
| Re-Throwing Exceptions |
16:40 | |
| |
| Coding Example: Re-throwing an Exception |
17:21 | |
| |
Homework Challenge |
20:40 | |
| |
| Homework Challenge: 1 - 5 |
20:41 | |
| |
Homework Challenge (cont.) |
22:17 | |
| |
| Homework Challenge: 6 |
22:18 | |
|
Web Application Development |
22:00 |
| |
Intro |
0:00 | |
| |
Version 10.0 Overview |
0:11 | |
| |
| Updating addItem.php, addItemToDept.php, and error.php |
0:12 | |
| |
| Updating DataFile Class: open ( ) Method & try/catch blocks |
7:45 | |
| |
Version 10.1 Overview |
13:37 | |
| |
| Version 10.1 Changes & Examples |
13:38 | |
| |
| Updating DataFile Class: close ( ) Method & logWarning ( ) |
20:17 | |
|
Cookies |
39:47 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:09 | |
| |
| Lesson Overview |
0:10 | |
| |
What is a Cookie? |
1:15 | |
| |
| Definition of Cookie |
1:16 | |
| |
HTTP - A Stateless Protocol |
2:17 | |
| |
| HTTP - A Stateless Protocol |
2:18 | |
| |
| Purpose of Cookies |
4:10 | |
| |
Set - Cookie Header |
6:21 | |
| |
| Introduction to Set - Cookie Header |
6:22 | |
| |
| Coding Example: Set - Cookie Header |
7:38 | |
| |
Cookie Header |
9:45 | |
| |
| Introduction to Cookie Header |
9:46 | |
| |
| Example: Cookie Header |
10:27 | |
| |
setcookie() |
12:33 | |
| |
| Introduction to setcookie() |
12:34 | |
| |
| Example: Using setcookie |
13:54 | |
| |
Cookies Attributes |
15:48 | |
| |
| Cookies Attributes Overview |
15:49 | |
| |
| Common Cookies Attributes: Domain |
16:24 | |
| |
| Common Cookies Attributes: Path |
17:04 | |
| |
| Common Cookies Attributes: Expires |
19:34 | |
| |
| Coding Example: Setting Cookie Attributes |
20:58 | |
| |
$_COOKIE Superglobal |
27:03 | |
| |
| $_COOKIE Superglobal |
27:04 | |
| |
| Coding Example: Accessing Cookies from PHP Using $_COOKIE |
29:45 | |
| |
Security Implications |
34:44 | |
| |
| Security Implications |
34:45 | |
| |
Homework Challenge |
36:10 | |
| |
| Homework Challenge: 1 - 4 |
36:11 | |
| |
Homework Challenge (cont.) |
37:47 | |
| |
| Homework Challenge: 5 - 7 |
37:48 | |
|
Web Application Development |
39:11 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:17 | |
| |
| Lesson Overview |
0:18 | |
| |
instanceof Operator |
1:34 | |
| |
| instanceof Operator |
1:35 | |
| |
Objects with Object Properties |
2:53 | |
| |
| Objects with Object Properties |
2:54 | |
| |
Version 11.0 Overview |
6:41 | |
| |
| Version 11.0 Changes: Cart and CartItem Classes |
6:42 | |
| |
| Version 11.0 Coding Example |
10:40 | |
| |
Version 11.1 Overview |
31:03 | |
| |
| Version 11.1 Changes & Examples |
31:04 | |
|
Introduction to Sessions |
46:08 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:08 | |
| |
| Lesson Overview |
0:09 | |
| |
What is a Session? |
0:53 | |
| |
| What is a Session? |
0:54 | |
| |
Client-Side Sessions |
3:51 | |
| |
| Client-Side Sessions |
3:52 | |
| |
Server-Side Sessions |
5:04 | |
| |
| Server-Side Sessions |
5:05 | |
| |
Session IDs |
6:26 | |
| |
| Session IDs |
6:27 | |
| |
| The SID is Used by the Server to: |
7:08 | |
| |
| A Client Passes an SID to the Server with Each HTTP Request Via: |
8:15 | |
| |
Sessions in PHP |
12:19 | |
| |
| Sessions in PHP |
12:20 | |
| |
session_start() |
14:40 | |
| |
| session_start() Overview |
14:41 | |
| |
| Coding Example: Using session_start () to Continue a Session |
18:03 | |
| |
$_SESSION Superglobal |
22:06 | |
| |
| $_SESSION Superglobal Overview |
22:07 | |
| |
| Coding Example: Setting a Session Variable via $_SESSION |
25:22 | |
| |
Accessing Session Data |
28:08 | |
| |
| Accessing Session Data |
28:09 | |
| |
Deleting Session Data |
31:43 | |
| |
| Deleting Session Data |
31:44 | |
| |
| Coding Example: Deleting Session Data |
32:16 | |
| |
Configuring PHP Sessions |
36:14 | |
| |
| session.cookie_lifetime, session.cookie_domain, and session.cookie_path |
36:15 | |
| |
| Coding Example: Configuring PHP Sessions |
37:28 | |
| |
Configuring PHP Sessions (cont.) |
40:56 | |
| |
| session.use_cookies, session.use_trans_sid, and session.use_only_cookies |
40:57 | |
| |
| Coding Example: Configuring PHP Sessions |
42:25 | |
| |
Homework Challenge |
42:55 | |
| |
| Homework Challenge: 1 - 5 |
42:56 | |
| |
Homework Challenge (cont.) |
44:10 | |
| |
| Homework Challenge: 6 - 10 |
44:11 | |
| |
Homework Challenge (cont.) |
45:27 | |
| |
| Homework Challenge: 11 - 13 |
45:28 | |
|
Web Application Development |
11:00 |
| |
Intro |
0:00 | |
| |
Version 12.0 Overview |
0:12 | |
| |
| Version 12.0 Changes Part I: Updating 'viewCart.php' & 'checkout.php' |
0:13 | |
| |
| Version 12.0 Changes Part II |
5:03 | |
|
Destroying Sessions |
29:59 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:12 | |
| |
| Lesson Overview |
0:13 | |
| |
Destroying Sessions |
1:02 | |
| |
| Destroying Sessions |
1:03 | |
| |
session_destroy() |
2:10 | |
| |
| session_destroy() Overview |
2:11 | |
| |
| Coding Example: Setting a Session Variable and Destroying a Session |
3:18 | |
| |
Deleting Session Cookies |
8:38 | |
| |
| Deleting Session Cookies |
8:39 | |
| |
| Coding example: Deleting Session Cookies |
9:17 | |
| |
Review of Steps |
21:07 | |
| |
| Review of Steps |
21:08 | |
| |
Garbage Collection |
21:50 | |
| |
| Garbage Collection Overview |
21:51 | |
| |
| Coding Example: Garbage Collection |
24:30 | |
| |
Homework Challenge |
26:28 | |
| |
| Homework Challenge: 1 - 4 |
26:29 | |
| |
Homework Challenge (cont.) |
28:16 | |
| |
| Homework Challenge: 5 - 9 |
28:17 | |
|
Web Application Development |
19:14 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:13 | |
| |
| Lesson Overview |
0:14 | |
| |
_autoload() |
0:46 | |
| |
| Introduction to _autoload () |
0:47 | |
| |
Version 13.0 Overview |
4:06 | |
| |
| _autoload () and SessionManager Class |
4:07 | |
| |
| Updating 'viewCart.php' & 'checkout.php' |
11:16 | |
|
Introduction to Databases |
21:24 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:16 | |
| |
| Lesson Overview |
0:17 | |
| |
Flat Files |
1:09 | |
| |
| Flat Files: Definition and Example |
1:10 | |
| |
| Problems Associated with Using Flat Files as a Database |
2:15 | |
| |
Relational Databases |
3:29 | |
| |
| Relational Databases |
3:30 | |
| |
| Relational Database Management System (RDBMS) |
3:50 | |
| |
Tables |
7:43 | |
| |
| Tables |
7:44 | |
| |
Columns |
9:24 | |
| |
| Columns |
9:25 | |
| |
What is SQL? |
10:45 | |
| |
| Introduction to Structured Query Language |
10:46 | |
| |
| Standard Data Types of SQL |
12:23 | |
| |
Primary Keys |
13:19 | |
| |
| Primary Keys |
13:20 | |
| |
Primary Key Examples |
16:36 | |
| |
| Primary Key Examples |
16:37 | |
|
Introduction to MySQL |
28:11 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:11 | |
| |
| Lesson Overview |
0:12 | |
| |
What is MySQL? |
1:33 | |
| |
| MySQL |
1:34 | |
| |
MySQL Monitor |
5:16 | |
| |
| MySQL Monitor Overview |
5:17 | |
| |
| XAMPP & MySQL |
5:58 | |
| |
| In the MySQL Command: hostname, username and -p |
7:05 | |
| |
Connecting to a MySQl Server |
9:52 | |
| |
| Connecting to a MySQl Server |
9:53 | |
| |
Using MySQl Monitor |
13:48 | |
| |
| Using MySQl Monitor |
13:49 | |
| |
GRANT Command |
15:10 | |
| |
| GRANT SQL Command |
15:11 | |
| |
| Privileges & Objects |
18:18 | |
| |
| Username, Hostname, and Password |
19:37 | |
| |
| Specifying Objects |
20:05 | |
| |
Creating a PHP User Account |
21:41 | |
| |
| Creating a PHP User Account Overview |
21:42 | |
| |
| Meaning of all & *.* |
23:35 | |
| |
| Example: Creating a PHP User Account |
23:48 | |
| |
Required Homework |
26:27 | |
| |
| Required Homework: 1 - 5 |
26:28 | |
| |
Required Homework (cont.) |
27:28 | |
| |
| Required Homework: 6 |
27:29 | |
|
Creating Databases & Tables |
23:01 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:08 | |
| |
| Lesson Overview |
0:09 | |
| |
Creating a Database |
1:40 | |
| |
| Introduction to Creating a Database |
1:41 | |
| |
| Example: Creating a Database |
3:33 | |
| |
CREATE TABLE Command |
6:43 | |
| |
| CREATE TABLE Command |
6:44 | |
| |
Data Types |
7:39 | |
| |
| Numeric Data Types: INT, INT UNSIGNED, and DECIMAL |
7:40 | |
| |
| String Data Types: CHAR (M), VARCHAR (M), and TEXT |
9:23 | |
| |
Colum Attributes |
11:00 | |
| |
| PRIMARY KEY Attribute |
11:01 | |
| |
| AUTO INCREMENT Attribute |
11:35 | |
| |
Items Table |
13:07 | |
| |
| Items Table |
13:08 | |
| |
Useful Commands |
17:04 | |
| |
| SHOW TABLES Command & DESCRIBE Utility Statement |
17:05 | |
| |
| Example: Creating an Items Table |
17:58 | |
| |
Required Homework |
20:51 | |
| |
| Required Homework: 1 - 6 |
20:52 | |
| |
Required Homework (cont.) |
21:55 | |
| |
| Required Homework: 7 - 9 |
21:56 | |
|
SQL Command: INSERT |
27:11 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:11 | |
| |
| Lesson Overview |
0:12 | |
| |
INSERT Command |
1:20 | |
| |
| SQL INSERT Command |
1:21 | |
| |
Specifying Values |
3:16 | |
| |
| Columns with Numeric Data Types |
3:17 | |
| |
| Columns with String Data Types |
3:34 | |
| |
| Columns with AUTO INCREMENT |
4:07 | |
| |
Inserting Items |
5:21 | |
| |
| Inserting Items |
5:22 | |
| |
| Example: Inserting Items |
7:03 | |
| |
SQL Text Files |
14:04 | |
| |
| SQL Monitor Client |
14:05 | |
| |
| MySQL Monitor & the < Operator |
15:15 | |
| |
| Example |
17:35 | |
| |
Required Homework |
22:32 | |
| |
| Required Homework: 1 - 6 |
22:33 | |
| |
Required Homework (cont.) |
24:19 | |
| |
| Required Homework: 7 - 10 |
24:20 | |
|
SQL Command: SELECT |
24:57 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:10 | |
| |
| Lesson Overview |
0:11 | |
| |
SELECT Command |
0:42 | |
| |
| SELECT Command: Definition and Syntax |
0:43 | |
| |
| Results of a SELECT Query |
1:53 | |
| |
| To Specify the Retrieval of All Columns from a Table |
3:06 | |
| |
| Example: SELECT Command |
4:18 | |
| |
WHERE Clause |
7:11 | |
| |
| WHERE Clause |
7:12 | |
| |
| A SELECT Query with WHERE Clause has the Following Syntax |
8:10 | |
| |
| A Where Condition can Contain both Logical and Comparison Operators |
9:44 | |
| |
Literal Values |
13:24 | |
| |
| Literal Values |
13:25 | |
| |
| Example: Literal Values |
14:18 | |
| |
ORDER BY Clause |
15:31 | |
| |
| ORDER BY Clause & SELECT Query |
15:32 | |
| |
| Ascending and Descending Order |
17:30 | |
| |
| An ORDER BY Clause can Specify Multiple Columns to Order the Rows by |
18:01 | |
| |
| Example: SELECT Query with WHERE and ORDER BY Clause |
20:32 | |
| |
Homework Challenge |
21:59 | |
| |
| Homework Challenge |
22:00 | |
| |
Homework Challenge (cont.) |
23:54 | |
| |
| Homework Challenge |
23:55 | |
|
Using PHP from MySQL |
32:43 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:10 | |
| |
| Lesson Overview |
0:11 | |
| |
PHP/MySQL Architecture |
0:56 | |
| |
| PHP/MySQL Architecture |
0:57 | |
| |
MySQLi Extension |
3:05 | |
| |
| MySQLi Extension |
3:06 | |
| |
Steps to Using MySQL from PHP |
5:53 | |
| |
| Four Steps to Using MySQL from PHP |
5:54 | |
| |
| Step # 3 |
7:18 | |
| |
Connecting to a Database |
8:12 | |
| |
| To Connect to a MySQL Database |
8:13 | |
| |
| To Test for Connection Errors |
10:20 | |
| |
Running an SQL Statement |
11:54 | |
| |
| Running an SQL Statement |
11:55 | |
| |
| Example |
13:30 | |
| |
Processing the Results |
15:58 | |
| |
| For non-SELECT Queries |
15:59 | |
| |
| MySQLi Object Property: affected_rows |
16:19 | |
| |
| For INSERT Statements on Tables with an AUTO_INCREMENT Column |
18:07 | |
| |
Closing the Connection |
19:45 | |
| |
| Closing the Connection |
19:46 | |
| |
Coding Example |
21:24 | |
| |
| Coding Example: Using MySQL from PHP |
21:25 | |
| |
Homework Challenge |
29:00 | |
| |
| Homework Challenge: 1 - 4 |
29:01 | |
| |
Homework Challenge (cont.) |
31:10 | |
| |
| Homework Challenge: 5 - 9 |
31:11 | |
|
Web Application Development |
30:30 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:14 | |
| |
| Lesson Overview |
0:15 | |
| |
sprintf() |
1:28 | |
| |
| sprintf() Overview |
1:29 | |
| |
| Example |
1:56 | |
| |
INSERT Statements with sprintf() |
5:15 | |
| |
| INSERT Statements with sprintf() |
5:16 | |
| |
Version 14.0 Overview |
10:00 | |
| |
| Version 14.0 Changes & Examples Part 1 |
10:01 | |
| |
| Version 14.0 Changes & Examples Part 2 |
21:58 | |
|
SELECT QUERIES from PHP |
24:22 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:14 | |
| |
| Lesson Overview |
0:15 | |
| |
SELECT Queries |
1:21 | |
| |
| SELECT Queries |
1:22 | |
| |
MySQLi_Result Class |
3:17 | |
| |
| MySQLi_Result Class: num_rows |
3:18 | |
| |
| MySQLi_Result Class: fetch_assoc ( ) and fetch_object ( ) |
3:59 | |
| |
fetch_assoc() |
5:17 | |
| |
| fetch_assoc() Overview |
5:18 | |
| |
| Coding Example: Using fetch_assoc() |
9:00 | |
| |
stdClass Objects |
12:46 | |
| |
| stdClass Objects |
12:47 | |
| |
fetch_object() |
14:19 | |
| |
| fetch_object() Overview |
14:20 | |
| |
| Coding Example: Using fetch_object() |
16:45 | |
| |
Freeing Result Set Memory |
18:42 | |
| |
| Freeing Result Set Memory |
18:43 | |
| |
| Coding Example: Using free ( ) |
20:01 | |
| |
Homework Challenge |
22:07 | |
| |
| Homework Challenge: 1 - 5 |
22:08 | |
|
Web Application Development |
17:06 |
| |
Intro |
0:00 | |
| |
Version 15.0 Overview |
0:13 | |
| |
| Version 15.0 Changes & Examples Part 1 |
0:14 | |
| |
| Version 15.0 Changes & Examples Part 2 |
8:43 | |
|
Linking Tables |
24:32 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:16 | |
| |
| Lesson Overview |
0:17 | |
| |
A Departments Table |
1:08 | |
| |
| Departments Table |
1:09 | |
| |
| How Could We Model This in a Table: Option 1 |
1:26 | |
| |
| How Could We Model This in a Table: Option 2 |
3:12 | |
| |
Database Normalization |
4:37 | |
| |
| Database Normalization |
4:38 | |
| |
Foreign Keys |
8:47 | |
| |
| Foreign Keys |
8:48 | |
| |
Linking Table |
11:26 | |
| |
| Linking Table |
11:27 | |
| |
Multiple Column Primary Keys |
15:30 | |
| |
| Multiple Column Primary Keys |
15:31 | |
| |
| Example |
18:51 | |
| |
Required Homework |
22:34 | |
| |
| Required Homework: 1 - 3 |
22:35 | |
| |
Required Homework (cont.) |
24:10 | |
| |
| Required Homework: 4 |
24:11 | |
|
Web Application Development |
24:00 |
| |
Intro |
0:00 | |
| |
Version 16.0 Overview |
0:11 | |
| |
| Version 16.0 Changes |
0:12 | |
| |
| Version 16.0 Coding Examples |
4:12 | |
| |
Version 16.0 (cont.) |
18:30 | |
| |
| Version 16.0 Changes & Examples Part 2 |
18:31 | |
|
SQL Command: DELETE |
10:33 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:12 | |
| |
| Lesson Overview |
0:13 | |
| |
DELETE Statement |
0:30 | |
| |
| DELETE Statement & Its WHERE Clause |
0:31 | |
| |
| Delete All Rows From a Table |
2:57 | |
| |
Using DELETE from PHP |
4:04 | |
| |
| Using DELETE from PHP Overview |
4:05 | |
| |
| Coding Example: Using DELETE from PHP |
6:37 | |
| |
Homework Challenge |
8:53 | |
| |
| Homework Challenge: 1 - 4 |
8:54 | |
|
Web Application Development |
16:02 |
| |
Intro |
0:00 | |
| |
Version 17.0 Overview |
0:11 | |
| |
| Version 17.0 Changes |
0:12 | |
| |
| Version 17.0 Coding Example |
2:51 | |
| |
Transactions |
12:50 | |
| |
| Database Transaction |
12:51 | |
| |
| Steps in Using Transactions |
14:00 | |
|
SQL Command: UPDATE |
32:14 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:10 | |
| |
| Lesson Overview |
0:11 | |
| |
UPDATE Statement |
0:54 | |
| |
| UPDATE Statement & Its WHERE Clause |
0:55 | |
| |
| Example: UPDATE Statement |
3:32 | |
| |
Using UPDATE from PHP |
5:21 | |
| |
| Using UPDATE from PHP Overview |
5:22 | |
| |
| Coding Example: Using UPDATE from PHP |
6:53 | |
| |
htmlspecialchars() |
9:04 | |
| |
| htmlspecialchars() |
9:05 | |
| |
| Encoding Special Characters |
9:23 | |
| |
| Coding Example: htmlspecialchars() |
13:41 | |
| |
addslashes() |
20:40 | |
| |
| addslashes() |
20:41 | |
| |
| Coding Example: addslashes() |
22:52 | |
| |
Homework Challenge |
27:55 | |
| |
| Homework Challenge: 1 - 2 |
27:56 | |
| |
Homework Challenge (cont.) |
30:14 | |
| |
| Homework Challenge: 3 - 5 |
30:15 | |
| |
Homework Challenge (cont.) |
30:41 | |
| |
| Homework Challenge: 6 - 9 |
30:42 | |
|
Web Application Development |
12:33 |
| |
Intro |
0:00 | |
| |
Version 18.0 Overview |
0:12 | |
| |
| Version 18.0 Changes |
0:13 | |
| |
| Version 18.0 Coding Example |
1:24 | |
|
SQL: Joins |
42:16 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:11 | |
| |
| Lesson Overview |
0:12 | |
| |
DATETIME Data Type |
1:52 | |
| |
| DATETIME Data Type |
1:53 | |
| |
Modeling Orders |
5:12 | |
| |
| Modeling Orders |
5:13 | |
| |
Customers Table |
10:46 | |
| |
| Customers Table |
10:47 | |
| |
Example |
16:18 | |
| |
| Example: Order Table in MySQL |
16:19 | |
| |
Joins |
22:26 | |
| |
| Joins Overview |
22:27 | |
| |
| Inner Join |
23:09 | |
| |
| Example: Joins |
24:11 | |
| |
Join Conditions |
28:14 | |
| |
| Join Conditions |
28:15 | |
| |
| Example |
28:32 | |
| |
| Join Queries |
30:00 | |
| |
| Example: Join Conditions in MySQL |
30:36 | |
| |
Implicit Joins |
34:42 | |
| |
| Implicit Joins |
34:43 | |
| |
| Example: Implicit Joins |
35:57 | |
| |
Aliases |
37:28 | |
| |
| Introduction to Aliases |
37:29 | |
| |
| Example: Aliases |
38:55 | |
| |
Required Homework |
40:32 | |
| |
| Problem 1 |
40:33 | |
| |
| Problem 2 |
41:01 | |
| |
| Problem 3 |
41:17 | |
|
Web Application Development |
29:34 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:12 | |
| |
| Lesson Overview |
0:13 | |
| |
Inserting Orders |
0:44 | |
| |
| Inserting Orders |
0:45 | |
| |
Version 19.0 Overview |
3:45 | |
| |
| Version 19.0 Changes & Example Part 1 |
3:46 | |
| |
| Version 19.0 Changes & Example Part 2 |
13:18 | |
| |
Version 19.1 Overview |
21:10 | |
| |
| Version 19.1 Changes |
21:11 | |
| |
| Version 19.1 Coding Example |
22:18 | |
|
User Authentication |
26:13 |
| |
Intro |
0:00 | |
| |
Lesson Overview |
0:10 | |
| |
| Lesson Overview |
0:11 | |
| |
User Authentication |
1:31 | |
| |
| User Authentication |
1:32 | |
| |
Authentication with Sessions |
2:34 | |
| |
| Authentication with Sessions |
2:35 | |
| |
| Four Steps in Authentication via Sessions |
2:50 | |
| |
Using Sessions to Restrict Access |
3:58 | |
| |
| Using Sessions to Restrict Access |
3:59 | |
| |
| Coding Example: Restricted Access Area |
4:47 | |
| |
Authentication Methods |
5:54 | |
| |
| Authentication Methods Overview |
5:55 | |
| |
| Coding Example: Authentication Methods |
7:31 | |
| |
Logging Out |
9:57 | |
| |
| Logging Out |
9:58 | |
| |
| Coding Example: Log Out |
10:47 | |
| |
Users Table |
13:50 | |
| |
| Users Table |
13:51 | |
| |
| Example: Creating a Users Table |
15:08 | |
| |
Password Hashing |
17:30 | |
| |
| Password Hashing |
17:31 | |
| |
| PHP and MySQL Built-in Hash Functions: sha1 ( ) and md5 ( ) |
18:43 | |
| |
| Coding Example: Password Hashing |
19:27 | |
| |
Required Homework |
24:41 | |
| |
| Required Homework: 1 - 4 |
24:42 | |
|
Web Application Development |
14:36 |
| |
Intro |
0:00 | |
| |
Version 20.0 Overview |
0:13 | |
| |
| Version 20.0 Changes & Examples Part 1 |
0:14 | |
| |
| Version 20.0 Changes & Examples Part 2 |
5:05 | |
| |
| Version 20.0 Changes & Examples Part 3 |
7:29 | |
| |
Version 20.0 (cont.) |
8:31 | |
| |
| Version 20.0 Changes & Examples Part 4 |
8:32 | |