PHP for the Web: Learn PHP without a Framework
Gain insights into modern PHP by delving into POST requests, forms, sessions, and redirects to build a CRUD app with authentication, focusing on pure PHP without frameworks.
Matthias Noback is a professional web developer (since 2003). He lives in Zeist, The Netherlands, with his girlfriend, son, and daughter. Matthias has his own web development, training and consultancy company called Noback's Office. He has a strong focus on backend development and architecture, always looking for better ways to design software. Since 2011 he's been blogging about all sorts of programming-related topics on matthiasnoback.nl. He's published several programming books as well (most recently: "Object Design Style Guide" and "Advanced Web Application Architecture").
Join 3.1 million developers at
What You'll Learn
- Serve static HTML and PHP scripts using the PHP built-in web server with a secure public document root
- Inspect HTTP requests and responses (status, headers, body) using browser developer tools
- Build dynamic pages with PHP in HTML, links, and query parameters to pass data between requests
- Implement secure form handling with GET and POST, validation, and output escaping for user input
- Use cookies, sessions, redirects, and flash messages to maintain state and improve UX
- Implement user authentication with password_hash/password_verify, protected pages, and logout
- Build and test a JSON-file CRUD app with routing, soft-deletes, file uploads, and PHPUnit/Panther
Learning Roadmap
1.
Getting Started
Getting Started
2.
Serving Resources
Serving Resources
3.
Serving PHP Scripts
Serving PHP Scripts
7 Lessons
7 Lessons
4.
Forms
Forms
6 Lessons
6 Lessons
5.
Cookies
Cookies
9 Lessons
9 Lessons
6.
Sessions
Sessions
5 Lessons
5 Lessons
7.
Authentication
Authentication
7 Lessons
7 Lessons
8.
PHP Project Structure
PHP Project Structure
12 Lessons
12 Lessons
9.
CRUD Part 1: Create
CRUD Part 1: Create
8 Lessons
8 Lessons
10.
CRUD Part 2: The Rest
CRUD Part 2: The Rest
8 Lessons
8 Lessons
11.
File Uploads
File Uploads
7 Lessons
7 Lessons
12.
Error Handling
Error Handling
5 Lessons
5 Lessons
13.
Automated Testing
Automated Testing
10 Lessons
10 Lessons
Matthias Noback
Software developer, trainer, consultant
Trusted by 3.1 million developers working at companies
Anthony Walker
@_webarchitect_
Evan Dunbar
ML Engineer
Software Developer
Carlos Matias La Borde
Souvik Kundu
Front-end Developer
Vinay Krishnaiah
Software Developer
Built for 10x Developers












Free Resources