1. Урок 1.00:01:33
    Introduction: How to Get the Most Out of the Course
  2. Урок 2.00:02:40
    Recommended Software Overview
  3. Урок 3.00:04:35
    Install XAMPP on Windows
  4. Урок 4.00:05:31
    Install XAMPP on MAC OS X
  5. Урок 5.00:03:51
    Install XAMPP on Ubuntu Linux
  6. Урок 6.00:02:25
    Install Atom on Windows
  7. Урок 7.00:03:25
    Install Atom on MAC OS X
  8. Урок 8.00:02:25
    Install Atom on Ubuntu Linux
  9. Урок 9.00:03:59
    Write Your First PHP Code: Display a Message in Your Web Browser
  10. Урок 10.00:04:17
    Variables in PHP: What They are, How to Create Them, and How to Name Them
  11. Урок 11.00:04:59
    Basic Variable Types: Strings and Numbers
  12. Урок 12.00:03:03
    Basic Variable Types: Boolean and Null
  13. Урок 13.00:05:37
    Perform Operations on Variables: Operators
  14. Урок 14.00:03:37
    Strings: Using Single or Double Quotes and Variable Interpolation
  15. Урок 15.00:05:05
    Introduction to Arrays: Create an Array and Access its Elements
  16. Урок 16.00:03:40
    Assign Manual Array Indexes and Create Associative Arrays
  17. Урок 17.00:06:47
    Create and Access Multidimensional Arrays
  18. Урок 18.00:03:25
    Process Each Element of an Array: foreach Loops
  19. Урок 19.00:02:32
    Process the value and index of each array element using a foreach loop
  20. Урок 20.00:05:31
    Run Code Conditionally: the if Construct
  21. Урок 21.00:04:30
    Compare One Value to another: Comparison Operators
  22. Урок 22.00:03:03
    Run Code Multiple Times Based on a Condition: While Loops
  23. Урок 23.00:04:13
    Run Code a Specific Number Of Times: For Loops
  24. Урок 24.00:02:44
    Add More Conditions to an If Statement Using Elseif
  25. Урок 25.00:03:13
    Perform Different Actions Based on Different Conditions: The Switch Statement
  26. Урок 26.00:05:51
    The Language of Web Pages: an Introduction To Html
  27. Урок 27.00:05:37
    Use Head and Body Elements to Structure An Html Document
  28. Урок 28.00:02:55
    Structure the Content of your Page Using Heading and Paragraph Elements
  29. Урок 29.00:03:20
    Give Text Emphasis or Importance Using the em and Strong Elements
  30. Урок 30.00:03:56
    Display Ordered and Unordered Lists of Items
  31. Урок 31.00:05:33
    Insert Images Into an Html Document
  32. Урок 32.00:04:18
    Add a Link from One Page to Another Using a Hyperlink
  33. Урок 33.00:05:05
    Add Semantic Structure to The Body of an Html Document
  34. Урок 34.00:07:06
    Create Dynamic Content: Mixing HTML and PHP
  35. Урок 35.00:04:33
    Use PHP Control Structures Mixed with HTML
  36. Урок 36.00:04:50
    Make HTML More Readable: Use Whitespace and Comments
  37. Урок 37.00:05:41
    Make PHP Easier To Maintain: Use Comments and Coding Standards
  38. Урок 38.00:03:34
    Where to Store Data in a Dynamic Website: An Introduction to Databases
  39. Урок 39.00:07:53
    Access the Database Server Using phpMyAdmin And Create a Database
  40. Урок 40.00:08:56
    Use Tables to Store Structured Data in a Database
  41. Урок 41.00:06:01
    Select Some Data from The Database: An Introduction to Sql
  42. Урок 42.00:06:09
    Using Indexes: Make Queries Faster and Order the Result Set
  43. Урок 43.00:04:56
    Connect to the Database from PHP
  44. Урок 44.00:05:21
    Query the Database from PHP And Get the Results
  45. Урок 45.00:04:19
    Combine PHP and HTML to Show a Formatted List of Articles
  46. Урок 46.00:03:24
    Add a New Page to Show a Single Article
  47. Урок 47.00:05:36
    Passing Data in the URL: Send the Article ID Using the Query String
  48. Урок 48.00:05:04
    Avoid SQL Injection: Validate the ID Passed in from the Query String
  49. Урок 49.00:07:30
    Don't Repeat Yourself: Extract Repeated Code to a Separate File
  50. Урок 50.00:04:31
    Organise and Secure Access to the Included Files
  51. Урок 51.00:05:23
    Getting Data From the User: An Introduction to Forms in HTML
  52. Урок 52.00:05:21
    Change the Method the Form Uses to Send its Data: get vs post
  53. Урок 53.00:05:09
    Get Different Types of Data from the User: Basic Input Types
  54. Урок 54.00:05:17
    Access Data from the form on the Server
  55. Урок 55.00:02:29
    Add a Multi-line Text Control: the textarea Element
  56. Урок 56.00:03:58
    Present a Fixed List of Options: the Select Element
  57. Урок 57.00:04:03
    Toggle an Option on or off: checkboxes
  58. Урок 58.00:03:00
    Select only one Option from a List: Radio Buttons
  59. Урок 59.00:05:36
    Add an Accessible Caption to Each Input: the Label Element
  60. Урок 60.00:02:49
    Make the Form Easier to Use: fieldsets and placeholders
  61. Урок 61.00:02:42
    Common form Control Attributes: readonly, disabled and autofocus
  62. Урок 62.00:06:24
    Validate Input Using HTML5 form Validation
  63. Урок 63.00:03:12
    Add a Form to Insert a New Article
  64. Урок 64.00:04:38
    Insert Data Into the Database: The SQL INSERT INTO Statement
  65. Урок 65.00:04:15
    Insert a New Article Into the Database and Get the ID of the New Record
  66. Урок 66.00:06:14
    How SQL Injection Attacks Work
  67. Урок 67.00:02:09
    Avoid SQL Injection Attacks: Escape Input
  68. Урок 68.00:04:09
    Avoid SQL Injection Attacks: Use Prepared Statements
  69. Урок 69.00:07:03
    Functions: Define and Call a Function in PHP
  70. Урок 70.00:03:57
    Create a Function to Connect to the Database
  71. Урок 71.00:04:20
    Validate the Form Data and redisplay the Form with Error Messages if Invalid
  72. Урок 72.00:04:41
    Maintain Previously-supplied Data When redisplaying an Invalid Form
  73. Урок 73.00:05:03
    Avoid Cross-site Scripting (XSS) Attacks: Escape Untrusted Content
  74. Урок 74.00:01:39
    Insert NULL if the Publication Date is Empty
  75. Урок 75.00:05:23
    Validate the Publication Date is a Valid Date and Time
  76. Урок 76.00:05:19
    Redirect to the Article Page After Inserting a New Article
  77. Урок 77.00:06:06
    Editing Existing Articles: Create a Function to Get a Single Article
  78. Урок 78.00:04:22
    Add a Form for Editing an Existing Article
  79. Урок 79.00:05:39
    Add a Validation Function and Validate the Form Data
  80. Урок 80.00:02:40
    Change Existing Data in the Database: The SQL UPDATE Statement
  81. Урок 81.00:04:05
    Update an Existing Article in the Database
  82. Урок 82.00:02:55
    Create a Function to Redirect to Another URL
  83. Урок 83.00:01:46
    Delete Existing Data in the Database: The SQL DELETE Statement
  84. Урок 84.00:03:19
    Delete an Existing Article in the Database
  85. Урок 85.00:02:21
    Use the POST Request Method to Delete the Article
  86. Урок 86.00:02:42
    Get Confirmation from the User Before Deleting the Article
  87. Урок 87.00:04:16
    Improve Database Performance: Only use SELECT * when Necessary
  88. Урок 88.00:05:29
    Make the Web Browser Remember you Between Visits: An Introduction to Sessions
  89. Урок 89.00:06:04
    Store Data in the Browser: Cookies in PHP
  90. Урок 90.00:04:59
    Store a Value in the Session to Log in and Log out a User
  91. Урок 91.00:04:19
    Add a Login form and Process the User's Login Credentials
  92. Урок 92.00:03:21
    Completely Destroy the Session on Logout and Redirect ack to the Index Page
  93. Урок 93.00:01:57
    Increase Security: Prevent Session Fixation Attacks
  94. Урок 94.00:04:02
    Restrict Access to a Page to a Logged-in User Only
  95. Урок 95.00:04:24
    Classes and Objects: An Introduction to Object-Oriented PHP
  96. Урок 96.00:03:46
    Object Attributes: Adding Properties to a Class
  97. Урок 97.00:03:27
    Object Functions: Adding Methods to a Class
  98. Урок 98.00:02:35
    Object Initialisation: the Constructor Method
  99. Урок 99.00:02:43
    Control Access: Public and Private visibility of Properties and Methods
  100. Урок 100.00:03:49
    Public Properties vs Getter and Setter Methods
  101. Урок 101.00:03:47
    Static Properties and Methods
  102. Урок 102.00:03:48
    Constants: Using Define and const to Create Constant Values
  103. Урок 103.00:04:04
    Inheritance: Using the Extends Keyword to reuse Code and reduce Repetition
  104. Урок 104.00:02:53
    Overriding Methods and Using the Parent Keyword to Call the Parent Class Code
  105. Урок 105.00:04:04
    Control Access: Protected Visibility of Properties and Methods
  106. Урок 106.00:05:33
    Add a Database Class and Connect to the Database Using PHP Data Objects (PDO)
  107. Урок 107.00:02:14
    Queries in PDO: Change the Index Page to Use the New Database Class
  108. Урок 108.00:05:16
    Catch Database Errors Using Exceptions and try ... catch Blocks
  109. Урок 109.00:05:51
    Prepared Statements with Named Parameters in PDO: view an Individual Article
  110. Урок 110.00:03:39
    Create an Article Class and Use it on the Index and Article Pages
  111. Урок 111.00:02:44
    Fetch the Database Record as an Object Instead of an Array
  112. Урок 112.00:05:39
    Update the Article Record Using PDO
  113. Урок 113.00:04:49
    Move the Validation Function to the Article Class
  114. Урок 114.00:03:03
    Delete the Article Record Using PDO
  115. Урок 115.00:06:17
    Insert a new Article Record Using PDO and get the ID of the New Record
  116. Урок 116.00:02:38
    Create a User Class and a Method to Authenticate a User
  117. Урок 117.00:02:22
    Create a Table to Store User Data in the Database
  118. Урок 118.00:04:42
    Authenticate the User with Data from the Database
  119. Урок 119.00:06:24
    Store Passwords Securely: PHP Password Hashing Functions
  120. Урок 120.00:02:09
    Store the Password as a Hash in the Database and Verify it on Login
  121. Урок 121.00:03:14
    Convert the auth Include into a Class
  122. Урок 122.00:02:46
    Convert the url Include into a Class
  123. Урок 123.00:03:48
    Autoloading Classes: Require Class Files Automatically
  124. Урок 124.00:04:05
    Add an Initialisation Script Including an Autoloader
  125. Урок 125.00:03:48
    Returning a Value Using Require: Add a Script to get the Database Connection
  126. Урок 126.00:03:54
    Move all Authentication-related Code to the Auth Class
  127. Урок 127.00:06:46
    Create an Admin Index and Load Classes Relative to the site root Directory
  128. Урок 128.00:06:51
    Displaying Tabular Data in HTML: Tables
  129. Урок 129.00:02:59
    Display the Admin List of Articles in a Table and Restrict Access to the Page
  130. Урок 130.00:05:05
    Add Sitewide Navigation Links
  131. Урок 131.00:04:41
    Move the Edit and Delete Article Scripts to the admin Area
  132. Урок 132.00:03:11
    Move the New Article Script to the admin Area
  133. Урок 133.00:03:07
    Pagination: Split Database Results up Into Pages
  134. Урок 134.00:02:43
    Add a Method to the Article Class to get a Single Page of Article Records
  135. Урок 135.00:03:38
    Add a Paginator Class and Calculate the offset and Limit from the Page Number
  136. Урок 136.00:03:35
    Get the Page Number from the Query String
  137. Урок 137.00:03:55
    Validate the Page Number using the filter_var Function
  138. Урок 138.00:03:36
    Add Previous and Next Pagination Links
  139. Урок 139.00:04:13
    Calculate the Total Number of Records and Pages
  140. Урок 140.00:05:01
    Add Pagination to the admin Index and Create Shared Pagination Links
  141. Урок 141.00:04:59
    Uploading Files: Add a Form to Upload an Article Image
  142. Урок 142.00:03:05
    Handle the Upload Error Code
  143. Урок 143.00:06:25
    Restrict the Size of all Uploaded Files using PHP Configuration Settings
  144. Урок 144.00:01:41
    Restrict the Size of an Uploaded File in an Individual Form
  145. Урок 145.00:04:06
    Restrict the Type of an Uploaded File
  146. Урок 146.00:04:20
    Create a Folder for Uploads and Move the Uploaded File into it
  147. Урок 147.00:03:02
    Sanitise the Uploaded Filename as a Security Precaution
  148. Урок 148.00:03:05
    Don't Overwrite Existing Files in the Uploads Folder
  149. Урок 149.00:03:30
    Save the Filename to the Article Record in the Database
  150. Урок 150.00:02:00
    Display the Uploaded Image if an Article has one
  151. Урок 151.00:02:22
    Delete the Previous image File when an Article Image is Updated
  152. Урок 152.00:04:16
    Add an Option to Delete an Article's Image file
  153. Урок 153.00:02:26
    Database Relationships: Create a Table and Data for Categories
  154. Урок 154.00:03:48
    One-to-one Relationships Between Tables
  155. Урок 155.00:02:01
    One-to-many Relationships Between Tables
  156. Урок 156.00:04:07
    Joins: Selecting Data from Multiple, Related Tables at Once
  157. Урок 157.00:04:00
    Relationship Constraints
  158. Урок 158.00:05:47
    Many-to-many Relationships Between Tables
  159. Урок 159.00:06:11
    Show an Article's Categories on the Individual Article Page
  160. Урок 160.00:03:14
    Get an Article's Categories in an Object Method
  161. Урок 161.00:05:37
    Add a Category Class and form Inputs to edit an Article's Categories
  162. Урок 162.00:07:40
    Insert Article Categories while Avoiding Duplicate Records in the Join Table
  163. Урок 163.00:04:19
    Insert Article Categories more Efficiently using a Single Query
  164. Урок 164.00:04:20
    Delete Article Category Records if Unchecked in the Form
  165. Урок 165.00:04:27
    Add Categories When Inserting a new Article Record
  166. Урок 166.00:09:27
    Pagination and Joins: Show Categories in the Index Page
  167. Урок 167.00:06:11
    Execute Code in the Browser: An Introduction to JavaScript
  168. Урок 168.00:05:23
    Using the jQuery Library
  169. Урок 169.00:02:59
    Add jQuery and a Custom Script file to the CMS
  170. Урок 170.00:07:24
    Add Delete Confirmation Using JavaScript and POST
  171. Урок 171.00:05:40
    Client-side form Validation Using the jQuery Validation Plugin
  172. Урок 172.00:06:15
    An Introduction to Ajax with PHP
  173. Урок 173.00:05:31
    Use JSON to Safely Encode Structured Data in an Ajax Request
  174. Урок 174.00:03:19
    Only Show an Individual Article if it's been Published
  175. Урок 175.00:03:41
    Only Show Published Articles on the Index Page
  176. Урок 176.00:04:06
    Use the DateTime Class and the Time Element to Show the Published Date and Time
  177. Урок 177.00:02:20
    Show the Published Date and Time of Articles in the admin Area
  178. Урок 178.00:07:48
    Publish Unpublished Articles Using an Ajax Request
  179. Урок 179.00:05:55
    Add Styling and Formatting to HTML: an Introduction to CSS
  180. Урок 180.00:03:00
    Using CSS Frameworks: Bootstrap et al
  181. Урок 181.00:03:11
    Add a General Layout and Style the Navigation Links
  182. Урок 182.00:02:41
    Add Styling and Layout to Forms and Tables
  183. Урок 183.00:03:23
    Add a Custom Stylesheet and Style the List of Articles
  184. Урок 184.00:03:57
    Add a Date and Time Picker Plugin to make Selecting Dates and Times Easier
  185. Урок 185.00:02:49
    Add a Contact Page for Sending an Email
  186. Урок 186.00:04:28
    Validate the Submitted Contact Form
  187. Урок 187.00:02:52
    Get Access to a Mail Server
  188. Урок 188.00:05:35
    How to Send Email from PHP: the Mail Function and PHPMailer
  189. Урок 189.00:03:28
    Send Email from the Contact Page Using PHPMailer
  190. Урок 190.00:05:04
    Extract Environment-dependent Settings out into a Single Configuration File
  191. Урок 191.00:02:32
    Deny Direct Access to the config file from a Browser
  192. Урок 192.00:05:36
    Handing Errors and Exceptions: user-defined Handling Functions
  193. Урок 193.00:04:54
    Display Error and Exception Details Depending on the Environment
  194. Урок 194.00:04:25
    HTTP Status Codes and Handling Ajax Errors
  195. Урок 195.00:06:01
    Deployment: Publish your Code on a Live Server
  196. Урок 196.00:01:39
    Conclusion: Where to go from Here
  197. Урок 197.00:00:49
    Bonus - Please Watch!