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.

  • Edwin Diaz
  • 4.43
  • (22914 reviews)
  • 37 hrs
  • 336 lectures
  • Udemy
PHP for Beginners - Become a PHP Master - CMS Project

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 :)

Your trainer

Edwin Diaz

Edwin Diaz is a software and web technologies engineer, a life coach trainer who is also a serial entrepreneur with multiple online businesses, ranging from online jewelry shops, affiliate websites, application development and consultations services, personal online schools, etc.

With over one million students, and clients growing by the thousands a day, Mr. Diaz lets the numbers speak for themselves.

Founding multiple online companies have allowed Mr. Diaz to have the time to teach others. He currently teaches web technologies on different online platforms. He also teaches life coaching sessions to help others achieve a high level of success in many areas of life.

336 lessons

Easy to follow lectures and videos covering subject details.

37 hours

This course includes hours of video material. Watch on-demand, anytime, anywhere.

Certificate of Completion

You will earn a Certificate of Completion at the end of this course.

Course curriculum

  • Introduction03:37
  • Updated - Course Overview04:31
  • Local Development Environment Tools11:58
  • Course Exercise / Reference Files - Udemy Video Walk Through08:54
  • Editors I recommend00:37
  • Download and Install Development Editor16:00
  • Embedding PHP in HTML11:40
  • Using Dynamic Data08:45
  • Inserting Comments in PHP05:31
  • Practice Section 104:20
  • Variables in PHP11:38
  • Math06:42
  • Arrays10:30
  • Associative Arrays11:52
  • Practice Section 204:03
  • First steps3 questions
  • if Statements07:32
  • Comparison and Logical Operators07:45
  • Switch Statements in PHP08:24
  • While Loop in PHP09:44
  • For Loop in PHP06:20
  • Foreach Loop in PHP05:56
  • Practice Section 306:56
  • Control Structures Quiz1 question
  • Defining functions09:29
  • Function Parameters11:26
  • Return Values From Functions11:51
  • Global Variable and Scope04:55
  • Constants03:11
  • Newer Way of creating a Constant00:44
  • Practice Section 406:48
  • Math Functions04:14
  • String Functions04:21
  • Array Functions03:44
  • Practice Section 508:30
  • Checking for Form Submission09:29
  • Extracting Information from form05:48
  • Validating The Form Values10:17
  • External Page Submission05:11
  • Practice Section 603:48
  • Introduction to Databases03:05
  • Introduction to PHPmyadmin04:15
  • Creating a Database in PHPmyadmin02:22
  • Creating Tables and Inserting Data in PHPmyadmin03:33
  • Markup for Login Page10:03
  • Receiving Post Data From Check05:51
  • Connecting to the Database using PHP06:24
  • Creating Records into the database table with PHP09:26
  • Reading Information in the Database with PHP08:19
  • Creating the Update Records Form08:44
  • Fixing Name Attribute Value01:28
  • Query to Read Id's11:41
  • Query to Update Username and Password13:50
  • Refactoring The Update Query into a Function04:26
  • Delete Records From Database with PHP09:13
  • ReFactoring all Database Query Code into Functions11:41
  • Making All Files Modular and Refactoring14:39
  • Practice Section 715:02
  • SQL Injection - How to Prevent it07:10
  • Password Encryption11:24
  • Practice Section 804:47
  • Introduction to HTTP Requests and more02:06
  • Using The GET super Global08:39
  • Using the Post Super Global04:29
  • About Cookies in PHP04:25
  • Setting Cookies with PHP08:57
  • Reading Cookies in PHP06:47
  • How use Sessions in PHP07:48
  • Practice Section 913:25
  • What are classes and objects ? Introduction04:01
  • What are classes and how to define them in PHP03:52
  • What are class methods and how to create them05:42
  • How to instantiate a class06:20
  • Adding Properties to Our Class10:20
  • Class inheritance06:54
  • Constructors03:53
  • Data Access06:50
  • Important notice!!! Read before you proceed to the next lecture.00:44
  • Static Data in Classes05:37
  • Practice Section 1008:20
  • Opening and creating files06:04
  • Writing to files03:43
  • Reading files03:23
  • Deleting files02:12
  • Intro Tour of the CMS16:30
  • Turning On Some Important Features04:44
  • Adding our assets / working structure06:57
  • Creating database and category table for the CMS03:31
  • Connecting to the database with PHP10:14
  • Making our files reuseable11:48
  • Inserting Data into Category Table and Displaying it09:10
  • Creating the posts table06:40
  • Post Comment Count Update ( Edwin from the future )01:38
  • Inserting Data into the posts table and displaying it16:13
  • Inserting the post image and displaying it05:43
  • Creating a custom search engine part 106:29
  • Creating a custom search engine part 209:13
  • Creating a custom search engine part 308:15
  • Adding Categories to the sidebar09:11
  • Creating reuseable code in the admin12:56
  • Creating the navigation links in admin10:28
  • Creating the admin category page part 108:32
  • Creating the admin category page part 204:25
  • Displaying data in category page06:30
  • Adding Categories09:08
  • Adding a special Function to our header file02:07
  • Deleting Categories09:44
  • Updating or Editing Categories part 107:23
  • Updating or Editing Categories part 209:11
  • Refactoring category code part 104:57
  • Refactoring category code part 204:30
  • Creating a HTML table in admin to display a list of posts07:51
  • Displaying posts list in admin11:57
  • Including Pages based on condition technique07:20
  • Creating Post HTML form in admin12:04
  • Inserting Post Data From admin12:12
  • Deleting Posts in admin08:52
  • Creating the HTML edit form post page02:57
  • Displaying the Edit Data in Post Edit Page10:22
  • Dynamic Category Editing / Image Display08:16
  • Finally Updating Posts16:50
  • Relating Categories to posts and Displaying it05:44
  • Adding Category Dropdown to the Add Post Page09:49
  • Adding Individual Post Page and Link09:05
  • Creating the category page05:32
  • Setting up some links and making an excerpt04:10
  • Creating the comments table and inserting data04:28
  • Creating the comments page and HTML form in admin02:22
  • Creating the Query for displaying comments in admin part 108:40
  • Creating the Query for displaying comments in admin part 203:54
  • Inserting new fields in Front end comment form and testing it08:21
  • Creating the Frond End comment insert query06:56
  • Finishing the query to send comment data (Front end)05:56
  • Relating Comments to posts09:16
  • Deleting comments04:03
  • Approving and unapproving comments06:28
  • Displaying comments based on approval07:15
  • Increasing comments count07:44
  • Adjustments to visual for comments03:11
  • Adjustments for comments and Displaying Post Based on Status07:42
  • Creating the users table and data insert05:08
  • Creating users pages and links05:04
  • Modifying user table heading02:29
  • Creating the display query for users04:01
  • Displaying users in admin03:05
  • Adding users in admin part 108:16
  • Adding users in admin part 207:47
  • Adding users in admin part 305:20
  • Adding users in admin part 4 and final02:15
  • Deleting users02:41
  • Changing user roles05:25
  • Setting Up the Edit User Page06:29
  • Displaying User Values in Edit Page06:15
  • Adding Select Options to User Role03:23
  • Updating User07:17
  • Creating the login form08:31
  • Making the login page04:14
  • Select User Query08:13
  • Validating User Query Front End09:21
  • Setting Values with Sessions07:37
  • Validating User Admin09:02
  • Logout Page Improved Validation07:35
  • Login improved- Edwin from the Future02:41
  • Creating the Profile Page08:02
  • Displaying User Data07:20
  • Updating User Data04:46
  • Adding Widgets03:29
  • Posts Dynamic Data in Widget04:57
  • Using Dynamic Data in all Widgets04:22
  • Adjusting Widget Links07:23
  • Adding an AWESOME Chart to admin04:49
  • Cleaning up the chart a little05:37
  • Displaying Dynamic Data in chart part 112:58
  • Displaying Dynamic Data in chart part 208:57
  • Adjusting post echo01:26
  • Removing Read More Button02:01
  • Adding Notification to Add User Page03:10
  • Adding Dynamic Category Selection for Edit Post Page07:47
  • Adding extra element to dashboard04:48
  • Adding the WYSIWYG Editor17:02
  • Adding Links to Post Images and Read More Button03:23
  • Adding Post Update Notification08:13
  • Adding Post Edit Link in Front End09:36
  • Adding Bulk Options Posts, part 104:03
  • Adding Bulk Options Posts, part 206:45
  • Adding Bulk Options Posts, part 306:48
  • Adding Bulk Options Posts, part 410:17
  • Adding Bulk Options Posts, part 506:05
  • Adding Bulk Options Posts, part 606:09
  • Adding Dropdown Option for Add Post Page04:54
  • Adding Post Creation Notice to Add Post Page03:46
  • Adding Link to Add New Button in Post Page03:26
  • Adding Link to View Posts from Admin05:32
  • Adding Dynamic Personalization to Admin04:52
  • Adding Validation to Comments in Post Page07:09
  • Downloading & Placing Form Markup03:06
  • Testing Registration Form02:52
  • Extracting Form Values and Escaping03:29
  • Starting Query and Default Tables Values06:00
  • Fetching our Database for Default Values04:56
  • Registering Users07:31
  • Validating Fields07:16
  • Encrypting User Passwords03:15
  • Updating Our CMS due to password Encryption09:20
  • User Page Display Shorter Password Field07:58
  • User Page Dropdown Default Value Change01:53
  • PHP and Javascript Confirm Before Action04:33
  • Get Your Certificate01:22
  • Wrapping this up! (IMPORTANT)03:49
  • Make your Feature requests here!01:07
  • Relating Posts to their Authors Part #103:37
  • Relating Posts to their Authors Part #204:45
  • Cloning Posts NEW feature - COOL STUFF :)08:11
  • Adding a LOADER to the CMS Admin06:48
  • Adding views functionality to posts06:29
  • Resetting Views Feature06:23
  • Form Resubmission Fix for all pages04:00
  • Pagination Intro and Part 105:26
  • Pagination Intro and Part 2 - Links and Get Request06:24
  • Pagination Intro and Part 3 - Get Request Processing05:21
  • Pagination Intro and Part 4 - Assigning a variable to the per page value06:22
  • Pagination Intro and Part 5 - Adding Some Style to Current Page :)05:09
  • Creating the user online table and Setup03:28
  • Creating the PHP code and Queries05:54
  • Displaying Users Online :)07:20
  • Displaying Users Online in Navigation04:16
  • Instant Users Online count without refreshing part 106:16
  • Instant Users Online count without refreshing part 208:38
  • Explanation of new New function and Implementation10:20
  • Login in Users with new System04:51
  • Adding New System to Add Users in Admin03:07
  • Adding new password system to edit user page part 106:11
  • Adding new password system to edit user page part 203:41
  • Cleaning Up Edit User Page07:27
  • Comment count and amount display04:28
  • Creating a link in comment count and sending a GET Request02:48
  • Comments page to specific posts08:44
  • Deleting in the same page05:37
  • Part 1 - Add Page05:24
  • Part 2 - Insertion08:51
  • Part 3 - Fixing User Display Issue07:13
  • Part 4 - Edit Post Page Update03:17
  • Part 5 - Upgrading Front End05:29
  • URL and MySQL Injection Protection05:52
  • WARNING BEFORE GOING ONLINE - Edwin from the future04:39
  • Hosting Setup05:36
  • Displaying errors online03:05
  • Uploading files03:18
  • Creating the Online Database07:47
  • Importing database03:06
  • Fixing access to application!04:30
  • Getting the right PHP online version (FIXED)02:49
  • Creating a contact page06:31
  • Uploading Contact page04:18
  • Sending emails08:15
  • Modifying Email Headers02:54
  • Intro01:09
  • Creating the markup10:35
  • Writing the code08:10
  • Intro02:16
  • No posts feature home page05:20
  • No categories feature03:12
  • Don't show draft to visitors but everything to admin08:55
  • Applying functionality to mayor pages03:25
  • Active navigation links07:32
  • Login form visibility when logged in or logged out05:15
  • Duplicate category improvement03:44
  • Fixing bug in our edit post javascript editor03:18
  • Cloning empty fields and table shifting fix04:31
  • Refactoring index in admin part 108:19
  • Refactoring index in admin part 211:18
  • Refactoring our view all posts by JOINING TABLES part 109:52
  • Refactoring our view all posts by JOINING TABLES part 205:29
  • Create a better admin detection feature09:00
  • Duplicate username function07:42
  • Duplicate email function08:23
  • Validation for registration07:27
  • Setting up our Login user function07:56
  • Adding some user friendly code05:53
  • Displaying inline errors in form04:21
  • Registering users with the new function05:53
  • Login users with the new function05:11
  • Deleting via POST08:00
  • Intro (IMPORTANT)02:18
  • Turning on the rewrite engine04:53
  • Rewriting index, contact and registration05:54
  • Rewriting post page and query string07:02
  • Rewriting category page and fixing links03:21
  • Intro to what we are building04:32
  • Creating some helper functions for the new system05:47
  • Restructuring login page14:33
  • Creating the forgot password page08:19
  • Forgot password - checking form values07:18
  • Updating database with token values11:20
  • Intro02:50
  • Download all the files needed00:09
  • UPDATE: on mail package01:21
  • Installing third party library with composer11:35
  • New - How to send emails06:27
  • Updated - Sending email20:30
  • Autoloading classes and setting up UTF-8 for emails13:07
  • Sending code over email10:09
  • Creating the reset page07:26
  • Pulling data and testing it06:49
  • Unique database values04:47
  • Updating password and token columns08:10
  • Making it everything work13:17
  • Update search feature to work with the forgot password system code01:47
  • Data based on current user!04:41
  • Image fallback and comment display fix!06:41
  • What we are creating?02:11
  • Creating the like button09:16
  • Attaching the click event to the button02:54
  • Setting up the Like AJAX request08:31
  • Fetching the Posts09:00
  • Updating post with Likes02:53
  • Creating our first Like03:35
  • Unliking Posts09:15
  • Creating a helper function to the get the Logged-in User id - part 106:25
  • Creating a helper function to the get the Logged-in User id - part 204:07
  • Creating a helper function to detect if the user likes a specific post07:51
  • Updating our Like button to be more dynamic11:33
  • Fetching all Likes in the Post08:40
  • Finishing Likes10:47
  • Let's add a Tooltip Feature07:28
  • Intro01:27
  • Refactoring dashboard a little with some helper functions18:03
  • Getting all the User's posts10:16
  • Getting all the User's comments08:10
  • Getting all the User's categories04:42
  • Getting all the User's published and draft posts05:04
  • Getting all the User's post approved and unapproved comments06:52
  • Intro01:01
  • Creating Language Files06:20
  • Creating the Form Part 108:12
  • Creating the Form Part 207:21
  • Creating the Form Part 311:08
  • Recommendations - Bonus Lecture - What is next?00:39
Online Courses

Learning PHP doesn't have to be hard. Here is our curated list of recommended online courses that will guide you step-by-step in the learning process.

Learn more
Books

Are you an avid book reader? Do you prefer paperback, or maybe Kindle version? Take a look at our curated list of PHP related books and take yourskills to the next level.

Learn more
YouTube videos

The number of high-quality and free PHP video tutorials is growing fast. Check this curated list of recommended videos - there is no excuse to stop learning.

Learn more