Build Clean and Secure PHP Web Apps from Scratch

Christian Hur – July 23, 2020 – 4 hours 48 minutes

Course Link: https://www.udemy.com/share/103msy/

OVERVIEW

As a Web developer, you’re expected to know how to create a clean and functional Web site from scratch.  This course is designed for beginner developers who already know their HTML and CSS and would like to get their hands dirty with creating nice and clean custom Web apps from scratch.   I will walk you through the entire process of building a PHP Guestbook application using the LAMP stack.  Everything will be built from scratch — NO bootstrap, NO templates, NO third-party code.  You create everything, and you own everything.

This course is divided into three major phases:

  • Phase 1:  You will build the complete Web app from scratch using only procedural programming in PHP, custom CSS & HTML, and a MySQL database.
  • Phase 2:  You will tweak the app and integrate state management to restrict unregistered users from accessing protected content and functionality on the site. 
  • Phase 3:  You will refactor and convert the same app code using object-oriented programming in PHP. 

The app that you build will use a MySQL database for data store and allow users to perform basic CRUD (Create, Read, Update, Delete) operations on the site.  Users will be able to view and sign the Guestbook, make edits, and delete content. 

By the end of the course, you will feel proud and confident to start building a complete PHP Web application from the ground up on your own using your own custom code and various programming techniques.

TARGET AUDIENCE

This course is intended for beginner web developers who are curious about PHP and the LAMP Stack and want to build clean Web apps from scratch.

CURRICULUM

✳️ Section 1

  • 1.1 Course Overview
  • 1.2 Installing and configuring XAMPP & PhPStorm on Windows
  • 1.3 Installing XAMPP on MacOS
  • 1.4 Installing MAMP on MacOS
  • 1.5 Installing & configuring PhpStorm on MacOS

✳️ Section 2

  • 2.1 Creating the Guestbook database
  • 2.2 Creating project folder and files
  • 2.3 Connecting to MySQL database
  • 2.4 Creating utility functions

✳️ Section 3 3.1 Creating the index.php file

  • 3.2 Creating the main CSS stylesheet
  • 3.3 Creating the View Guestbook page
  • 3.4 Creating the Sign Guestbook page
  • 3.5 Creating the Edit page 3.6 Creating the Delete page

✳️ Section 4

  • 4.1 Introduction and requirements
  • 4.2 Preparing the Login and Logout pages
  • 4.3 Updating the top navigation links
  • 4.4. Restricting access to protected content
  • 4.5 Creating the Login form
  • 4.6 Implementing the Login page
  • 4.7 Creating the User Registration form
  • 4.8 Updating the insertOneRecord() function
  • 4.9 Implementing the Register page
  • 4.10 Hashing passwords

✳️ Section 5

  • 5.1 Introduction and requirements
  • 5.2 Creating the database class
  • 5.3 Creating the function superclass and subclass
  • 5.4 Updating PHP files to use objects

✳️ Section 6

  • 6.1 Protecting sensitive data
  • 6.2 Turning off error reporting

✳️ Section 7

  • 7.1 Closing