A simple, secure, and responsive web application built with PHP and MySQL for managing user accounts and facilitating secure fund transfers. Designed with separate Admin and User roles to demonstrate core banking functionalities.
This system provides a full suite of banking simulation features, ensuring a clean separation between administrative controls and user operations.
- Role-Based Access: Dedicated dashboards for Administrators and regular Users.
- Secure Authentication: Secure login and session management across the application.
- Database Transactions (ACID): Fund transfers are wrapped in database transactions to guarantee money is either successfully debited and credited, or rolled back completely in case of failure.
- User Management: Add new users to the system (
add_user.php). - View All Users: Display a list of all accounts and their current balances (
users.php). - Global History: View a complete, chronological history of all transactions across all users (
history.php). - Admin Transfers: Ability to transfer money between any two accounts.
- Profile Management: View and update personal profile details and check current account balance (
profile.php). - Fund Transfer: Easily transfer money to any other registered user (
transfer.php). - Personal History: View a filtered list of only their own incoming and outgoing transactions (
user_history.php).
- Modern Design: Clean, centered card layout with responsive styling for all screen sizes (managed via
styles.css). - Modular Code: Consistent header and footer implementation using
footer.php.
Follow these steps to set up and run the application on your local machine.
You need a working web server environment with PHP and MySQL support. Recommended setup:
- PHP: Version 7.4 or later
- MySQL: Database server
- Web Server: Apache or Nginx (bundled in packages like XAMPP, WAMP, or MAMP)
- Download/Clone: Download all project files from this repository.
- Extract Files: Place the extracted files in your web server's root directory:
- For XAMPP:
C:\xampp\htdocs\your_project_folder - For WAMP:
C:\wamp64\www\your_project_folder - For MAMP (Mac):
/Applications/MAMP/htdocs/your_project_folder
- For XAMPP:
- Start Services: Ensure your web server (Apache) and database server (MySQL) are running.
- Create Database: Log into your MySQL server (via phpMyAdmin or command line) and create a new, empty database (e.g.,
banking_db). - Import Schema: Locate the provided
.sqlfile (e.g.,banking_db.sql) and import it into the new database. - Update
db.php: Opendb.phpand update the connection details:
After setting up the database, navigate to the following URL in your web browser: http://localhost/path/to/your/project/index.php
- Start by registering a new user.
- To enable admin features, manually change the user’s role in the database from
'user'to'admin'.
| Role | Initial Access Page | Key Functionality |
|---|---|---|
| Admin | login.php |
Full control over users, balances, and global history. |
| User | login.php |
Personal transfers, balance viewing, and personal transaction history. |
This system was conceived and designed to be a secure, modular PHP web application.
© 2025 Banking Management System | Designed by Abhishek Shah
This project is built on standard PHP, MySQL, and HTML/CSS, making it highly flexible. You can modify files to improve:
- Security Enhancements: Improve password hashing or input validation.
- Feature Expansion: Add features like email notifications or transaction descriptions.
- UI/UX Refinements: Enhance the look and responsiveness of the application.
If you have specific suggestions or bug reports, feel free to reach out!