
Explore a dynamic digital agency service content management system powered by php and mysql, featuring a front end with services, projects, blog, testimonials, and an admin panel to manage content.
Download the Jamf installer, run the exe, and install on Windows; then start Apache and MySQL to run PHP files locally and access PSP and myadmin via localhost.
Shift between PHP versions in XAMPP on Windows by downloading portable versions, copying Apache and PHP folders, and renaming them to switch between 8.1.1 and 7.4.27, then verify with phpinfo.
Install Laragon on Windows to run Apache and MySQL locally as alternative to XAMPP, and set a working folder. Verify PHP version with a test.php using phpinfo and access phpmyadmin.
Learn to switch php versions in Laragon on Windows by installing php 7.4, placing it in bin/php, and stopping and restarting all services to toggle between 7.4 and 8.1.10.
Install PHP 8.2 in Laragon on Windows, update the bin folder, and restart Apache and MySQL services. Verify with a phpinfo test shows version 8.2.1 in localhost.
install xampp on mac os to run a local server with apache and mysql, access phpmyadmin, and set up a test php project using localhost.
Learn how to download, install, and configure MAMP on macOS, choose the free version, set ports, start Apache and MySQL, and run phpMyAdmin for PHP projects.
Shift between PSP versions in MAMP on macOS by renaming folders with underscores, restarting MAMP, and testing with a pspinfo.psp file for 8.1 and 8.2.
Install composer on Windows to manage PHP dependencies and install packages with simple commands. Include vendor/autoload.php in your project to load stripe and PayPal packages.
Learn how to download and install composer on macOS using Homebrew, verify the installation, and confirm composer commands work.
Compare popular PHP code editors, with emphasis on Visual Studio Code. Learn how to install VS Code and extensions and why it's lightweight and powerful for PHP development.
Create a .php file in a local server folder, run it on localhost, and use PHP blocks and echo to output html or text to the browser.
Explore how to use PHP comments to annotate code, demonstrate single-line and multi-line comments, and keep scripts readable for teams.
Learn how PHP variables serve as storage locations with a name and a value that can change during script execution, including strings, integers, floats, and arrays.
Explore variable scope in PHP, including global, local, and static scopes, and see how global variables behave inside functions. Learn to access globals using the global keyword or function parameters.
Discover how echo and print produce browser output in PHP, compare return values, single versus multiple parameters, and the use of parentheses.
Explore PHP data types—string, integer, float, boolean, array, object, null, and resource—through brief descriptions, echo usage, and isint checks.
Explore PHP type casting by converting a variable between integer, float, and string, and use var_dump to reveal type, value, and length. Casting may lose precision.
Explore PHP strings: declare strings with single or double quotes, handle embedded quotes with escaping, and print outputs using echo while avoiding syntax errors.
Explore PHP string functions and basics of declaring and calling functions with parameters. Learn common operations like strlen, str2upper, str2lower, substr, trim, str_replace, and chunk_split.
Explore PHP string functions such as count cares, sprintf, strRepeat, strWordCount, strRev, strPause, and stripTags to manipulate text, format output, and secure input in web apps.
Explore numeric types in PHP, including integers and floats, and learn how NAN and sqrt handle invalid operations, numeric checks with isNAN and isNumeric, and viewing data types with vardump.
Explore PSP math functions, including pi, min, max, abs, sqrt, round, rand, seal, and floor. See practical examples showing how numbers are manipulated and rounded, plus random values generated.
Learn what a constant is in PHP: an unchangeable value defined with define, globally scoped, with no dollar sign in its name, and using constant arrays like cities.
Explore how PHP operators perform arithmetic, assignment, and comparison on variables and values, illustrated with expressions, operands, and practical examples of echoing results.
Learn how to use PHP increment and decrement operators (pre and post), explore logical operators (and, or, xor, not), and apply string concatenation and concatenation assignment with dot.
Explore array operators, including union of arrays and associative arrays, and master equality checks using double and triple equals, plus ternary and null coalescing operators.
Explore the PHP conditional statement by using if, else if, and else, with braces or colon syntax, and learn to execute code based on true conditions.
Demonstrate how the Swiss statement works in PHP by using cases and a default. Build familiarity with break to prevent executing other cases and understand the default behavior.
Explore PHP loops from while, do-while, for, to the for-ish variant, with initialization, condition, and increments. Learn breaking loops, and iterating arrays with for each, keys, and values.
Learn how loops in PHP execute code blocks: while, do-while, for, and foreach, with break and continue to control iterations, and apply modulus to print even and odd numbers.
Learn how nested loops work in PHP by using an outer loop and an inner loop inside a for loop to print patterns, such as a number pyramid.
Build a dynamic multiplication table with PHP nested loops and a for loop from 1 to 10, rendering results in styled HTML div blocks.
Learn how to use PHP arrays, including indexed, associative, and multidimensional arrays, create and access elements, iterate with for and foreach loops, and compute totals from an array.
This lecture demonstrates working with associative arrays in PHP, assigning meaningful keys (full name, country, age), accessing elements by key, and iterating with foreach to display key and value.
Explore multidimensional arrays, including indexed and associative forms, and learn to access nested data and iterate with nested loops to display all elements.
Explore essential PHP array functions, including count, in_array, max, min, array_unique, array_values, explode, implode, and various sorting helpers, with practical debugging and formatting techniques.
Explore how to create and use PHP functions, including built-in vs user-defined functions, parameters, default values, return values, and practical examples like a reusable pyramid generator.
Explore PHP superglobals, built-in variables available in all scopes, including $_GET, $_POST, $_COOKIE, $_SERVER, $_FILES, $_ENV, and $_SESSION, and learn practical uses for login, cookies, and environment data.
Explore building and processing HTML forms with PHP using get, post, and request, sending data to same or different pages, and displaying results with isset and header redirects.
Discover how php cookies store user preferences, login state, and cart items to remember sessions, set and expire cookies, and view values with the cookie superglobal.
Learn to implement cookies in PHP with practical examples, including a voting system and a login flow, covering setting, retrieving, and persisting data via form submissions.
learn how to use php sessions to store user data, manage sessions with ob_start and session_start, create a login system with welcome and logout pages, and securely destroy sessions.
Explore how PHP include and require work, compare include, include once, require, and require once, and understand how errors affect execution and file inclusion.
Demonstrates copying uploaded files to the uploads and uploads1 folders, and resizing images with a PHP function to maintain aspect ratio and create small versions, with unlink for removal.
Learn core file IO in PHP by reading, writing, and appending text files, listing directory contents with scandir, and using fopen, fgets, and file_get_contents to process file data.
Learn to send email in PHP using the PHP mailer library, configure SMTP with mail trap for testing, and send emails with attachments across PHP 7.4 to 8.2.
Learn regular expressions in PHP to search and replace text using patterns, anchors, and character classes, with preg_match and preg_replace and a US phone validation example.
Explore building robust regular expressions to validate Bangladeshi phone numbers and emails, refine with anchors and length rules, and use preg_replace for string substitution in PHP, with case-insensitive matching.
MySQL is a free, open-source relational database management system that stores data in tables and uses queries to insert, update, delete, and retrieve records; explore phpMyAdmin on a local server.
Learn to connect PHP with MySQL using MySQLi and PDO, avoid the deprecated MySQL extension, compare procedural and object-oriented styles, and use prepared statements to prevent SQL injection.
Create a database and a table using sql with pdo connection. Build a students table with an auto increment primary key id, not null names, required email, and optional phone.
Insert data into a MySQL database with PHP and PDO, building single and multiple row inserts, using transactions with begin transaction and commit, and retrieving the last inserted id.
Use prepared statements with PDO in PHP to securely insert data into MySQL, protecting against SQL injection. Employ named parameters or unnamed placeholders, bind values and execute for performance.
Select data from a MySQL database using PHP with PDO, covering basic selects, fetch modes, and prepared statements. Explore grouping, distinct, and aggregate functions like count, sum, and average.
Dive into the where clause in SQL with PHP and MySQL, covering operators, the and/or logic, between, like, in, not in, and subqueries using PDO placeholders to filter student data.
Learn to update database data with SQL: use update queries, set column values, and apply where conditions to modify one or more fields for specific rows.
Learn to delete specific rows with delete from table where condition, delete all data by omitting the where clause or using truncate table, and drop tables when needed.
Learn how to use the order by clause to sort query results in PHP and MySQL, specifying ASC or DESC, and combining it with where conditions.
Learn how to use the limit clause to control the number of records returned in queries, with practical examples using the students table, including limit, offset, and order by.
Explore how the union and union all clauses combine multiple select results into a single set, requiring matching column counts and data types, with examples from students and teachers.
Learn how to use alter table to add, drop, rename, and modify columns in a MySQL table, with practical PHP PDO examples on a students table.
Learn how to group rows with group by, filter grouped results with having, and apply aggregate functions such as sum and avg, including joins across tables.
Explore PHP folder content protection to prevent directory listing in uploads and students folders, using empty index.php files or .htaccess with Options -Indexes.
Apply the least privilege principle to secure a login system by implementing role-based access control with admin and editor user types, session management, and page-level authorization.
Learn how XSS works in PHP and defend it with input validation and sanitization, prepared statements, and proper output encoding using strip tags, filter_input, filter_var, and html special chars.
Learn how to implement pagination in a PHP and MySQL based CMS for a digital agency service, enabling efficient navigation and data management.
Describe the admin panel HTML layout, including login and dashboard, settings with color, date, and time pickers, a text editor, photo upload, and a data table with CRUD popups.
Convert the admin panel from HTML to PHP, create dashboard and login pages, and modularize with header, footer, nav, and sidebar to keep the code clean and reusable.
Set up the config file and mailtrap for a PHP and MySQL admin panel, establishing database connections, base URL handling, and SMTP credentials.
Shows moving all admin files into a dedicated admin folder, creating a dist admin bundle, and building a templating system with layouts, header, and top for consistent links.
Set up and fix the forget password flow in the admin panel, linking forgetpassword.php to login and reset password pages, and implement email prompts using php mailer.
Implement a secure reset password flow by saving tokens in the users table, validating email and token from the url, hashing the new password, and clearing the token.
edit profile in the admin panel with profile.php, show logged-in admin name from session, display default or uploaded photo, and update name, email, and password with validation via multipart form-data.
Explains editing a user profile in a php and mysql cms: validate and update passwords, update name and email, and upload a valid profile photo with type checks.
Create four admin pages: setting.php, form.php, table.php, and invoice.php, and integrate them into the sidebar. Implement a current page check to highlight the active link and verify rendering.
Explore a front-end html template for a digital agency site, featuring slideshow, featured services, team, FAQ, portfolio, pricing, and a plan to build a dynamic backend admin.
Set up the project folder by duplicating binifox HTML into binifox PHP, configure base URL and database name, test admin login, and prepare the database export for the CMS.
Convert html files to PHP by renaming extensions, update all links and assets to the dist front path, and separate header and footer for a clean site structure.
Create common header and footer files in a PHP CMS and link pages by replacing HTML with PHP, using includes across index, about, blog, and services.
Create a common header across all pages and link the main pages (home, about, services, blog, contact) while configuring asset paths with dist front for reliable image loading.
Apply and centralize the base URL across frontend and admin code by configuring the base URL in config, updating dist paths, header, footer, and admin pages.
Apply an htaccess file to enforce folder security for both front-end and admin, block directory listing, and deny access to sensitive folders like config, db, and vendor, and hidden files.
Learn to implement a jquery toastr notification system in the admin panel. Wire front-end and back-end messages using css and js files and PHP sessions for success alerts and errors.
Learn to manage a back end slider using PHP and MySQL by creating a sliders table, uploading photos, and adding and displaying slider items in an admin panel.
Edit, add, and update slider items in the back end using modals with dynamic IDs, and manage current photos, uploads, and data fields via PHP and MySQL.
Fetch all slides with PHP from the sliders table and render each on the front end, showing the photo (from uploads), subheading, heading, and an optional button with a link.
Show how to render dynamic about data on the front end with PHP and MySQL, updating year, headings, photos, and button text across home and about pages using conditional display.
In this course, I am going to teach students how to build a nice and user-friendly content management system for a digital agency service website from scratch using PHP and MySQL. The course will cover all the core aspects of web application development, including authentication systems, email verification, template mastering etc.
I will develop a real-world digital agency service website where an administrator can easily change all the text and photos of that application and use it in real world for any digital agency type websites that contains a content management system or cms. This project will be built using the latest version of PHP at the time of recording, ensuring students learn modern and up-to-date practices.
This course is designed especially for beginners who have little or no experience with PHP, but even advanced learners will find it useful as I implemented many advanced features.
Admin Panel Features:
Admin can change logo, favicon etc.
Admin can change top bar and footer information.
Admin can control the home page information.
Admin can create, edit and delete blog categories.
Admin can create, edit and delete blog posts.
Admin can manage post comments.
Admin can manage post replies.
Admin can create, edit and delete services.
Admin can create, edit and delete projects.
Admin can create, edit and delete team members.
Admin can create, edit and delete FAQ items.
Admin can create, edit and delete pricing plan items.
Admin can create, edit and delete testimonials.
Admin can create, edit and delete photo gallery items.
Admin can see subscriber list and export all as CSV.
Admin can change his own photo, information and password
Admin can manage pages.
Admin can manage theme color change.
Admin can manage RTL or LTR from the back end.