
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Explore a range of source code editors—from notepad plus plus to atom and brackets—focusing on syntax highlighting and finding what works best for you across windows, mac, and linux.
Install web server packages like MAMP, Zambo, LAMP, and WAMP to run Apache, MySQL, and PHP. Troubleshoot port 80 conflicts with Skype to access localhost.
Explore integrated development environments for PHP, comparing editors with debugging, file browsing, and optional web server integration, and review options such as NetBeans, PhpStorm, Eclipse, Zend Studio, and Atom.
Compare cloud ide platforms like Cloud9 and CodeAnywhere, highlighting browser-based, hosted environments that auto-set up servers and workspaces for PHP, Python, and WordPress.
See how the browser renders pages and how PHP runs on the server in a lamp stack (linux, apache, mysql, php), outputting HTML, CSS, and JavaScript for dynamic pages.
Explore how to create a hello world PHP page by renaming to a .php file, using proper PHP tags and echo, and running on a local or live server.
Learn how to declare PHP variables with a dollar sign, assign strings and numbers, echo them, escape quotes, concatenate with dots, and use double vs single quotes.
Learn how to create and access arrays in PHP 7, including indexed and associative arrays, using array() and bracket syntax, and printing with print_r to access elements by key.
Explore how to use if, else, and switch statements in PHP to execute code based on conditions, compare variables, and control flow with cases, break, and default.
learn how to use for and foreach loops in php to iterate numbers and arrays, control flow with conditions and increments, and output data in lists, tables, or definitions.
Learn to use while loops in PHP with a starting value, a condition, and an increment, including iterating arrays by index and echoing name, email, and address.
Explore how get variables populate the url query string and are accessed in PHP via the $_GET super global to read parameters like name, id, or search terms.
Learn to handle post variables in PHP by using a form with method post, accessing the post array, and posting data without exposing it in the URL.
Learn to send emails with PHP using the mail function, configure recipients, subject, and html or plain text messages, and set headers for from and reply-to to ensure proper delivery.
Create a PHP contact form using POST submission, validate name, email, and message, and implement a simple math captcha. Repopulate fields and display error messages for a smooth user experience.
Explore PHP 7 operators, including comparison and logical operators, equals, identical and not identical, the spaceship operator, and the null coalescing operator, and apply them in conditional statements.
Learn to read, write, and append files in PHP by using the proper open mode and the file pointer, with functions like fread, fgets, and fgetc.
Learn to create folders in PHP with mkdir, setting folder names and permissions (typically 755). Use the recursive option by passing true, and avoid trailing slashes to prevent permission issues.
Discover how PHP sessions persist data across pages by starting a session, storing variables, and destroying data, enabling multi-page forms and secure server-side storage.
Cookies persist data in the browser across pages, unlike server-stored sessions; set, modify, and delete cookies using name, value, time, and domain.
Learn to create custom functions in PHP, declare them with the word function and curly brackets, pass parameters (with default values), and return values for modular, reusable code.
Explore scope in PHP by distinguishing global and local scope, and learn how to access or expose variables inside and outside functions using the global keyword.
Define and use constants to store configuration values across global and local scopes in PHP, enabling centralized access to things like database details.
Learn how to use curl in PHP to fetch web pages, post data, and handle http and https requests with options like return transfer and ssl verification considerations.
Learn to use file_get_contents to send http requests by building a stream context with post data and headers, enabling post or get exchanges when curl isn't available.
Learn how to implement file uploads in PHP, including from form setup to moving files from a temporary folder to permanent storage, with security checks and size/type validations.
Learn to build a multi-page PHP form with sessions, store data across pages, and submit to MySQL using prepared statements, input escaping, and modular functions.
Learn how to design scalable databases by mapping an object model to a data model, creating object, meta, and relationships tables, and applying a consistent mapping process.
Explore the WordPress database structure by examining the object model, core tables (posts, comments, terms, users) taxonomy, meta and relationships, with data type tradeoffs for performance.
Create tables dynamically in PHP and MySQL by connecting to the database, then build and execute create table statements with columns, primary keys, and constraints entirely in code.
Learn how to connect to a database using MySQLi and PDO, including host, database name, username, and password, with try-catch error handling and a confirmation of a successful connection.
Fetch data from a database with mysqli, run select queries (including specific columns and order by), and build an array of objects by iterating results with a while loop.
Learn to insert data into a MySQL table using insert into, map columns to values in order, and use now for timestamps, compatible with mysqli and PDO.
Update data in the objects table with an update query using set and where clauses to modify a record, updating three of four columns, then run a select to verify.
Master the delete operation in CRUD by removing a specific record with a where clause in MySQL, demonstrating id-based deletion and the risk of deleting all rows without a where.
Learn how prepared statements in PHP with MySQL and PDO/MySQLi protect against injection attacks by using placeholders and binding parameters, with automatic escaping and secure updates.
Create a reusable database class in PHP to centralize CRUD operations with MySQL using prepared statements, binding, and methods for connect, query, insert, update, get results, and delete.
Build a secure PHP form using MySQLi prepared statements to insert name and email into a MySQL database, validate and sanitize inputs, and display the saved record.
Learn how object oriented programming centers on objects and data, with classes as blueprints and instantiation creating actual objects. Grasp core ideas like encapsulation, inheritance, and polymorphism.
Learn to define a PHP class using the class keyword, add properties and methods, instantiate objects, and call methods with this and object syntax, grounding object oriented programming fundamentals.
Learn how constructors in PHP automatically run when a class is instantiated, initialize defaults and resources, and accept parameters to customize object state for multiple instances.
Explore visibility in PHP by defining public, protected, and private members, and observe access differences between parent and child classes. Encapsulate formatting logic or place it in a formatter class.
Explore inheritance in PHP by extending a parent class to inherit public and protected methods, override constructors, and call parent constructors, enabling wrappers and database class extensions.
Learn how the static keyword enables static properties and methods, accessed through the class rather than an instance, and why namespaces reduced reliance on this pseudo object-oriented approach.
Learn how namespaces prevent class name collisions by grouping related classes under distinct namespaces, using use statements and aliases to organize and reference code across packages.
Learn how autoloading in PHP uses SPL autoload register to map class names (with namespaces) to file paths, replacing many require statements for large codebases.
Explore how interfaces define a class's required methods in PHP, enabling data manipulation tasks and CRUD operations while guiding development with a clear framework.
Explore a high-level primer on MVC—model, view, and controller—how the controller updates the model and the view renders data, and how true MVC compares to other design patterns.
Learn to build professional PHP applications by modeling data with object tables, meta tables, and relationships, then implement with object-oriented patterns, modular code, and an autoloading, namespace-driven architecture.
Master the foundational skill of building and handling forms with PHP 7 and MySQL, using object-oriented programming to validate data and prevent SQL injection and XSS.
Learn to build a simple PHP form, post data to a self-submitting page, and store name and email in a MySQL users table using mysqli.
implement a nonce-based form security in PHP, validate and sanitize inputs, use prepared statements to prevent SQL injection, and consider recaptcha as needed.
Learn to build an advanced PHP form with radio buttons, checkboxes, select, and textarea; handle multi-select interests with array notation, sanitize input, and serialize data for MySQL storage.
This lesson refactors PHP form handling by moving logic into reusable functions, validating nonces and emails, and sanitizing input with filter_var and filter_input_array for cleaner database insertion.
Display data from a MySQL database with php, using escaping and prepared statements to prevent cross-site scripting, fetch results, and render a secure html table.
Build a fairly advanced login script with sessions, remember me via cookies, registration, and password reset, and secure it cryptographically while integrating it with a database and install script.
Create a simple, database-free login form in PHP using a config file with a users array. Use sessions to maintain login state and include header and footer templates.
Build an advanced database-driven login form in PHP 7, using a MySQL database, a DB class, user registration, login verification, password hashing, and session management.
Implement remember me in a PHP login script using tokens and secure cookies. Learn token creation, storage in the off_tokens table, and hashing for security.
Learn to implement a secure PHP password reset feature that emails reset links, uses selector and validator tokens, hashes tokens, and enforces expiration.
Learn a three-step strategy to build a compelling Upwork profile from scratch, covering your title, tags, image, overview, portfolio, tests, and profile video to attract early work.
Learn a three-step freelancing strategy: position yourself as a small niche specialist, build your portfolio and job history, then expand into broader niches to attract more clients.
Create a professional profile photo by using a solid color shirt, a simple contrasting background, and a natural smile to boost credibility and first impressions on freelancer profiles.
Specialize in WordPress e-commerce to boost relevance score on Upwork. Craft targeted titles and focused tags aligned with a keyword strategy that resonates with clients.
Develop a compelling overview by presenting proof to establish credibility, detailing specialization, and outlining a future-paced process to begin the project.
Record a profile video to stand out on freelancer sites like Upwork by presenting your memorized overview with good lighting and clear audio using a lapel mic.
Strategize your portfolio by highlighting visually appealing items and proof of work, even with few or no client projects, and build studies to showcase capabilities and attract clients.
Learn how to optimize your up work profile by selecting certifications, employment history, education, and other experiences, choosing relevant tests with high scores, and prioritizing a strong overview and portfolio.
NOTE: This is five of my flagship courses bundled into one:
Beginner's Guide to PHP
Build Professional PHP Applications With Object-Oriented Programming
Secure Session-Based Login Script
How to Submit an HTML Form to a MySQL Database Using PHP
Freelancing on Upwork
All 5 are included in this course.
Hey, I'm John. I've been a freelance web developer for over 12 years. You might know me from my popular YouTube channel or the work I've done for well-known clients like New York Times Bestselling Author Michael Hyatt, Internet Celebrity (and Ellen regular) Lewis Howes, Inc. Magazine and others.
Over the years, I've taught hundreds of thousands of web developers how to code.
And, I've finally put my flagship PHP courses here on Udemy.
That's what this course is.
I've taken my five most popular training courses and packaged them here in one big mega-course that's going to take you from beginner to building the kind of professional PHP applications clients and employers are starving for. But, let me be upfront with you before you go any further...
I teach leaders...
People willing to break the rules.
My goal for you isn't for you to just know what everyone else does. I'm going to challenge you to think differently and deeper... to be creative and try new things. I don't want you to be the one simply using the shiny new "thing" someone else developed. I want you to be the one building that shiny new thing.
The latest and greatest design pattern...
Or, a newer and better framework...
The next multi-million user application.
I don't want you to just be a user of these things. I want you to be the "mastermind" behind them. Sounds amazing... but, it's no small task. So, I'm not going to just show you one way of doing things or give you all "my" answers. I want you to learn how to develop your own answers.
Because you understand the code at such a deep level.
That means... this course isn't for everyone.
BUT...
If you're ready to challenge yourself and take not just your PHP skills, but all your coding skills up a notch... then, this course is for you. Here's some of the things you're going to learn:
How to create a secure login form
How to build cryptographically secure tokens
Object-oriented programming
How to send email via PHP
How to create a multi-page form using sessions
How to upload files
How to create folders
How to create a contact form
Arrays, loops...
If, else and switch
Prepared statements
PDO and MySQLi
And, a lot more.
PLUS, I've added module 2 of my Upwork 101 course that will show you how to build your Upwork profile to BOTH persuade clients to hire you AND rank higher on Upwork... so your profile actually gets seen and you can get paid for all these new skills you're going to learn.
So, if you're ready to take the challenge...
And, finally just GO for it!
Enroll in the Beginner's Guide to PHP and let's get crackin'.