Web Development


PHP for Beginners - Become a PHP Master - CMS Project

PHP for Beginners: learn everything you need to become a professional PHP developer with practical exercises & projects.

4.39 (18809 reviews)



37.5 hours


Aug 2020

Last Update
Regular Price

What you will learn

You will learn to create a (CMS) Content Management System like WordPress, Drupal or Joomla

You will learn how to use Databases

You will learn MySQL

Object Oriented Programming

You will learn how to launch your application online

How to use forms to submit data to databases

How to use AJAX to submit data to the server without refreshing the page

You will learn about PHP security

You will learn about sessions

Password hashing

Email sending

You will learn to use composer (PHP package manager)

You will learn to create clean URL's and remove the .php from files

You will learn to use bootstrap by getting experience from the project

You will learn to debug your code

You will learn to create pagination

You will code refactoring

You will learn to debug (fix your code)

You will learn to use an API to bring data from a database to a graphical interface

There is so much more and my hands are just tired of typing :)




One of the biggest PHP Courses in UDEMY ........

Best Rated PHP course on UDEMY......

Over 90,000 Students taking this course already.........

BEST Reviewed PHP beginners course for a reason.....


Are you new to PHP or need a refresher? Then this course will help you get all the fundamentals of Procedural PHP, Object Oriented PHP, MYSQLi, and ending the course by building a CMS system similar to WordPress, Joomla, or Drupal.

Knowing PHP has allowed me to make enough money to stay home and make courses like this one for students all over the world. Being a PHP developer can allow anyone to make really good money online and offline, developing dynamic applications.

Knowing PHP will allow you to build web applications, websites or Content Management systems, like WordPress, Facebook, Twitter or even Google.

There is no limit to what you can do with this knowledge. PHP is one of the most important web programming languages to learn, and knowing it, will give you SUPER POWERS in the web development world and job market place.


Because Millions of websites and applications (the majority) use PHP. You can find a job anywhere or even work on your own, online and in places like freelancer or Odesk. You can definitely make a substantial income once you learn it.

  Some of my students reviews for this course and others

Holy cr*********

Readed some books about PHP but it was such boring that i never finished a book and withhold me from learning, this course helped me out straight.. After seeing a free tut on youtube i subscribed the course and jeez, i don't even need goals to get or stay motivated cause i have the instructor: Edwin Diaz, his way of teaching is friggin awesome (and fun) and easy listening! To be honest its keeping me away from bed xD.. I really really love the course. If i need to describe the course from my personal view, one word: Epic! Really looking forward for the stuff that will be added in the future! Great job and thumbs up! Greetings from a Dutchy

Best PHP course************

This course is just awesome. You will learn the basics and then you will jump to making your own CMS. Every little piece of code is described very well, so you exactly know, what you are doing. After finishing this course I was ready to make my own social networking site and that's amazing isn't it? Another great part of this course is its instructor, who helps you with every issue you have in short time. I've have already done many internet courses, but this is definetly the best one.

The Best Php course made FUN and EASY worth The Money!!! *************

Hi Edwin You have made 'learning PHP very fun an easy to follow. I got so many ideas that I want to do and had been searching around for 3 years now looking for the right course and lecturer that will help me fulfill my dream. I want to thank you that I have gone through more than half of your online course now and I am still interested to complete it. Thank you for your motivation and kind words. It what keeps me going and I know that once I finish this, I will be able to achieve my goal. I believe that your course is the key to my success in fulfilling my dream. AND the best part is the Lecturer always replies to your questions

The best course I have taken so far ***************

Every programming course I have taken until now has been extremely boring and I found it difficult to concentrate, but your course was clear, entertaining and kept me hooked till the very end. I remember everything I learnt in your course and have gained a deeper understanding of terms and methodologies that seems incomprehensible until now. Thank you

                  ***************************End of Reviews ***********************

My Promise to You

        I created this course not just to make money but to teach you the knowledge that will help you with PHP since I was in your shoes some years ago. If you need support, I will be just a message or an email away. I love what I do, but most importantly I love when my students succeed and that for me is priceless. You success depends on yours and I will make sure with that you get all the help you need when you need it.

I will not bore you :)

I take my courses very seriously but at the same time I try to make it fun since I know how difficult learning from an instructor with a monotone voice or boring attitude is. This course is fun, and when you need some energy to keep going, you will get it from me.

My Approach 

        Practice, practice and more practice. Every section inside this course has a practice lecture at the end, reinforcing everything with went over in the lectures. I also created a small application the you will be able to download to help you practice PHP. To top it off, we will build and awesome CMS like WordPress, Joomla or Drupal.

Your $ invested in this course will be multiplied over and over again

With over 176 lectures and over of 20 hours of PURE PHP knowledge from the real world, you can bet, your money will be well spent in this course.

100% Money Back if you don't like it

With 100% money guaranteed within 30 days, you have NOTHING to lose and a world of possibilities for your future. If for some reason you don't like the course or me, you can get your money back from Udemy.

  Commonly Asked Questions..... 

  Q: Is PHP worth it to learn?  

  A: YES YES YES... 

        PHP is one of the best web programming languages in the world, and all the large important websites, like Google, Apple, Facebook, Yahoo, Wikipedia and many more use it for their web applications. 

  Q: Can I make Money if I know PHP? 

  A: LOTS of it 

        Go over to freelancer dot com and search for PHP projects. You will see so many projects waiting for people to finish them in that site. There are actually more projects in PHP than in any other language. 

  This PHP Course Covers the following and then some... 

  • Databases in PHP

  • Object Oriented PHP

  • CMS project-similar to (Wordpress)

  • Form Submissions in PHP

  • Security in PHP

  • Variables in PHP

  • Math in PHP

  • Arrays in PHP

  • Control Structures in PHP

  • Comparison Operators in PHP

  • Mayor Loops in PHP

  • Functions in PHP

  • Constants in PHP

  • Super Globals in PHP

  • Sessions in PHP

  • Cookies in PHP

  • Learn to work with FILES

  • Custom search feature

  • Authentication

  • Learn to use jQuery + Bootstrap

  • RealTime Notifications with JS

  • Protect your credentials with .ENV

  • Learn Composer (PHP dependency Manager)

  • Learn to send emails - from PHP or using a third party Package

  • And much much more .....

With the AMAZING project we build, you will learn all the SKILLS to land that job or project. This is a real project that we take online and I walk step by step on everything from scratch.

  Please look at all the lectures to see more things that are covered. 


PHP for Beginners - Become a PHP Master - CMS Project
PHP for Beginners - Become a PHP Master - CMS Project
PHP for Beginners - Become a PHP Master - CMS Project
PHP for Beginners - Become a PHP Master - CMS Project


The First Steps


Course Overview

Local Development Environment Tools

Course Exercise / Reference Files

Code Editor Installation (Optional if you have one)

Embedding PHP in HTML

Using Dynamic Data

Inserting Comments in PHP

Practice Section 1

Data Types and More

Variables in PHP



Associative Arrays

Practice Section 2

First steps

Control Structures

if Statements

Comparison and Logical Operators

Switch Statements in PHP

While Loop in PHP

For Loop in PHP

Foreach Loop in PHP

Practice Section 3

Control Structures Quiz

Custom Functions

Defining functions

Function Parameters

Return Values From Functions

Global Variable and Scope


Newer Way of creating a Constant

Practice Section 4

PHP Built-in Functions

Math Functions

String Functions

Array Functions

Practice Section 5

How To Use Form Data in PHP

Checking for Form Submission

Extracting Information from form

Validating The Form Values

External Page Submission

Practice Section 6

How To Use Databases in PHP

Introduction to Databases

Introduction to PHPmyadmin

Creating a Database in PHPmyadmin

Creating Tables and Inserting Data in PHPmyadmin

Markup for Login Page

Receiving Post Data From Check

Connecting to the Database using PHP

Creating Records into the database table with PHP

Reading Information in the Database with PHP

Creating the Update Records Form

Fixing Name Attribute Value

Query to Read Id's

Query to Update Username and Password

Refactoring The Update Query into a Function

Delete Records From Database with PHP

ReFactoring all Database Query Code into Functions

Making All Files Modular and Refactoring

Practice Section 7

PHP Security

SQL Injection - How to Prevent it

Password Encryption

Practice Section 8

PHP and The Web

Introduction to HTTP Requests and more

Using The GET super Global

Using the Post Super Global

About Cookies in PHP

Setting Cookies with PHP

Reading Cookies in PHP

How use Sessions in PHP

Practice Section 9

Object Oriented PHP Introduction

What are classes and objects ? Introduction

What are classes and how to define them in PHP

What are class methods and how to create them

How to instantiate a class

Adding Properties to Our Class

Class inheretance


Data Access

Static Data in Classes

Practice Section 10

Working with files

Opening and creating files

Writing to files

Reading files

Deleting files

CMS Project / Blogging System - Front End and First Steps

Intro Tour of the CMS

Turning On Some Important Features

Adding our assets / working structure

Creating database and category table for the CMS

Connecting to the database with PHP

Making our files reuseable

Inserting Data into Category Table and Displaying it

Creating the posts table

Post Comment Count Update ( Edwin from the future )

Inserting Data into the posts table and displaying it

Inserting the post image and displaying it

Creating a custom search engine part 1

Creating a custom search engine part 2

Creating a custom search engine part 3

Adding Categories to the sidebar

CMS - Categories & More...

Creating reuseable code in the admin

Creating the navigation links in admin

Creating the admin category page part 1

Creating the admin category page part 2

Displaying data in category page

Adding Categories

Adding a special Function to our header file

Deleting Categories

Updating or Editing Categories part 1

Updating or Editing Categories part 2

Refactoring category code part 1

Refactoring category code part 2


Creating a HTML table in admin to display a list of posts

Displaying posts list in admin

Including Pages based on condition technique

Creating Post HTML form in admin

Inserting Post Data From admin

Deleting Posts in admin

Creating the HTML edit form post page

Displaying the Edit Data in Post Edit Page

Dynamic Category Editing / Image Display

Finally Updating Posts

Relating Categories to posts and Displaying it

Adding Category Dropdown to the Add Post Page

Adding Individual Post Page and Link

Creating the category page

Setting up some links and making an excerpt


Creating the comments table and inserting data

Creating the comments page and HTML form in admin

Creating the Query for displaying comments in admin part 1

Creating the Query for displaying comments in admin part 2

Inserting new fields in Front end comment form and testing it

Creating the Frond End comment insert query

Finishing the query to send comment data (Front end)

Relating Comments to posts

Deleting comments

Approving and unapproving comments

Displaying comments based on approval

Increasing comments count

Adjustments to visual for comments

Adjustments for comments and Displaying Post Based on Status


Creating the users table and data insert

Creating users pages and links

Modifying user table heading

Creating the display query for users

Displaying users in admin

Adding users in admin part 1

Adding users in admin part 2

Adding users in admin part 3

Adding users in admin part 4 and final

Deleting users

Changing user roles

Setting Up the Edit User Page

Displaying User Values in Edit Page

Adding Select Options to User Role

Updating User

CMS - Login

Creating the login form

Making the login page

Select User Query

Validating User Query Front End

Setting Values with Sessions

Validating User Admin

Logout Page Improved Validation

Login improved- Edwin from the Future

CMS - Profile

Creating the Profile Page

Displaying User Data

Updating User Data

CMS - Dashboard

Adding Widgets

Posts Dynamic Data in Widget

Using Dynamic Data in all Widgets

Adjusting Widget Links

Adding an AWESOME Chart to admin

Cleaning up the chart a little

Displaying Dynamic Data in chart part 1

Displaying Dynamic Data in chart part 2

Improving Our CMS

Adjusting post echo

Removing Read More Button

Adding Notification to Add User Page

CMS -Extra Features

Adding Dynamic Category Selection for Edit Post Page

Adding extra element to dashboard

Adding the WYSIWYG Editor

Adding Links to Post Images and Read More Button

Adding Post Update Notification

Adding Post Edit Link in Front End

Adding Bulk Options Posts, part 1

Adding Bulk Options Posts, part 2

Adding Bulk Options Posts, part 3

Adding Bulk Options Posts, part 4

Adding Bulk Options Posts, part 5

Adding Bulk Options Posts, part 6

Adding Dropdown Option for Add Post Page

Adding Post Creation Notice to Add Post Page

Adding Link to Add New Button in Post Page

Adding Link to View Posts from Admin

Adding Dynamic Personalization to Admin

Adding Validation to Comments in Post Page

CMS -Extra Features - User Registration

Downloading & Placing Form Markup

Testing Registration Form

Extracting Form Values and Escaping

Starting Query and Default Tables Values

Fetching our Database for Default Values

Registering Users

Validating Fields

Encrypting User Passwords

Updating Our CMS due to password Encryption

User Page Display Shorter Password Field

User Page Dropdown Default Value Change

PHP and Javascript Confirm Before Action

Get Your Certificate

Wrapping this up! (IMPORTANT)

Make your Feature requests here!

CMS-Extra Features - Author Related Posts

Relating Posts to their Authors Part #1

Relating Posts to their Authors Part #2

Cloning Posts NEW feature - COOL STUFF :)

Adding a LOADER to the CMS Admin

Adding views functionality to posts

Resetting Views Feature


Pagination Intro and Part 1

Pagination Intro and Part 2 - Links and Get Request

Pagination Intro and Part 3 - Get Request Processing

Pagination Intro and Part 4 - Assigning a variable to the per page value

Pagination Intro and Part 5 - Adding Some Style to Current Page :)

CMS - Extra Features - Users ONLINE

Creating the user online table and Setup

Creating the PHP code and Queries

Displaying Users Online :)

Displaying Users Online in Navigation

Instant Users Online count without refreshing part 1

Instant Users Online count without refreshing part 2

CMS- Extra Feature - NEW Simple Password Encrypting and Login System

Explanation of new New function and Implementation

Login in Users with new System

Adding New System to Add Users in Admin

Adding new password system to edit user page part 1

Adding new password system to edit user page part 2

Cleaning Up Edit User Page

CMS - Extra Feature - Improved Comment system count and diplay

Comment count and amount display

Creating a link in comment count and sending a GET Request

Comments page to specific posts

Deleting in the same page

CMS - Extra Feature - Post for Specific User in admin

Part 1 - Add Page

Part 2 - Insertion

Part 3 - Fixing User Display Issue

Part 4 - Edit Post Page Update

Part 5 - Upgrading Front End

CMS - More Security

URL and MySQL Injection Protection

Taking the Project to the Internet.

WARNING BEFORE GOING ONLINE - Edwin from the future

Hosting Setup

Displaying errors online

Uploading files

Creating the Online Database

Importing database

Fixing access to application!

Getting the right PHP online version (FIXED)

Sending Emails

Creating a contact page

Uploading Contact page

Sending emails

Modifying Email Headers

Bootstrap Modal Delete Confirm Feature


Creating the markup

Writing the code

No posts or category message feature


No posts feature home page

No categories feature

Don't show draft to visitors but everything to admin

Applying functionality to mayor pages

Some miscellaneous features

Active navigation links

Login form visibility when logged in or logged out

Having fun with bugs

Duplicate category improvement

Fixing bug in our edit post javascript editor

Cloning empty fields and table shifting fix

Refactoring part 1

Refactoring index in admin part 1

Refactoring index in admin part 2

Refactoring our view all posts by JOINING TABLES part 1

Refactoring our view all posts by JOINING TABLES part 2

New registration system

Create a better admin detection feature

Duplicate username function

Duplicate email function

Validation for registration

Setting up our Login user function

Adding some user friendly code

Displaying inline errors in form

Registering users with the new function

Login users with the new function

Deleting via POST

Adding Prepare statements to our application for security

Fetching posts in the category page using prepared statements part 1

Fetching posts in the category page using prepared statements part 2

Fetching posts in the category page using prepared statements part 3

Inserting categories with prepare statements

Updating categories with prepare statements

Closing statements

CMS Extra feature - Pretty URL's


Turning on the rewrite engine

Rewriting index, contact and registration

Rewriting post page and query string

Rewriting category page and fixing links

CMS Extra Feature - Forgot Password System

Intro to what we are building

Creating some helper functions for the new system

Restructuring login page

Creating the forgot password page

Forgot password - checking form values

Updating database with token values

CMS Extra Feature - Forgot Password System - Sending Email


Download all the files needed

Installing third party library with composer

Sending email

Autoloading classes and setting up UTF-8 for emails

Sending code over email

Creating the reset page

Pulling data and testing it

Unique database values

Updating password and token columns

Making it everything work

Update search feature to work with the forgot password system code

Data based on current user!

Image fallback and comment display fix!

CMS Extra Feature - Realtime Notifications with Pusher


Downloading Pusher and fixing random bug

Writing our first PHP code with the package

Getting our first Notification

Using a Library to make Notification POP-UPS

Protecting credentials - Part 1

Protecting credentials - Part 2 - Finished

CMS Extra Feature - POST LIKES

What we are creating?

Creating the like button

Attaching the click event to the button

Setting up the Like AJAX request

Fetching the Posts

Updating post with Likes

Creating our first Like

Unliking Posts

Creating a helper function to the get the Logged-in User id - part 1

Creating a helper function to the get the Logged-in User id - part 2

Creating a helper function to detect if the user likes a specific post

Updating our Like button to be more dynamic

Fetching all Likes in the Post

Finishing Likes

Let's add a Tooltip Feature

CMS Extra Feature - Creating A Separate Admin for Logged In Users


Refactoring dashboard a little with some helper functions

Getting all the User's posts

Getting all the User's comments

Getting all the User's categories

Getting all the User's published and draft posts

Getting all the User's post approved and unapproved comments

CMS Extra Feature - Multi-Language Feature


Creating Language Files

Creating the Form Part 1

Creating the Form Part 2

Creating the Form Part 3

Recommendations - What is next?


Samruddha7 October 2020

Sir is extremely friendly with the explanation. That is what I find more important than the course. And because the explanation is so much understanding, the course has become easier.

Celestino6 October 2020

The instructor is being very detailed which is good, understanding that some of us are new, he takes his time to explain the "why", proper good

Toren5 October 2020

The instructor is fun, to the point and the content is helpful. The structure leaves a little to be desired as he jumps around a bit, but overall it is a good course and a great learning experience.

Wolfgang25 September 2020

This course was awsome. I it´s really easy to listen to Edwin even if you are not native in English. He explains everything in a really easy way. I really appreciate the Bonus Lectures and that the course is updating. I couldn´t recommend it more

Abdul22 September 2020

This Course is super cool!!! I am learning many cool stuff here Thank you so much for this special content!!! ThankYou!!!!!!!!!!!!!!

Mausam21 February 2020

I have taken two courses from udemy and both are really amazing, the explanation is very clear and easy to understand.

Jan19 February 2020

Pros: -teaches basics of php and mysql -is quite cheap Cons: -it's a mess, this isn't a professional course it gives a feeling that everything is improvised -it's outdated -in the beggining oop is presented but later on not used even once Tl;dr It should be updated

Tu17 February 2020

Stick with one product or the other. Kept relating between MAMP XAMPP creates confusion. I prefer a step by step installation to help create a required work environment.

alpha16 February 2020

The into was inspiring and the information moving forward is extremely well explained. It is info I currently know and I’m impressed at how well the instruction is for anyone who has never created a Dev environment a computer. Edwin is to the point, clear, and offers equally acceptable options to ensure there are no issues setting up the course. I look forward to the rest of this course.

Moustamid16 February 2020

i just finished the section 11 i will begin the project now , but i can say that this course is a must have if you are like me new to PHP , Edwin is really passionate , his explanation is clear and well organized . but you will need a basic understanding of HTML & SQL it will help you a lot in this course . i will be leaving an other comment after finishing the course .

Nishit8 February 2020

Totally Worth It!!! I recommend this course to anyone who is new to PHP and want to learn it,just go for it.Edwin makes it easy for you.By the end of the course, you will be able to write the code on your own and will be able to create some application. Edwin will keep motivating you at every stage of the course to keep going on and in the end you will feel that you really have learnt the PHP and that feeling of accomplishing something is awesome. God bless you Edwin.

Angus8 February 2020

Good course, so far very good. As someone who had learnt some of the material before though it is a little slow progressing.

Ashish8 February 2020

Great hands-on course. Some explanations could be clearer rather than simply pointing to google. Even one sentence explanations work.

Develon31 January 2020

I like the consistency--how the blank file is used and saved with a different name matching the lesson being taught. I wish more extensive examples could be used to show for example switch statement and comparisons and logical operators.

Refah28 January 2020

I knew PHP before and wanted to improve it. I learned something new with this course, so I find it useful.


Valid2/23/202190% OFF


Udemy ID


Course created date


Course Indexed date
Course Submitted by

Android PlayStore
Apple Appstore