Autoplay
Autocomplete
Previous Lesson
Complete and Continue
The Ultimate Web Development Course
Course Introduction
Introduction (7:20)
Download the Working Files and accompanying eBook
The Course Bookmarks
Komodo Text Editor
Introducing Komodo Edit (2:05)
Download Komodo Edit (2:18)
Configure Komodo Edit (3:54)
Local Webserver Installation
Introducing XAMPP (2:41)
Download and Install XAMPP (5:51)
Change Server Timezone (2:19)
XAMPP Tools and phpMyAdmin (1:12)
Bare Bones HTML5
Introducing HTML5 (4:44)
Bare bones HTML - Movies List Page (12:20)
Bare Bones HTML - Single Movie Page (2:18)
Bare Bones HTML - Admin Page (5:26)
Styling with CSS
Introduction to Styling with CSS (5:33)
CSS Reset (4:39)
Styling with Classes and IDs (4:00)
Applying Classes to index.html (6:51)
Box Layout (10:56)
HTML-shiv for IE8 (5:35)
Styling the header and top navigation (12:33)
Styling the favourites and movie list panel (13:04)
Styling the footer (5:32)
Styling the single movie page (8:19)
Styling the admin pages (20:34)
Creating background images with a CSS sprite (9:17)
Cross-browser compatibility check (1:37)
Validate HTML (1:31)
Essential PHP
Introduction to PHP (2:02)
Combining PHP and HTML to display strings, variables, and HTML tags (14:45)
Echoing quote marks - String delimiters (4:49)
PHP Conditions (6:14)
Switch ... case (2:37)
PHP Loops (4:32)
PHP Includes (7:50)
Arrays (21:27)
Passing variables in the URL (6:09)
Passing variables without their appearing in the URL (4:54)
Guarding against missing variables (4:14)
Functions and variable scope (4:27)
Passing data to functions with parameters (5:20)
MySQL in phpMyAdmin
What is a Database (6:44)
Create a database, add tables (6:15)
Insert data (9:11)
Import data (4:38)
Select records (4:30)
Update existing database records (2:25)
Select favourites (4:09)
Delete records, empty and delete tables and database (3:35)
MySQL in PHP
Initialise and connect to a database with mysqli (13:33)
Select all records from a database (6:58)
Select matching records using WHERE ... AND (4:11)
SQL injection demonstrated (2:48)
Combating SQL injection with mysqli real_escape_string (2:25)
Combating SQL injection with prepared statements (7:13)
Add data through PHP interface (3:50)
Delete data through PHP interface (4:16)
From static HTML to dynamic PHP
Introduction to Section 9 - PHP (1:48)
Efficient, reusable code with PHP includes (9:38)
One index file for single movie and movies list (9:06)
One admin file for users and movies admin (6:36)
Initialise and connect to the favourite movies database (2:53)
Displaying dynamic data - the list of users (9:21)
Convert users list to function (10:19)
Set include paths in parent files (2:11)
User navigation - test if valid user set (6:09)
Set parameters for show users function (3:42)
Parameterised show users function (8:18)
Catching missing and invalid user_id (4:57)
ASSIGNMENT: Write the favourite movies display function
The favourite movies display function (7:36)
ASSIGNMENT: Write the non-favourites display function
The non-favourite movies display (7:26)
Insert personal greeting on movie list page (2:39)
The single movie display (2:04)
Catching missing and invalid user input - movie_id (6:44)
Catching empty movie-goers table (5:31)
ASSIGNMENT - Catching empty movies table
Catching empty movies table (3:14)
Data-dependent title for favourites list (4:48)
Data-dependent welcome in movie list display (3:47)
Data-dependent link on single movie page (3:32)
ASSIGNMENT – Putting dynamic data into the movie admin table
Dynamic data in movies admin table (2:57)
Dynamic data in users admin table (4:02)
Check again for cross-browser compatibility (1:24)
Validate HTML (2:00)
Format HTML source (12:15)
Essential jQuery and AJAX
Introduction to jQuery (4:56)
Install Firebug (1:06)
Basic jQuery syntax (4:44)
The $(this) selector (2:13)
Add/remove class and the dynamic event handler 'on' (4:21)
Retrieving and using HTML attributes (9:55)
One-way drag-and-drop effect using jQuery UI (6:50)
AJAX - Update database in the background with no page refresh (11:14)
ASSIGNMENT - The drag-to-delete AJAX call and PHP script
The drag-to-delete AJAX call and PHP script (8:10)
jQuery effects and AJAX interaction
Adapt JQuery for project (7:06)
Toggle background image on mouseover (2:02)
The click-to-add interface (7:05)
The drag-to-remove interface (4:16)
Load generic thumbnail image in case of missing image
ASSIGNMENT - The add/remove interface for the single movie page
Add-remove interface for single movie page (7:41)
ASSIGNMENT - Data-dependent headings - Modify PHP
Data-dependent headings - Modify PHP (2:38)
ASSIGNMENT- Data-dependent headings - jQuery
Data-dependent headings - jQuery version (7:10)
Visual enhancements and AJAX loader icon (12:14)
ASSIGNMENT: Visibility of admin and movie-goer menus
Control visibility of admin menus (3:26)
ASSIGNMENT - Conditional loading of Javascript files
Conditional loading of Javascript files (1:32)
Movie-goer deletion interface - preliminaries (4:00)
ASSIGNMENT - Movie-goer deletion interface
Movie-goer deletion interface (2:38)
The movie deletion interface (3:40)
Add new user interface (1) (7:33)
Add new user interface (2) (6:53)
Delete newly inserted database records (4:16)
Escape HTML output in jQuery (4:42)
Add new movie interface (2:17)
Update user interface - firstname (15:20)
ASSIGNMENT - Full update user interface
Full update user interface (6:17)
Update movie interface (2:49)
Catch browsers with Javascript disabled (7:50)
Online version and security considerations
Security considerations - directory browsing (1:54)
Prevent directory browsing with .htaccess (2:52)
PHP redirect out of directories (1:53)
Accessing AJAX files through AJAX call only (1:55)
Uploading the project to a webhost (7:58)
Moving the database connection file out of web directory (5:13)
Course conclusion and ... what comes next
Course conclusion and ... what comes next (3:47)
Teach online with
Import data
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock