PHP with MySQL Essential Training: 2 Build a CMS
3h 52mIntermediate2023-11-27
Authors

Kevin Skoglund
Founder of NovaFabrica
Course details
This course—the second installment in a series—builds on the fundamentals of PHP with MySQL and teaches the intermediate concepts necessary to develop real-world web applications while creating a working content management system. Kevin Skoglund shows how to create dynamic navigation to allow public users to browse different pages of database-driven content. He demonstrates how to hide content from the public and to write functions which are context-sensitive and use argument options for conditional behavior. He shows how to implement user authentication and utilize PHP's built-in password functions to securely regulate page access. Finally, he shows how related database tables can become nested resources by modifying and scoping functions. Along the way, Kevin provides practical advice and offers examples of best practices.
Learning objectives
Creating a content management system
Building dynamic content navigation
Using context and function options for conditional behavior
Hiding content from the public view
Insecure direct object reference
Allowing HTML in dynamic content
Previewing content in the public context
Working with cookies and sessions
Storing status messages in the session
Secure user authentication (login/logout)
Regulating page access
Nesting related resources
Managing an ordered list automatically
Learning objectives
Creating a content management system
Building dynamic content navigation
Using context and function options for conditional behavior
Hiding content from the public view
Insecure direct object reference
Allowing HTML in dynamic content
Previewing content in the public context
Working with cookies and sessions
Storing status messages in the session
Secure user authentication (login/logout)
Regulating page access
Nesting related resources
Managing an ordered list automatically
Skills covered
MySQLPHPDatabase DevelopmentDatabase ManagementEssential TrainingProgramming LanguagesOpen SourceSoftware Development
Concepts
0. Introduction
- 01 - PHP with MySQL Essential Training - Build a CMS
- 02 - How to use the exercise files
1. Create a Content Management System
- 03 - Blueprint the application
- 04 - Set up the database
- 05 - Set up the project files
2. Build Dynamic Content Navigation
- 06 - List subjects
- 07 - Add pages for each subject
- 08 - Add page content
- 09 - Use navigation to select pages
- 10 - Highlight the current page
- 11 - Challenge - Collapsing navigation
- 12 - Solution - Collapsing navigation
3. Use Context and Options
- 13 - The public context
- 14 - Skip hidden subjects and pages
- 15 - Use an option for conditional code
- 16 - Insecure Direct Object Reference (IDOR)
- 17 - Protect page visibility
- 18 - Allow HTML in dynamic content
- 19 - Challenge - Preview content
- 20 - Solution - Preview content
4. Cookies and Sessions
- 21 - Work with cookies
- 22 - Set and read cookie values
- 23 - Unset cookie values
- 24 - Work with sessions
- 25 - Set and read session values
- 26 - Challenge - Status messages
- 27 - Solution - Status messages
5. Regulate Page Access
- 28 - User authentication overview
- 29 - Create admins table
- 30 - Challenge - Build admin management
- 31 - Solution - Build admin management
- 32 - PHP password functions
- 33 - Authenticate user access
- 34 - Require authorization
- 35 - Log out a user
- 36 - Optional password updating
- 37 - Authorized previewing
6. Nesting Related Resources
- 38 - Understand nested resources
- 39 - List pages by subject
- 40 - Use nested links
- 41 - Use nested redirects
- 42 - Add page count to each subject
- 43 - Scope page position by subject
- 44 - Challenge - Update positions
- 45 - Solution - Update positions
Conclusion
- 46 - Next steps