
Discover building a real estate management system from scratch with vanilla PHP and MySQL, featuring multi-user roles, package-based property limits, PayPal and Stripe payments, and listings with inquiries.
Install xampp by downloading the installer and choosing an install location. Start Apache and MySQL from the control panel, then use localhost/phpMyAdmin to manage databases and run PHP files.
Shift between PHP 7 and PHP 8 in XAMPP by swapping the Apache and PHP folders, renaming them, and restarting the server to verify with a PHP info check.
Install and configure Laragon on Windows to run a local web stack with Apache and MySQL, access phpMyAdmin, and enable root access by adjusting allow no password, then test localhost/test.psp.
Learn to shift between psp versions in Laragon, switching from 8.1.10 to 7.4 by downloading the target version, placing it in the bin/psp folder, and restarting the services.
Install PSP 8.2 in Paragon by downloading the Windows zip and updating the bin folder. Restart Apache and MySQL, then verify the upgrade with a PSP info test on localhost.
Learn to install XAMPP on Mac, start Apache and MySQL, verify phpMyAdmin, and run a simple project from the apps folder using a sample index dot PSP file in localhost.
Install and configure MAMP on macOS, choose the free version, adjust ports for Apache and phpMyAdmin, and create a local PHP project.
Learn to switch php versions in MAMP by renaming unneeded PSP folders with underscores to activate two versions, restart services, and verify the current version with PSP info.
Explore popular code editors for php development, with a focus on Visual Studio Code and its extensions, and learn how to install and use Visual Studio Code extensions.
Download and install VS Code on Windows from the official site, accept the default drive settings, and launch the editor to work with your project folders.
Open and manage a project in Visual Studio Code by adding single or multiple folders, using open folder, and launching code from the command line to set up workspaces.
Learn how autosave in VS Code automatically saves changes after a delay, eliminating manual saves and accelerating real estate management system development with PHP and MySQL.
Explore Visual Studio Code extensions to enhance PHP development, including PHP code intelligence, HTML snippets, and CSS support, then install, manage, and customize extensions for efficient real estate app coding.
Locate the VSCode settings.json by navigating through the hidden items folder to roaming, then code, then user, on windows, and back it up to restore settings after reinstall.
Learn to reset your VS Code editor to a fresh base by deleting the settings.json file and the extensions folder in dot VSCode, then reopen and confirm autosave is off.
Create and use code snippets in VS Code to automate repeated HTML and PHP blocks, define prefix, body, and description, and insert multi-line code across files.
Install the bootstrap five quick snippets extension in VSCode and insert bootstrap five code snippets to quickly scaffold boilerplate, containers, accordions, headings, and tables, then preview the results.
Install the auto rename tag extension and learn how renaming an opening HTML tag automatically updates the closing tag, speeding up coding and project development.
Install the material icon theme in VS Code to replace default icons with attractive folder and file icons, making navigation in the sidebar easier.
Install the VSCode great icons extension to enable a blue icon set in the explorer, providing distinct CSS and JavaScript icons and improving file and folder visuals.
Install the live server extension in your code editor, then right-click any HTML file and open with live server to run it locally.
Learn to use the live server preview extension in VS Code to view real-time HTML changes. See how editing login.html updates elements like email and password fields in the preview.
Enable the HTML CSS support extension in VS Code to auto-complete CSS class names when editing index.html linked to style.css, demonstrating red, green, and blue classes and faster styling.
Master customizing Laravel color schemes, switching themes via the color theme menu, and installing popular options like Dracula to tailor your development interface.
Use the VS Code terminal to run Laravel artisan commands, clear the cache, and create a model admin, and switch to git bash for git operations.
Enable settings sync in VSCode and sign in with Microsoft or GitHub to automatically save settings, keyboard shortcuts, user snippets, and extensions online for seamless recovery on new installations.
Discover what PHP is, a server-side scripting language that runs with a web host or localhost, open source and beginner-friendly, with frameworks like Laravel.
Create a .php file in a local server folder and run it to print output in the browser using echo. Embed HTML in PHP and echo results.
Demonstrate how comments work in PHP, showing single-line comments with // and multi-line comments with /* ... */, used to add notes and improve readability while the interpreter ignores them.
Learn how variables work in PHP, including storage location, associated names, and changeable values such as strings, integers, and arrays. Master variable naming rules, assignment, and output in PHP scripts.
Explore variable scope in PHP by examining global, local, and static scopes; learn how to access global variables inside functions with the global keyword or the globals array.
Explore echo and print in PHP, comparing output behavior, return values, parameter usage, and syntax with or without parentheses. Learn how to print text and HTML to the browser efficiently.
Explore PHP data types, including string, integer, float, boolean, array, object, null, and resource, with examples of strings, echo, and type checks like is_int.
Explore typecasting by converting variables among integer, float, and string types with examples. Learn how casting changes values and when precision is lost, with is int and is float checks.
Learn how strings work in PHP, including declaring string variables and escaping quotes with backslashes to display text like Peter's car or Bangladesh is a beautiful country.
Learn how to use built-in string functions to manipulate text, including strlen, strtoupper, strtolower, ucwords, trim, str_replace, substr, and chunk_split, with examples of function calls, parameters, and string concatenation.
Explore PHP string functions, including count, printf, str_repeat, str_word_count, strrev, strpos, and strip_tags, and learn how they analyze, format, and secure strings in real estate software.
Discover number types in PHP, including integers and floats, NaN, is_nan, and is_numeric, and learn how square roots and numeric strings are evaluated.
Explore core math functions in PSP, including pi, min, max, abs, sqrt, round, rand, ceil, and floor, with practical examples and browser demonstrations.
Learn how constants in PHP provide immutable identifiers for values, defined with define and used globally. See constants for arrays and naming rules without dollar signs.
Explore PHP operators, expressions, and operands, including arithmetic, assignment, comparison, increment and decrement, logical, string and array operators, plus conditional statements with practical examples.
Explore PHP increment and decrement operators, including pre- and post- forms, and learn logical operators (and, or, xor, not) plus string concatenation with the dot operator and dot-equals.
Learn how to work with arrays in PHP, including associative arrays, array union, and operators such as equality, identical, and their variations, plus using the ternary and null coalescing operators.
Learn how to use PHP conditional statements (if, elseif, else) with brace and colon syntax, including blocks, multiple statements, and practical examples that output different messages.
Understand the switch statement in PSP, testing a value against multiple cases with switch, case, and break. A default handles unmatched values, demonstrated with a country example.
Explore PHP loops including while, do-while, for, and foreach, with practical examples and key concepts like initialization, condition, increment, break, and handling infinite loops.
Explore core looping constructs in PHP, including while, do-while, and for loops, and master break and continue to control iterations, with practical examples on printing even and odd numbers.
Explore nested loops in programming, using outer and inner loops and for loops to print pyramid patterns and number sequences across multiple rows.
Explore building a dynamic multiplication table with nested for loops in PHP and HTML, showcasing outer and inner loops, string concatenation, and flex-based formatting.
Learn how arrays store multiple values in PHP, define indexed, associative, and multi-dimensional arrays, access elements by index, and sum numbers using a for loop with count to handle items.
Explore how to use associative arrays with keys in PHP, assign named keys like full name and country, and iterate with a for loop to display key-value pairs.
Master multi dimensional arrays in php, including index and associative forms, and access nested data with indices and keys. Use for loops to display all person data clearly.
Master PHP array functions to count elements, debug with var_dump and print_r, test in_array, find max and min, deduplicate with array_unique, and split or join strings with explode and implode.
Explore functions in PHP, including built-in and user defined functions, with examples of parameters, return values, defaults, and code reuse.
Discover PHP superglobals and how they remain available in all scopes, including $_POST, $_GET, $_SERVER, $_ENV, $_COOKIE, and $_SESSION, with practical guidance on requests, server data, cookies, and sessions.
Explore how to build and handle HTML forms with PHP using the $_GET, $_POST, and $_REQUEST superglobals, including form submission, data retrieval, validation, security, and redirection.
Learn how cookies store small text data on a user device to remember preferences, cart items, and login sessions, enable tracking for advertising, and manage expiration.
Learn to implement cookies in PHP with a practical mini project: building a voting and login system, using form submissions, cookie creation, remember me, and redirects.
Understand how PHP sessions store per-user data across pages, start sessions with session_start, use $_SESSION, and modify and destroy them, then build a simple login with redirects and access control.
Learn include and require in PHP, including how include may load the same file multiple times, how include once and require once control duplicates, and how errors differ.
Upload files in PSP using HTML forms with multipart data, handling input type file and tmp_name. Validate mime type with fileinfo, enforce size limits, and create unique names with timestamps.
Learn php file upload basics, using copy instead of move_uploaded_file to store to uploads and uploads one, and resize images with a custom function while preserving aspect ratio.
Explore PHP file input output operations, including reading, writing, and appending text files, viewing directory contents, and using scan and file functions to handle files.
Master PHP form validation for a real estate management system by building a name and email form, validating empty fields and email format with try-catch and session-based redirects.
Learn how to send email in PSP using the PSP mailer library or APIs, with SMTP configuration, testing via mail trap, and optional attachments.
Learn how regular expressions work in PHP, including anchors, delimiters, and character classes, and validate formats such as US phone numbers with pragmas and Pregreplace.
Explore regular expressions to validate Bangladeshi phone numbers and emails, implement anchors and character classes, and use preg_replace for string substitution while understanding case sensitivity and pattern options.
Learn about MySQL, a free open source relational database management system that stores data in tables and uses queries to retrieve, insert, update, and delete records, often via phpMyAdmin.
Learn how to connect PHP with MySQL using the MySQL extension, mysqli, and PDO, compare object-oriented and procedural approaches, and use prepared statements to prevent SQL injection.
Create a new database and a students table using sql and phpMyAdmin, establish a connection, define an auto-incrementing primary key, and enforce not null constraints on names and email.
Cover inserting data with php and pdo, including single and multiple inserts, table and column mapping, and retrieving the last insert id for linking orders and related tables.
Learn how prepared statements with PDO in PHP safely insert data into MySQL using named or unnamed placeholders. Bind values and execute to prevent SQL injection and improve performance.
Select data from a MySQL database with PHP PDO, using all or specific columns, fetch results as numeric or associative arrays, and apply distinct, min, max, count, sum, and avg.
Master the sql where clause to filter data using operators like =, <, >, and not equal on a students table. Use and/or, between, like, in, not in, and subqueries.
Apply update queries to modify database records using update, set, and where clauses, updating specific or multiple rows such as emails or phone numbers.
Learn to delete specific rows in a MySQL database with delete from table where, using examples on students and teachers, and when to use delete, truncate, or drop table.
Master the order by clause to sort query results in ascending or descending order by a column, with examples using first name and ID.
Learn how to use the limit clause to control the number of records returned, with offset and order by, illustrated on a students table.
Explore the join clause, including inner, left, right, and full joins, with practical examples of combining rows from related tables using primary and foreign keys.
Master the union clause and union all to combine two select statements into result set, requiring same column count and data types; union yields unique rows, union all yields duplicates.
Learn to use alter table in MySQL to add, drop, rename, or modify columns and change data types in an existing table.
Learn how to use group by with aggregate functions to summarize data by name or month, apply having to filter totals, and combine tables with joins.
Protect folder contents by preventing directory listings with empty index files and options indexes. Avoid exposing sensitive data by placing JSON inside a PHP file rather than in data.json.
Learn how least privilege restricts system access by assigning minimal roles like admin and editor, implementing session checks, and enforcing page-level access controls to protect dashboards and sensitive pages.
Explore SQL injection in PHP, including post and get injections, login bypasses, and how prepared statements prevent attacks.
Prevent cross-site scripting by sanitizing and validating input and encoding output. Use prepared statements with PDO, filter input, and HTML entities to secure data and protect against session hijacking.
Learn to implement a from-scratch pagination system in PHP and MySQL, calculate total pages, generate navigation links, and improve load times by dividing data into pages.
Set up a PHP authentication template system with modular header and footer, implement registration, email verification, login, and password reset, and configure a MySQL database.
Learn to implement a PHP real estate registration flow with a multi-field form, server-side validation, hashed passwords, database insertion, and email verification links using PHPMailer.
Verify registration via token, validate email and token in the database, then activate the user by clearing the token and setting status to active.
Explore login and logout flows in a PHP and MySQL real estate management system, including session-based authentication, password verification, dashboard access control, and dynamic menu rendering.
Implement a forget password flow: trigger login, verify email, generate and email a reset token, and allow password reset through a verification link.
Demonstrates a reset password workflow: sending a token via email, validating new passwords, updating the user record with a hashed password, and redirecting to login after success.
In this course, I have taught the students the most popular programming language PHP and MySQL database from scratch. After showing all the basics of PHP, authentication system, security, template mastering etc., I have developed a complete real estate listing web application with the latest version of PHP and that is PHP 8.2
The persons who are very beginner in php or have no knowledge at all in PHP, they will be benefitted the most from this course. But the advanced persons will also get help from this course, because I have tried to show all the real life features of a real estate applications with advanced features.
Application Features:
Search features in the home page
Advanced search features in the properties page
URL rewrite option using a htaccess file. So in the front end, there will be no .php extensions.
Ajax form submission with page refresh.
Optimized query added in some sections in order to load data faster instead of nested queries.
Uploading task in web server using cpanel was shown in this project.
Admin Panel Features:
Admin can change logo, favicon etc.
Admin can change footer information.
Admin can update the home page information.
Admin can update the FAQ page information.
Admin can control the FAQ Section
Admin can update the contact page map.
Admin can create, edit and delete blog posts.
Admin can create, edit and delete listing types.
Admin can create, edit and delete listing locations.
Admin can create, edit and delete listing amenities.
Admin can create, edit and delete why choose us section
Admin can create, edit and delete testimonials.
Admin can send email to subscribers
Admin can see all the agent profiles and can delete them
Admin can make agent active or inactive
Admin can see all the properties sections added by agents
Admin can see all the orders and delete those
Admin can see all the customer profiles and can delete them
Admin can make customer active or inactive
Admin can change his own photo, information and password
Admin can create, edit and delete his own listings
Admin can update the privacy policy page information.
Admin can update the terms and conditions page information.
Agent Features:
Agent can create account for free
Agent can login and reset his password if necessary
Agent can change profile information
Agent can buy package using PayPal and Stripe
Agent can renew package anytime
Agent can see order history
Agent can create, edit and delete properties
Agent can create and delete photos per properties
Agent can create and delete videos per properties
Agent can reply to customer messages
Applied security so that non-subscribed agents can not add property.
Applied security so that if order is expired, then agent can not have access to his properties add list until he renew his packages.
Customer Features:
Customer can create account for free
Customer can login and reset his password if necessary
Customer can change profile information
Customer can add properties in wishlist
Customer can create or delete messages
Customer can reply to agent messages