Online Railway Reservation System in PHP with Source Code

A fully functional project based on Online Railway Reservation System Project which uses PHP Language with MySQL Database. The following PHP project contains all the essential features which can be in use by second-year IT students for their college projects. It has a number of features that will allow users to manage online ticket bookings. This web application’s concept is all clear. It’s the same as real-life scenarios and well-implemented on it. To download the free Online Railway Reservation System Project in PHP MySQL with source code files, please scroll down to the bottom of this post for the Download button.

About Online Railway Reservation System PHP Project

In particular, this Railway Management System Project in PHP focuses mainly on managing online train tickets. To be more precise, the system helps to keep track of all online ticket bookings and information. Also, the system displays all the available passengers and routes. In addition, the system allows adding up train, and ticket details too( Evidently, this project contains an admin panel with an employee and passenger panel. In an overview of this web application, passengers can simply register themselves and log into the system in order to book online tickets. He/she can view a list of available trains with their routes, fares, and others respectively. With it, passengers can book trains by selecting any. For this, the passenger has to check out the online train reservation by providing a payment code. At last, the passengers can view their tickets from the ticket section.

Before anything, this whole online ticket reservation process from a passenger’s account is not considered to be finalized by the system. Meaning, the tickets are set to pending status by default, which requires approval from the system administrator. From the ticket section, passenger can also print their tickets. Besides, the passengers can cancel their tickets anytime. Also, the users can view, and update their profiles.

Admin Panel

An admin has full control over the system. He/she can manage passengers, trains, accounting, and so on. Here, each and every section has its own respective details such as name, and other important details. Here, an admin can add passenger records directly by filling up the required forms. During the passenger registration, an admin has to provide details such as name, address, contact, and set up login details. The administrator can also manage employee members for the system( For adding an employee, the user has to provide names, and positions, and set up login credentials. Talking about the reservations, an administrator can view all the passenger’s reservation lists from his/her dashboard. Which also highlights all the important details such as names, routes, times, fares, total passengers, and more.

Train Management

When it comes to projects such as the Online Train Ticket Booking System, it’s a must that it should contain a section to cover train details too. And there is one. For this online train ticket system project, the administrator can manage train records easily. Not just with ease, but also it helps to cover up all the important and required information for the system. In order to add train details, the administrator has to provide a number of details. Such as the name of the train with the train number, route, fare, total seats/passengers, departure time, and more. Here, each and every train must have its own unique train number( Besides, the administrator can view, update, and delete train details. And also, the system users can view and print the train details.

Train Ticket Management

Moreover, the tickets section is divided into three categories, Pending, Approved, and Management. As mentioned earlier, all the confirmed payments from the passenger’s ticket reservation are stored here for the admin’s approval. Here, the administrator can view a list of pending tickets with details such as the name of the passenger with his/her booking details. This particular section ties directly to the accounting section for the calculation of total ticket sales. After approval from the admin, the details are forwarded to the approved tickets section( The admin can view payment codes from each and every passenger’s ticket reservations. In short, an admin has to mark and confirm the payment manually. Now talking about train ticket management, this section is where the administrator can either update the ticket details or delete the train ticket reservations.

Employee Panel, Accounting, and More

Talking about the employee panel, there’s a bit of a similar access level for the employees in this system. An employee can also manage train details, passengers, and tickets. Speaking of tickets, it has the same access as the administrator where the user can manage pending train tickets. The employees can also view a list of passenger reservations with detailed information( Moving toward the accounting section [Admin Panel], this section displays total sales generated only after the confirmation from the passenger’s train ticket. In addition to it, the accounting section also highlights the overall reservation numbers. With it, the system also plots out total figures of paid and pending ticket reservations using a pie chart. The user can also export the pie chart data in image format. Besides, both admin and employee can view and update their profiles.

Last but not least, a clean and simple dashboard is presented with various color combinations for a greater user experience while using this Online Train Ticket Booking System Project in PHP MySQL. For its UI elements, a free open-source CSS framework; Bootstrap is on board with some Vanilla CSS too. Presenting a new Online Railway Reservation System Project in PHP MySQL which includes an admin panel with an employee and passengers panel. That too contains all the essential features to follow up and is a knowledgeable resource for learning purposes.

Available Features:
  • Admin Panel
  • Passengers Panel
  • Employee Panel
  • Passengers Management
  • Train Management
  • Online Train Ticket Bookings
  • Cancel Ticket Bookings
  • View, Print Tickets
  • View, Update User Profiles
  • Search Available Trains
  • Employee Management
  • Manage Tickets
  • Approved, Pending Tickets
  • Accounting Overview
Project Name:Online Railway Reservation System
Language/s Used:PHP
PHP version (Recommended):5.6, 7.4, 8.1
Type:Web Application
Developer:Martin Mbithi Nzilani
Online Railway Ticket Reservation System PHP Project Overview

Instructions: How to Run?

  • After you finish downloading the project, unzip the project file and head over to your XAMPP directory.
  • There you’ll find a folder named “htdocs”.
  • Inside the “htdocs” folder, paste the project folder (not the .zip one, but the extracted one).
  • Open your favorite browser; we recommend using Google Chrome or Mozilla Firefox.
  • Then, go to the URL “http://localhost/phpmyadmin“.
  • Create a Database with a name that is provided inside the “01 LOGIN DETAILS & PROJECT INFO.txt”.
  • Click on the “Import” tab and choose the database file (.sql) which is provided under the folder named “DATABASE FILE”.
  • After setting up all these, go to the URL “http://localhost/[ PROJECT_FOLDER_NAME ]/“
  • All the login details are provided inside the project folder, check that out and enter them in order to use it.

And there you have it, a full setup of the Online Railway Reservation System Project in PHP MySQL. For this particular PHP project, PHP Version 5.6, 7.4, 8.1 is required because the project might not operate with the oldest PHP version. So, users with the oldest PHP version (older than 5.6) might face various problems while operating it. As a result, you’ll need to manage your PHP version (only if you’re using the old version) at the moment. Also, Download New Railway Ticket Reservation System Project in PHP Source Code – So, this train ticket booking system PHP project is a simple project for all beginners that broads vast knowledge into such PHP web applications. In conclusion, this whole PHP project with free source code is an absolute project and a meaningful way for the users to learn and explore more about it.

Free Download Online Railway Reservation System Project in PHP MySQL with Source Code:
Click the Download Button Below to Start Downloading

Note: Only for Educational Purpose


  1. How can I not log in admin, even though I have used the email and password provided. I haven’t changed this file at all. Can you help me?

  2. I cannot login to admin passenger or anything it saysFailed Access denked please check your credentials i used the credentials given in login text file.

  3. please i can’t login in the admin page, i have use the admin detail in the source code but still failed please is there any thing i need to do please

  4. Sir, how can I fix this problem? Fatal error: Uncaught Error: Undefined constant “MYSQL_NUM” in C:\xampp\htdocs\SimpleLoanSystem\admin\display_loan.php:80 Stack trace: #0 C:\xampp\htdocs\SimpleLoanSystem\admin\index.php(151): include() #1 {main} thrown in C:\xampp\htdocs\SimpleLoanSystem\admin\display_loan.php on line 80

    1. This indicates that the constant MYSQL_NUM is not recognized, as it’s deprecated. In newer PHP versions, use the integer value 1 instead. Update the code in ‘display_loan.php’ on line 80

  5. Boss How can i login as passengee? what the password because passenger is also failing to login and no error are being displayed. Need Help

  6. Fatal error: Uncaught mysqli_sql_exception: Access denied for user ‘root’ @ ‘localhost’ (using password: NO) in E:\XAMPP\htdocs\ Project \ employee\ assets \ inc\ config.php…………………..6

    solve this

Leave a Reply

Your email address will not be published. Required fields are marked *