
Meet Ali, an experienced computer science instructor who shares his journey from C and PHP to teaching online, project management, and building web apps with PHP, HTML, and MySQL.
Navigate the core web development stack in a fast track crash course, from HTML, CSS, and JavaScript to MySQL, PHP, C++, and CGI deployment.
Learn how World Wide Web works, from typing a URL to DNS and IP resolution, contacting a web server, and rendering HTML with PHP or C++ on a local machine.
Define front end and back end, showing how the browser renders HTML and CSS with JavaScript, while the server runs PHP, C++, CGI, and databases.
Install essential development tools on Windows, including Genie, Xampp, TDM C++, and Dev C++, plus Node and path configuration for PHP and project workflows.
Explore HTML, the hypertext markup language that structures web content with elements and attributes, from paragraphs and headings to images, videos, audios, and links.
Learn the structure of an html document, including opening and closing tags and the head and body sections; the head stores the title, and the body contains displayable elements.
Explore the head tag role in page structure, including meta tags, character set, and orientation for rtl languages like Arabic, while noting css and javascript files, styling libraries, and favicon.
Explore basic HTML text formatting tags such as bold, italic, underline, and strike, and learn how font and style attributes control color and inline CSS for embedded tags.
Create your first HTML document by enabling extensions, renaming a text file to .html, and writing HTML tags in an editor; save and view the body content in a browser.
Explore how to create and format headings with h1–h5 and paragraphs with p tags, insert breaks for spacing, duplicate files, and preview results in the browser.
Learn how to create HTML anchor tags to link to external sites, open links in new tabs, and use href, mailto, and tel attributes, with internal page jumps via hashes.
Learn to embed images with the img tag across formats like svg, jpeg, png, webp, and avif, using src, width or percent, and alt and title attributes.
Learn to create HTML lists with ul and ol, define items with li, and use the type attribute to switch between numeric, alphabetic, and roman numerals, including nested sublists.
Learn to create and configure common HTML input controls. Include text, number, date, time, password, email, checkbox, and radio inputs, grouped by the name attribute with placeholder values.
Modify an HTML date extended example using Dgeni to explore extended date input controls, including week and month selections, and see how browser differences render these controls.
Master the range input control, a slider from min to max (0 to 100) with a current value like 80%, built in HTML and adjustable later with JavaScript and jQuery.
Learn to create HTML drop-downs and list boxes with the select tag, add options, assign values, set a default, and enable multiple selections using size and multiple attributes for forms.
Explains how to create a text area for multi-line input, set default text, control size with columns and rows, and observe resizable behavior and scrollbars when content overflows.
Explore how the form tag collects input controls and submits data via method and action attributes, with text and number fields ready for get or post submission.
Create submit and reset buttons for forms, exploring input type button versus button tag, their default behaviors, and how reset clears the form to its defaults, with formatting inside buttons.
Learn to implement video and audio controls with the video tag, specify mp4 sources using source tags with mime types, set width and height, and enable muted autoplay.
Explain HTML comments, including single-line and multiline syntax using <!-- -->, and how comments are not rendered by the browser, viewed in source for documentation.
Discover how the doctype declaration marks a document as HTML, guiding browsers to render the page according to HTML standards, and why omitting it can be ignored as an error.
Understand how a script tag enables front-end decisions and HTML element manipulation in the browser. Learn to link external scripts in the head using JavaScript and see an alert.
Explore PHP as a powerful backend language, covering data types, variables, memory, operators, loops, functions, http methods, json serialization, file I/O, sessions, and inheritance.
Enable libraries by editing php.ini and configuring zap on Windows; enable extensions like curl and PDO MySQL, then restart MySQL and the server.
Learn to create your first PHP program as a basic output file, manage file extensions, and choose between print and echo while setting the header content-type for web output.
Learn PHP fundamentals by exploring data types, variables, and constants, test integers, booleans, strings, and arrays, and practice printing with echo and print_r, quoting rules, and constant definitions.
Learn typecasting of data types, convert values to int, float, string, and boolean, and see how printing pi and other numbers reveals integer parts.
Explore how to use comments in php, c++, and javascript, including multi-line comments with /* ... */ and the asterisk notation, to document and block out code.
Explore arrays as zero-based collections. Access elements by numeric or textual indices and work with nested arrays, printing values with the PHP print function.
Explore how decision making using if-else in PHP mirrors control structures across languages like C, C++, and JavaScript, building a solid foundation for future coding.
Translate everyday language into code by using if statements and comparison operators across PHP, C++, and JavaScript, showing assignment vs equality, else blocks, and nested decisions.
Master PHP and JavaScript operators—assignment, comparison (==, ===), inequality, arithmetic (+, -, *, /, %), compound assignment, and logical (and, or, not) with type checks.
Explore increment and decrement operators, including prefix and postfix forms, and how x++ and ++x differ in value and timing, with examples and loop usage.
Learn how switch case works across PHP, C++, and JavaScript, replacing if statements with case blocks, default, and break to control flow, with practical apple examples.
Explore loops in PHP, C++, and JavaScript, focusing on for, while, and do while loops, and how initialization, condition, and increment drive repeated code execution.
Explains the for loop construction with initialization, condition, and increment, demonstrates printing inside the loop, and covers break, nested loops, and language differences across PHP, JavaScript, and C/C++.
Learn how the foreach loop in PHP iterates over arrays or objects, printing elements and indices, using count to determine size, and comparing it to a for loop.
Transform a for loop into a while loop by moving initialization outside and updating i inside. The example prints 1 to 10 and contrasts it with a do while loop.
Convert a while loop to a do-while loop by adding the do keyword and ending with a semicolon; the body runs at least once, with condition checked at the end.
Master the basics of string manipulation, including indexing, upper and lower case, and capitalization. Learn to split and join with explode and implode, replace substrings, and count words.
Explore PHP function basics by defining a user defined function with the function keyword and curly braces, passing arguments, returning values, and differentiating return from print.
Explore variadic functions that accept a variable number of arguments and sum them using an array of values, and the ellipsis notation that packs arguments into a plain array.
Learn default arguments in functions by assigning a default value to the second parameter. The example uses x=100 and y=1, yielding 101 with one argument, and the sum with two.
Learn how the get and post http methods submit form data, display data in the url for get, and send data securely with post, with PHP handling the received values.
Secure incoming data by validating and sanitizing inputs to prevent xss and sql injection. The video demonstrates handling integers, floats, and emails with encoding and server-side validation.
Explore two PHP file I/O approaches: quick read/write and legacy f open/read/write, with file size, existence checks, and log appending.
Explore how sessions enable temporary server-side storage, like cookies, for authentication and user data across pages. Learn to start sessions, store credentials, and retrieve data with is_set and redirects.
Explore json data, the standard JavaScript object notation, including objects, arrays, and key-value pairs, and learn to encode, decode, and manage json in php with json_decode and json_encode.
Explore PHP serialization and unserialize, compare serialized data with JSON for speed and readability, and learn to read, write, and store arrays in files using optional libraries and extensions.
Study object oriented programming (OOP) in PHP and JavaScript, focusing on classes and constructors. Define animal classes, instantiate with new, call methods, and access data with this, using public modifiers.
Explore inheritance by extending a base animal class to create a dog with overridden methods and added data members, demonstrating code reuse, constructors, and concept of base and derived classes.
Learn how public, private, and protected access modifiers control visibility in classes, including usage in derived and parent classes, with notes on constants and static functions.
Create and manipulate a single Json file, perform crud operations with a utility script, render html from header, body, and footer, and provide forms for submitting and listing data.
Explore the project structure for a json data store with data and ui folders, header/body/footer files, and a utility script implementing crud to read, add, update, and delete records.
create a dynamic homepage listing in PHP by assembling header and footer from a ui folder, retrieving records, and formatting output with printf templates and placeholders.
Learn to add a record with an HTML form posted to a PHP script, capturing name, class, and age, inserting into a database, and redirecting to the index page.
Learn to implement delete functionality in a PHP CRUD app by linking to delete.php with an id, calling delete_record, and redirecting to the home page while updating the json data.
Update existing record by loading the record for display using its index ID, editing via a form, submitting back to itself, and redirecting to the home page after update.
Learn sql fundamentals and MySQL variants, including relational database concepts and how MariaDB relates to Oracle. Design databases visually with MySQL Workbench, then perform crud operations via phpMyAdmin.
Visually design a database with nocode tools in MySQL Workbench, create tables with primary keys and foreign keys, and forward engineer the schema for web development.
Demonstrates crud operations with create table syntax, defining id as unsigned bigint primary key and name as varchar(50), and using alter and unique constraints to manage keys, autoincrement, and defaults.
Insert data into database tables using phpMyAdmin or SQL insert statements, with single and bulk inserts, password hashing via md5, autoincrement IDs, and timestamps.
Learn to delete records from a table using delete from, with a where clause and id filters or id in, while avoiding accidental data loss when omitting the where clause.
Learn how to update existing records with SQL using the update statement, set clauses, and a where clause to target specific rows (by id) and avoid updating all records.
Delete all records, empty a table with the in-app button or sql truncate, and drop the countries table with a drop table command.
Learn to connect PHP to a MySQL database with mysqli, handle credentials and errors, run select queries, fetch results, and apply limit and order by.
Learn to connect to MySQL from PHP using PDO with a host, dbname, user, and password. Retrieve rows as an associative array with PDO::FETCH_ASSOC and loop through the results.
Replace the json-based utility with a MySQL backed version, using a global connection. Perform insert, update, get all, get one, and delete operations on the students table.
Master css, the fundamental web technology for styling and presenting web pages. Learn layout, color, typography, borders, and responsive design with media queries, bootstrap and tailwind libraries for development.
Explore CSS rules with selectors, properties, and values to style text, borders, and colors. Learn to place CSS in an external style.css for clean HTML and browser caching.
explains Bootstrap as a CSS framework and library with predefined components and a 12-column grid, enabling responsive, mobile-friendly web pages with themes and CDN delivery.
Learn to build responsive layouts with Bootstrap's 12-column grid using container, row, and column classes across small, medium, and large screens. Configure viewport meta tag and borders for testing.
Explore bootstrap form controls and components by applying form-control to text inputs. Style buttons with btn and btn-primary, and use disabled, read only, and form-select variations.
update the version two php with mysql project ui using bootstrap and css libraries to beautify forms and layout. review the source code and implement the new form for assignment.
Learn the basics of JavaScript for front-end development, including ES6, its use with HTML and CSS, and how libraries like jQuery support real-time, dynamic web pages.
Master basic output in JavaScript by creating an HTML file with script tags, using alert, document.write, and console.log, and running code in browser or node.
Explore data types, variables, and constants in JavaScript, test with Node.js, and learn to create and access JSON objects, nesting, and arrays for practical web development fundamentals.
Explore constants, let, and var in JavaScript, showing how constants cannot be reassigned while their internal object properties can change, and how block vs function scope governs access.
Explore how JavaScript handles single and double quotes and escape sequences like line feed. Learn backticks and ${variable} interpolation and how PHP differs in quote usage.
Explore how JavaScript uses single-line comments with // and multi-line comments with /* ... */ and compare with PHP's hash-based single-line comments and C-family styles.
Explain JavaScript classes (ES6), encapsulating data members and methods, using this and constructors, and demonstrate extending classes, super calls, and inheritance with practical examples.
Compare for loop behavior in JavaScript and PHP, using arrays and objects, accessing data by index or key, and printing with dot or bracket notation for zero-based indices.
Learn the forEach function to iterate over arrays, calling a function on each item and optionally using the index and the whole array, providing safer iteration than traditional loops.
Explore string manipulation in JavaScript by concatenating with the plus operator, trimming spaces, casting with parseInt, changing case with toUpperCase and toLowerCase, and splitting and joining strings.
Explore how functions in JavaScript resemble PHP syntax, with default arguments and flexible return values demonstrated via console.log, and note ES6 additions like default parameters and class-based objects.
Discover how local storage in the browser saves key-value data with setItem and getItem. Retrieve a name from a text box and print it to the console.
Explore jQuery, a fast, lightweight JavaScript library that simplifies selectors, DOM manipulation, events, and animations. Learn cross-browser compatibility and concise techniques to build interactive, dynamic web interfaces.
Learn to use css selectors with jQuery to target elements by id, class, and tag, handle clicks, read and set input values with val(), and dynamically modify html and styles.
Master DOM manipulation with jQuery by targeting elements, handling click and other events, and using val, html, append, next, and effects like fade, slide, and remove.
Explore Ajax's on-the-fly data loading with three methods—load, get, and the jQuery ajax function—using PHP and JSON to populate a log area.
Explore practical jQuery techniques to organize code, including extracting functions from inline code, using selectors, applying CSS, toggling visibility, and cloning elements with append, for dynamic UI tasks.
Learn how to set a student's class with jQuery and Ajax, enhanced forms with bootstrap, and how to save updated values to the database using id and class attributes.
Explore Ajax calls explanation and JSON output, showing how to prevent page refresh with form submission, use form data and JSON responses to update or redirect.
Web Development very easy - And is matter fact ! you pay attention to mechanism and master just one back-end language you are a web-developer.
What is special? You will learn to code back-end not only using PHP but C++ as well in the additional chapter added, and your application will be as robust as any existing fast application on web.
Introduction
About the Instructor
Introduction to Course
How Web works?
Installation of Necessary Tools - Windows
Installation of Necessary Tools - Linux
HTML
Introduction to HTML
HTML Document Structure
Head Tag
Basic Text Formatting
Creating our first HTML file
Headings and Paragraphs
Links (anchor Tags)
Images (img Tag)
Lists (Unordered and Ordered)
Input Controls (Text, Password, Radio, Checkbox, Date , Time etc)
Extra date input controls (week, month)
Range input control
Combo box & List box (select Tag)
Text Areas (textarea Tag)
Forms (Form Tag)
Buttons (Submit, Reset)
Audio & Video controls
HTML Comments
<!DOCTYPE html> html5 standard
Script Tag (JavaScript)
PHP
Introduction to PHP
Enabling libraries
Basic output (HTTP basic headers)
Data types, Variables, Constants
Type-Casting
Comments in PHP, C++, JavaScript
Arrays (and their indices, indexes)
Decision making - Concepts
Decision making - Implementation (PHP, C++, JavaScript)
Operators (Comparison, Logical, Arithmetic)
Increment, Decrement operators
switch-case (PHP, C++, JavaScript)
Loops in PHP, C++, JavaScript
for - Loop
while - Loop
do-while - Loop
foreach - Loop
String manipulation - basics
Functions - basics
Variadic functions
Default arguments to function
Form submission program - GET & POST http methods
Security measures about incoming data
File IO
Sessions and some global variables
JSON data
Serialization
OOP in PHP - Object Oriented programming - an introduction
Inheritance
Access Modifiers - public, private, protected
Student database - Project v1 - using JSON file as data-store
Introduction to Project v1
Project Structure, Data Reading Writing Utility Script
Creating Homepage Listing
Add Student Record
Delete Record
Update Existing Record
MySQL
Introduction to MySQL
Designing a database Visually - no-code
CRUD - Create Table
CRUD - Insert data in table
CRUD - Update existing records in table
CRUD - Delete records from table
CRUD - Emptying or Drop a table
Connecting to MySQL from PHP - Using msqli
Connecting to MySQL from PHP - Using PDO
Student database - Project v2 - using MySQL
Update Utility file - a complete review of the project
CSS
Introduction to CSS
CSS basics
Bootstrap - What & Why
Bootstrap Grid system. Basics study
Bootstrap Form Controls basics
Let's style our Project v2 UI using Bootstrap
JavaScript
Introduction to JavaScript
Basic output in JavaScript
Data types and Variables
Constants, let, var
Backticks in JavaScript
Comments in JavaScript
Classes in JavaScript
for - Loop using (in)
.forEach function
String manipulation in JavaScript
Functions in JavaScript
Local Storage
jQuery
Introduction to jQuery
Use of CSS Selectors in jQuery
DOM Manipulation
Ajax (3 ways to send & receive data on the fly)
Code tuning and some useful function in jQuery
Student database - Project v3 - updating UI using jQuery [ajax requests]
Set Class of student using jQuery first
Ajax calls explanation & JSON output
Additional chapter : C++ for web (overview + implementation)
Introduction to C++ for Web
Similarities and Differences - comparing C++ with PHP and JavaScript
Basic C++ program - general structure
Basic Output in C++
HTTP basic headers and output
Processing http GET and POST data using C++
Linking MySQL with our C++ application
Connecting to MySQL and running queries using C++
Additional : Student database - Project v4 - converting PHP project to C++
Converting utility.php to utility.h file
Converting index to C++ version
Converting add record to C++ version
Converting update record to C++ version
Converting delete record to C++ version
NOTE: Following Topics are planned but not part of the Couse at the moment, these will be gradually added.
Planned Topics
Hosting your website online
Cpanel, WHM, aaPanel
FTP basics
Deploying Database
Fast way to Transfer website data to another server
Compiling your C++ code on server
Generating PDF using external program
Reading Writing Office documents
Converting Image Formats
Converting PDF to other formats
Obfuscation of PHP Code
Obfuscation of Javascript Code
Generating EXE file of your PHP Project
Generating Browser based Desktop Application
Delivering & Running PHP Web application without Apache Web-server
MySQL Triggers
MySQL Temporary Tables
Garbing Externa Program output / getting job done by external programs
Image Manipulation using GD
CURL
Magic functions of PHP