Abstarct: User Details Train Details E-Ticket Booking Generating Reports
Abstarct: User Details Train Details E-Ticket Booking Generating Reports
In today’s fast improving world computers have become a part of life all over the world. The
project “ONLINE RAILWAY RESERVATION SYSTEM” is being proposed to booking the
train tickets in online. This system will provide a user account for the every user. The user can
create an account for login the system and booking any train tickets in quickly. Passenger can
get the print-out of the ticket and know the status of the booking.
The administrator should have the ability to perform operations like add a new train, modify the
ticket costs and cancel a particular train. The administrator also has the privilege to view the
reports of the all the passengers. The user should be able to access his/her account from
anywhere just by inputting the correct user-id and password.
1
TABLE OF CONTENTS
ABSTRACT 1
INTRODUCTION 3
FEATURES 5
MODULES 8
SYSTEM ANALYSIS 9
PROBLEM ANALYSIS 11
FEASIBILTY STUDY 12
ENTITY–RELATIONSHIP MODEL 13
CODING 17
OUTPUT SCREENS 38
TESTING 48
IMPLEMENTATION 51
MAINTENANCE 52
FUTURE SCOPE 53
TABLE OF CONTENTS
2
ABSTRACT 1
INTRODUCTION 3
FEATURES 5
MODULES 8
SYSTEM ANALYSIS 9
PROBLEM ANALYSIS 11
FEASIBILTY STUDY 12
ENTITY–RELATIONSHIP MODEL 13
CODING 17
OUTPUT SCREENS 38
TESTING 48
IMPLEMENTATION 51
MAINTENANCE 52
FUTURE SCOPE 53
3
INTRODUCTION
This project aims at development of an Online Railway Reservation Utility which facilitates the
Railway customers to manage their reservations online, and the Railway administrators to
modify the backend databases in a User-Friendly manner.
The Customers are required to register on the server for getting access to the database and query
result retrieval. Upon registration, each user has an account which is essentially the ‘view level’
for the customer. The account contains comprehensive information of the user entered during
registration and permits the customer to get access to his past reservations, enquire about travel
fare and availability of seats, make afresh reservations, update his account details, etc.
The Railway Administrator is the second party in the transactions. The administrator is required
to login using a master password, once authenticated as an administrator, one has access and
right of modification to all the information stored in the database at the server. This includes the
account information of the customers, attributes and statistics of stations, description of the train
stoppages and physical description of coaches, all the reservations that have been made, etc. The
railway administrator has the right to modify any information stored at the server database.
The purpose of Railway Reservation System is a website based application which provides the
train timing details, reservation and cancellation.
The main aim of this project is to give efficient software to reserve, cancel and review the
railway tickets through network in the name of “e-booking”.
At the front end we will use the PHP and Mysql will be the database at back end.
4
OBJECTIVE
The objective and scope of my Project Online Railway Reservation System is to record the
details various activities of user. It wills simplifies the task and reduce the paper work. During
implementation every user will be given appropriate training to suit their specific needs.
Specific support will also be provided at key points within the academic calendar. Training will
be provided on a timely basis, and you will be trained as the new is online Reservation System
rolled out to your area of responsibility.
At the moment we are in the very early stages, so it is difficult to put a specific time on the
training, but we will keep people informed as plans are developed. The system is very user
friendly and it is anticipated that functions of the system will be easily accessed by
administrators, academics, students and applicants.
This project is designed to reduce the problem faced while making online reservations. It helps
in the reservation of tickets as per one’s choice, wish, simplicity and convenience. It also helps
to enable private ticket booking in a secured and authenticated manner. It has a nice customer
interface with interactive features. Proper care has been taken in order to avoid data redundancy,
data duplicity, miss use of data, data corruption and privacy. Process description to book tickets
through our system, a customer first registers in our system. Whenever a user logs-in it is
checked whether he is a registered customer in the customer database. A valid user then gives
the details of his travel. Our application server then determines and displays to the user the list
of trains according to his demands from the train, stations and seat databases. A user then books
the tickets.
5
FEATURES
6
COMPONENTS OF THE PROJECT
1. HOW TO LOGIN:-In this module, the user will enter his username and password to view
and buy latest products. There will be 2 types of users Administrator/Customer
3. HOW TO SEARCH AND BOOK A TICKET:-First user click on search for train, find a
particular train, fill required data (data, passenger detail, class) and then book a ticket.
4. HOW TO SEE THE BOOKING HISTORY:- Click on booking history link, user
shows the automatically previous booked tickets.
5. HOW TO CANCEL A TICKET:-When user click on cancel ticket link, then all booked
tickets shown by a particular user, user select a ticket which he want to cancel.
7
SOFTWARE AND HARDWARE REQUIREMENT
SPECIFICATION
Hardware Requirements
Number Description
1 Intel core ,WIN xp/7/vista
2 320 MB RAM
Software Requirements
Number Description
1 Windows XP –7
2 Php 5.1
3 MySql
4 IIS server/ WAMPSERVER
5 HTML/Dhtml/JavaScript/Css
8
MODULES
LOGIN MODULE –In this module user can enter the application by providing username and
password and start train reservation.
ADMIN MODULE – Admin can add, remove and modify the train details, admin also check
the full passengers list chart of a particular train and date.
JOIN MODULE – In this module user can become a part of the site by providing some
necessary information for example first name, last name, password, confirmation password,
email and other details.
TICKET RESERVATION MODULE–Ticket booking done by only user, first user search a
train fill by source and destination, if train found then enter class, date of journey, number of
passengers, after that fill name of the all passengers, then passenger can book a ticket.
9
SYSTEM ANALYSIS
PROPOSED SYSTEMIn today’s fast improving world computers have become a part of life
all over the world. The project “ONLINE RAILWAY RESERVATION SYSTEM” is being
proposed to booking the train tickets in online. This system will provide a user account for the
every user. The user can create an account for login the system and booking any train tickets in
quickly. Passenger can get the print-out of the ticket and know the status of the booking.
The administrator should have the ability to perform operations like add a new train, modify the
ticket costs and cancel a particular train. The administrator also has the privilege to view the
reports of the all the passengers. The user should be able to access his/her account from
anywhere just by inputting the correct user-id and password
10
BENEFITS OVER EXISTING SYSTEM-
Passengers not need to go to the station.
Passengers will not waste time in queues.
Reduction in manual system.
Quick response.
No operation problem in term of speed and time.
More security.
Efficient control.
Easy access and retrieval.
More efficient in term of performance.
More accurate.
Lesser errors and omissions.
11
PROBLEM ANALYSIS
APPLICATIONSThe main objective of railway reservation project is to maintain the
records of train details so that it could be easy for updating the reservation details. The train
details consist of train name, train no, destination to be reached, number of passengers traveling
and number of seats available. The reservation details consist of passengers, name, age, sex,
destination to be reached by them, ticket numbers, and seat number.
CHALLENGESThe challenges mainly lie in detecting attacks like viruses, hacking and also in
the implementation of firewall. A virus can enter the system and can disrupt the working of the
website. Hacking can be done by some people who want to access some restricted sections of
the website (e.g. administrator’s area) and to modify or taper some aspects of the website.
Scanning attacks may yield:
And with the implementation of firewall and other security mechanisms that are designed for it,
the online railway reservation System Website safe and secure.
12
FEASIBILTY STUDY
From the inception of ideas for software system, until it is implemented and delivered to
customer and even after that the system undergoes gradual developments and evaluations.
The software is said to have life cycle composed of several phases.
At the feasibility stage, it is desirable that two or three different configuration will be pursed
that satisfy the key technical requirement but which represent different level of ambition and
cost.
Feasibility is the determination of whether or not a project is worth doing. A feasibility study is
carried out select a best system that mate performance requirements.
The data collected during primary investigation examines system feasibilities that is likelihood
that the system will be beneficial to the organization. Four tests for feasibility study are as
follows:-
TECHNICAL FEASIBILITY: This is concerned with specifying equipment and software
that will successfully satisfy the use considerably, but might include
o The feasibility to produce output in a given time because system is fast enough to
handle multiple users.
o Response time under certain circumstances and ability to process a certain
volume of transaction of a particular speed.
o Feasibility to communicate data to distant location.
ECONOMICAL FEASIBILITY: Economic analysis is the most frequently used
technique used for evaluating the effectiveness of a proposed system. More commonly
known as cost/benefit analysis the procedure is to determine the benefits and savings that
are expected from a proposed system and compared them with cost. Though the cost of
installing the system may appear high, it is one time investment. The resulting benefit is that
automation results in turnaround time. The resulting cost/benefit ratio is favorable.
13
ENTITY–RELATIONSHIP MODEL
DAT
A FLOW
DIAGRAM
ADMIN DFD
14
USER DFD
15
How data transfer from one to another.
16
rel CODING
<td>Last name</td>
="stylesheet" type="text/css" href="includes/marquee.css" />
<
script type="text/javascript" src="includes/jquery-1.6.min.js"></script>
<script Home Page (Index.php)
.<!DOCTYPE html>
<html>
<head>
<title>Indian railway</title>
<link type="text/javascript" src="includes/farinspace/jquery.imgpreload.min.js">
</script>
<script type="text/javascript" src="includes/marquee.js"></script>
<style type="text/css">
body {
background-color:#2781BA;
background-image:url('images/bg1.gif');
}
table {
border: 0px red solid;
padding-top:0px;
margin-top:0px;
cellspacing:0px;
cellpadding:0px;
}
td {
border:0px green dotted;
}
table.login_tab {
background:rgba(255,255,255,0.9);
cellspacing:0px;
cellpadding:0px;
}
table.main_tab {
background:rgba(0,0,0,0);
width:70%;
}
td.login {
background-color:#C0C0C0;
padding-left:5px;
padding-right:5px;
17
}
td.login_table {
background:rgba(248,248,255,1);
padding-top:50px;
padding-left:40px;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
td.login_nam {
height:30px;
font-size:13pt;
color:white;
background-color:#3b5998;
padding-left:5px;
}
td.new {
height:30px;
font-weight:none;
font-size:11pt;
}
a{
color:#999933;
}
a:hover {
font-size:12pt;
}
td.marquee{
padding-top:1px;
padding-bottom:1px;
padding-left:130px;
background:rgba(0,0,0,1);
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
td.footer {
background-color:#2952A3;
background-image:url('images/tdback1.gif');
border-top: 1px grey solid;
color:#999933;
text-align:center;
font-size:8pt;
padding-bottom:5px;
padding-top:5px;
}
18
</style>
</head>
<body>
<table align='center' class='main_tab' cellspacing= "0" cellpadding= "0">
<tr>
<td colspan="2" class="header"><img src="images/rail.jpg" /></td>
</tr>
<tr>
<td class="marquee">
<div class="marquee_container autoplay">
<div class="marquee_photos"></div>
<div class="marquee_caption">
<div class="marquee_caption_content"></div>
</div>
<div class="marquee_nav"></div>
</div>
<div class="marquee_panels">
<!-- Panel -->
<div class="marquee_panel">
<img class="marquee_panel_photo" src="images/photos/1.jpg"
alt="mumbai" width="100%" />
<div class="marquee_panel_caption">
<h2>Mumbai Train Station</h2>
<p>The Victoria Terminus in Mumbai, it was built by
British.Now it is renamed as chhatrapati shivaji Terminus.</p>
<p><a href="http://www.google.com"
target="_blank">Check it out!</a></p>
</div>
</div>
<!-- Panel -->
<div class="marquee_panel">
<img class="marquee_panel_photo" src="images/photos/2.jpg"
alt="newdelhi" width="100%" />
<div class="marquee_panel_caption">
<h2>New Delhi metro Train station</h2>
<p>Delhi Metro is being built and operated by the Delhi
Metro Rail Corporation Limited (DMRC).</p>
<p><a href="http://www.google.com"
target="_blank">Check it out!</a></p>
</div>
</div>
<!-- Panel -->
<div class="marquee_panel">
<img class="marquee_panel_photo" src="images/photos/3.jpg"
alt="old delhi" width="100%" />
<div class="marquee_panel_caption">
<h2>Old Delhi Train Station</h2>
19
<p>Old Delhi Railway Station is the oldest railway station
of Delhi city.It was built by the British in the style of red-coloured fort, before
independence.</p>
<p><a href="http://www.google.com"
target="_blank">Check it out!</a></p>
</div>
</div>
<!-- Panel -->
<div class="marquee_panel">
<img class="marquee_panel_photo" src="images/photos/4.jpg"
alt="rajdhani" width="100%" />
<div class="marquee_panel_caption">
<h2>Rajdhani Express</h2>
<p>Rajdhani Express is a passenger train service in India
connecting New Delhi with other important destinations, especially state capitals.</p>
<p><a href="http://www.google.com"
target="_blank">Check it out!</a></p>
</div>
</div>
<!-- Panel -->
<div class="marquee_panel">
<img class="marquee_panel_photo" src="images/photos/5.jpg"
alt="chennai" width="100%" />
<div class="marquee_panel_caption">
<h2>Chennai central Station</h2>
<p>It is.................</p>
<p><a href="http://www.google.com"
target="_blank">Check it out!</a></p>
</div>
</div>
<!-- Panel -->
<div class="marquee_panel">
<img class="marquee_panel_photo" src="images/photos/7.jpg"
alt="Guwahati" width="100%" />
<div class="marquee_panel_caption">
}
table {
background:rgba(248,248,255, 0.8);
padding-left:15px;
padding-right:15px;
padding-top:15px;
padding-bottom:15px;
width:60%;
border-radius:10px;
font-family:Verdana, Geneva, sans-serif;
cellpadding:5px;
cellspacing:5px;
}
td {
border-bottom: 1px green dotted;
height:30px;
}
span {
color:red;
font-size:8pt;
}
td.hr {
border-bottom: 1px blue solid;
font-size:15pt;
color:blue;
font-weight:bold;
}
td.nb {
border-bottom:0px green dotted;
}
td.last_hr {
border-bottom:1px blue solid;
border-bottom-left-radius:2em;
border-bottom-right-radius:2em;
}
</style>
<script type="text/javascript">
function validateForm()
{
var x=document.forms["reg"]["username"].value
var y=document.forms["reg"]["password"].value
22
var z=document.forms["reg"]["rpassword"].value
var t=document.forms["reg"]["question"].value
var b=document.forms["reg"]["answer"].value
var c=document.forms["reg"]["fname"].value
var d=document.forms["reg"]["lname"].value
var e=document.forms["reg"]["day"].value
var f=document.forms["reg"]["month"].value
var g=document.forms["reg"]["year"].value
var h=document.forms["reg"]["occupation"].value
var i=document.forms["reg"]["email"].value
var j=document.forms["reg"]["mobile"].value
var k=document.forms["reg"]["nationality"].value
var l=document.forms["reg"]["address"].value
var m=document.forms["reg"]["city"].value
var n=document.forms["reg"]["state"].value
var o=document.forms["reg"]["zip"].value
var p=document.forms["reg"]["country"].value
if (x==null || x=="")
{
alert("Username must be filled out");
return false;
}
if (y==null || y=="")
{
alert("Please enter your password");
return false;
}
if (z==null || z=="")
{
alert("Please re-enter your password");
return false;
}
if (t=="9")
{
alert("Please select a security question");
return false;
}
if (b==null || b=="")
{
alert("Please give your answer to the security question");
return false;
}
if (c==null || c=="")
{
alert("First name must be filled out");
return false;
}
if (d==null || d=="")
{
23
alert("Last name must be filled out");
return false;
}
if (e=="00")
{
alert("Please enter a date");
return false;
}
if (f=="0")
{
alert("Please enter month");
return false;
}
if (g=="")
{
alert("Please enter year");
return false;
}
if (h=="7")
{
alert("Please select your occupation");
return false;
}
var atpos=i.indexOf("@");
var dotpos=i.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=i.length)
{
alert("Not a valid e-mail address");
return false;
}
if (j==null || j=="")
{
alert("Please enter your mobile number");
return false;
}
if (k=="")
{
alert("Please select your nationality");
return false;
}
if (l==null || l=="")
{
alert("Address must be filled out");
return false;
}
if (m=="")
{
alert("Please select your city");
return false;
24
}
if (n=="")
{
alert("Please select your state");
return false;
}
if (o==null || o=="")
{
alert("Please enter pincode");
return false;
}
if (p=="")
{
alert("Please select your country");
return false;
}
}
</script>
</head>
<body>
<form name="reg" action='insert.php' onsubmit="return validateForm();" method='post'>
<table align="center">
<tr>
<td class="hr" colspan="2">Individual Registration <span>(* fields
are Mandatory)</span></td>
</tr>
<tr>
<td colspan="2"><br /></td>
</tr>
<tr>
<td colspan="2"><br /></td>
</tr>
<tr>
<td>Username</td><td><input type="text" name="username" size="20"
maxlength="20">*(max 12 characters)</td>
</tr>
<tr>
<td>Password</td><td><input type="password" name="password" size="30"
maxlength="30">*</td>
</tr>
<tr>
<td>repeat Password</td><td><input type="password" name="rpassword"
size="30" maxlength="30">*</td>
</tr
<tr>
<td>select security question</td>
25
<td><select name="question">
<option selected="selected" value="9">--Select One--</option>
<option value="0">What is your pets name?</option>
<option value="1">What was the name of your first school?</option>
<option value="2">Who was your childhood hero?</option>
<option value="3">What is your favorite pass-time?</option>
<option value="4">What is your all-time favorite sports team?</option>
<option value="5">What is your fathers middle name?</option>
<option value="6">What was your high school mascot?</option>
<option value="7">What make was your first car or bike?</option>
<option value="8">Where did you first meet your spouse?</option>
</select></td>
</tr>
<tr>
<td>Your answer</td>
<td><input type="text" name="answer" maxlength="20"></td>
</tr>
<tr>
<td>First name</td>
<td><input type="text" name="fname" size="15" maxlength="15"></td>
</tr>
<tr>
<td><input type="text" name="lname" size="15" maxlength="15"></td>
</tr>
<tr>
<td>Gender
<select name="gender">
<option selected="selected">Male</option>
<option>Female</option>
</select></td>
<td>Maritial status
 
<select name="maritialstatus">
<option selected="selected">Married</option>
<option>Unmarried</option>
</select></td>
</tr>
<tr>
<td>Date of birth</td>
<td>
<input name="date" type="hidden">
<select name="year">
<option value="" selected="selected">Year</option>
<option value="1993">1993</option>
<option value="1992">1992</option>
<option value="1991">1991</option>
<option value="1990">1990</option>
<option value="1989">1989</option>
26
<option value="1988">1988</option>
<option value="1987">1987</option>
<option value="1986">1986</option>
<option value="1985">1985</option>
<option value="1984">1984</option>
<option value="1983">1983</option>
<option value="1982">1982</option>
<option value="1981">1981</option>
<option value="1980">1980</option>
</select>
<select name="month">
<option selected="selected" value="0">Month</option>
<option value="1">Jan</option>
<option value="2">Feb</option>
<option value="3">Mar</option>
<option value="4">Apr</option>
<option value="5">May</option>
<option value="6">Jun</option>
<option value="7">Jul</option>
<option value="8">Aug</option>
<option value="9">Sep</option>
<option value="10">Oct</option>
<option value="11">Nov</option>
<option value="12">Dec</option>
</select>
<select name="day">
<option selected="selected" value="00">Day</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
27
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
</td>
</tr>
<tr>
<td>occupation</td>
<td><select name="occupation">
<option selected="selected" value="7">--Select One--</option>
<option value="0">Government</option>
<option value="1">Public</option>
<option value="2">Private</option>
<option value="3">Professional</option>
<option value="4">Self Employed</option>
<option value="5">Student</option>
<option value="6">Other</option>
</select></td>
</tr>
<tr>
<td>E-mail id</td>
<td><input type="text" name="email" size="30" maxlength="30"></td>
</tr>
<tr>
<td>Mobile</td>
<td>+91<input type="text" name="mobile" size="10" maxlength="10"></td>
</tr>
<tr>
<td>Nationality</td>
<td><select name="nationality">
<option value="" selected="selected">-- Select One --</option>
<option value="India">India</option>
<option value="Not Listed">Not Listed</option>
</select></td>
</tr>
<tr>
<td colspan="2"><br /></td>
</tr>
<tr>
<td class="hr" colspan="2">Residential Address</td>
</tr>
<tr>
<td colspan="2"><br /></td>
28
</tr>
<tr>
<td colspan="2"><br /></td>
</tr>
<tr>
<td>Address</td>
<td><input type="text" name="address" size="30" maxlength="30"></td>
</tr>
<tr>
<td></td>
<td><input type="text" name="address2" size="30"
maxlength="30">(optional)</td>
</tr>
<tr>
<td></td>
<td><input type="text" name="address3" size="30"
maxlength="30">(optional)</td>
</tr>
<tr>
<td>City  
<select name="city">
<option value="" selected="selected">-- Select One --</option>
<option value="Chandigarh">Chandigarh</option>
<option value="Jaipur">Jaipur</option>
<option value="New Delhi">New Delhi</option>
<option value="Mumbai">Mumbai</option>
<option value="Chennai">Chennai</option>
<option value="Kolkata">Kolkata</option>
<option value="Banglore">Banglore</option>
<option value="Other">Other</option>
</select></td>
<td>other
<input type="text" name="othercity" size="15" maxlength="15"></td>
</tr>
<tr>
<td>state
<select name="state">
<option value="" selected="selected">-- Select One --</option>
<option value="Chandigarh">Chandigarh</option>
<option value="Punjab">Punjab</option>
<option value="Delhi">Delhi</option>
<option value="Maharashtra">Maharashtra</option>
<option value="Rajasthan">Rajasthan</option>
<option value="West Bengal">West Bengal</option>
<option value="Karnataka">Karnataka</option>
<option value="Other">Other</option>
</select></td>
29
<td>other
<input type="text" name="otherstate" size="15" maxlength="15"></td>
</tr>
<tr>
<td>Zip/Pin</td>
<td><input type="text" name="zip" size="6" maxlength="6"></td>
</tr>
<tr>
<td>Country</td>
<td><select name="country">
<option value="" selected="selected">-- Select One --</option>
<option value="India">India</option>
<option value="Not Listed">Not Listed</option>
</select></td>
</tr>
<tr>
<td class="nb" colspan="2"><br /></td>
</tr>
<tr>
<td class="nb" colspan="2"><br /></td>
</tr>
<tr>
<style type="text/css">
body {
background-color:#2781BA;
background-image:url('images/bg1.gif');
}
table {
border: 0px red solid;
background-color:white;
30
padding-top:0px;
margin-top:0px;
cellspacing:0px;
cellpadding:0px;
}
td {
border:0px green dotted;
}
table.login_tab {
background-color:#F8F8FF;
cellspacing:0px;
cellpadding:0px;
}
table.main_tab {
background-color:#F8F8FF;
width:70%;
}
td.login {
background-color:#C0C0C0;
}
td.login_table {
background-color:#F8F8FF;
padding-top:50px;
padding-left:20px;
padding-bottom:20px;
}
td.login_nam {
height:30px;
font-size:13pt;
color:white;
background-color:#3b5998;
}
td.new {
height:30px;
font-weight:none;
font-size:11pt;
}
a{
color:#999933;
}
a:hover {
font-size:12pt;
}
td.footer {
background-color:#2952A3;
31
background-image:url('images/tdback1.gif');
border-top: 1px grey solid;
color:#999933;
text-align:center;
font-size:8pt;
padding-bottom:5px;
padding-top:5px;
}
p.link {
font-size:12pt;
text-decoration:underline;
padding-left:10px;
}
ul {
font-size:10pt;
text-decoration:none;
color:#999933;
list-style-image: url('images/link.png');
}
#links {
border-left:1px #999933 solid;
padding-left:5px;
position:absolute;
top:240px;
left:970px
}
</style>
</head>
<body>
<table align='center' class='main_tab' cellspacing= "0" cellpadding= "0">
<tr>
<td colspan="2"><img src="images/rail.jpg" /></td>
</tr>
<tr>
<td class='login_table' align='left'>
<form action='adminlogin.php' method='post'>
<table class="login_tab">
<tr>
<td colspan="2" class='login_nam' valign='middle'>Administrator
Login</td>
</tr>
<tr>
<td class='login'>Username:</td><a
href="http://localhost/xampp/rail/index.php" style="display: block; padding-right: 18px;text-
align: right;">Home</a>
<td class='login'><input type='text' name='username'></td>
</tr>
<tr>
32
<td class='login'>Password:</td>
<td class='login'><input type='password' name='password'></td>
</tr>
<tr>
<td class='login' colspan='2'><input type='submit'
value='Login'></td>
</tr>
</table>
</form>
</td>
</tr>
<tr>
<td class="footer">PILANI<br />Copyright © Railway Reservation
System</td>
</tr>
</table>
</body>
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
body {
background-color: grey;
background-image:url('images/bg1.gif');
table {
border:0px red solid;
background-color:white;
padding-top:0px;
margin-top:0px;
cellspacing:0px;
33
cellpadding:0px;
}
td {
border: 0px green dotted;
background-color:#F8F8FF;
}
a{
font-family:Arial, Helvetica, sans-serif;
color:#999933;
text-decoration:none;
}
a:hover {
text-decoration:underline;
color:#00CC66;
background-color:yellow;
}
p.user1 {
font-family:Georgia, "Times New Roman", Times, serif;
color:#00F;
font-size:12pt;
font-style:oblique;
padding-left:30px;
text-decoration:none
}
td.user {
height:50px;
font-size:18pt;
padding-left:30px;
}
td.footer {
background-color:#2952A3;
background-image:url('images/tdback1.gif');
font-weight:bold;
color:#999933;
text-align:center;
font-size:8pt;
padding-bottom:5px;
padding-top:5px;
}
p.link {
font-size:12pt;
text-decoration:underline;
padding-left:10px;
}
ul {
font-size:10pt;
text-decoration:none;
34
color:#999933;
list-style-image: url('images/link.png');
}
#links {
border-left:1px #999933 solid;
padding-left:5px;
position:absolute;
top:290px;
left:970px
}
</style>
</head>
<body>
<table align='center' class='main_tab' cellspacing= "0" cellpadding= "0">
<tr>
<td colspan="2"><img src="images/rail.jpg" /></td>
</tr>
</table>
<table align="center" width="960px" class='main_tab' cellspacing= "0" cellpadding= "0">
<tr>
<td ><p class="user1">WELCOME: <?php echo $_SESSION['username']; ?></p><a
href="http://localhost/xampp/rail/index.php" style="display: block; padding-right: 18px;text-
align: right;">Home</a></td>
</tr>
<tr>
</tr>
<tr>
<td class="user" width="800px"><a href="search_t.php">Search For Trains /
Booking Tickets</a></td>
</tr>
<tr>
<td class="user"><a href="pnr.php">Enquiry PNR</a></td>
</tr>
<tr>
<td class="user"><a href="mytickets.php">Booking History</a></td>
</tr>
<tr>
<td class="user"><a href="cancel.php">Cancel Tickets</a></td>
</tr>
<tr>
<td class="user"><a href="logout.php">Logout</a></td>
</tr>
<tr>
<td class="footer">PILANI<br />Copyright © R A I L W A Y R E S E R V A T I
O N S Y S T E M</td>
</tr>
35
</table>
</body>
</html>
<?php
session_start();
if($_SESSION['username'])
{
//login_page
}
else{
header("location:error.php");
}
?>
<!DOCTYPE html>
<html>
<head>
<title>search for train</title>
<style type="text/css">
body{
background:rgba(240,240,240,0.9);
font-family:Arial, Helvetica, sans-serif;
margin:auto;
color:#E06C31;
background:url(images/test2.jpg);
background-repeat:repeat;
}
h2{
background:rgba(0,0,238,0.9);
font-family:Georgia, "Times New Roman", Times, serif;
width:392px;
text-align:center;
color:#FF0;
}
a{
text-decoration:none;
}
a:hover{
color:rgba(255,255,255,0.5);
}
table{
padding-left:30px;
}
td{
border:0px yellow solid;
36
text-align:right;
font-weight:bold;
}
td.class{
text-align:left;
}
#main{
border:0px red solid;
border-radius:5px;
border-top-right-radius:90px;
border-bottom-left-radius:90px;
background:rgba(240,255,240,0.6);
box-shadow:15px 15px 15px grey;
position:absolute;
padding-left:35px;
padding-bottom:15px;
top:50px; left:100px;
width:600px;
}
#back {
background:rgba(255,69,0,0.5);
width:80px;
border-radius:10px;
text-align:center;
position:relative;
left:500px;
padding-top:5px;
padding-bottom:5px;
}
</style>
</head>
<body><a href="login.php" style="color: #999933;display: block;font-weight: bold; margin:
auto;padding-top: 10px;text-align: left;text-decoration: none;width: 240px;">Home</a>
<div id="main">
<form name="#" action="s_result.php" method="post">
<h2>PLAN YOUR JOURNERY</h2>
<table>
<tr>
<td>FROM</td><td><input type="text" name="source" size="30"/></td>
</tr>
<tr>
<td>TO</td><td><input type="text" name="destination" size="30" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="submit" value="Find Train" />
<input type="reset" value="Clear Fields" /></td>
</tr>
</table>
</form>
37
<div id="back"><a href="login.php">GoBack</a></div>
</div>
</body>
OUTPUT SCREENS
HOME PAGE
38
ADMIN LOGIN PAGE
39
ADMIN HOME PAGE
40
TRAIN ADDING PAGE BY ADMIN
41
DATA FILL PAGE TO SEE PASSENGERS CHART BY ADMIN
42
TICKET CANCEL PAGE BY ADMIN
43
TRAIN SEARCHING FORM PAGE
44
FILL PASSENGERS INFORMATION PAGE BY USER
45
ENTER PNR FORM FOR CHECKING THE STATUS
46
SEE A PARTICLUAR TICKET BY SELECTING A TICKET FROM BOOKING
HISTORY
47
TICKET SUCCESSFULLY REMOVE PAGE
48
TESTING
Software testing is the process used to measure the quality of developed computer software.
Usually, quality is constrained to such topics as correctness, completeness, security, but can also
include more technical requirements as described under the ISO standard ISO 9126, such as
capability, reliability, efficiency, portability, maintainability, compatibility, and usability.
Testing is a process of technical investigation, performed on behalf of stakeholders, that is
intended to reveal quality-related information about the product with respect to the context in
which it is intended to operate.
49
WHITE BOX, BLACK BOX, AND GREY BOX TESTING
White box and black box testing are terms used to describe the point of view that a test engineer
takes when designing test cases.
Black box testing treats the software as a black-box without any understanding as to how the
internals behave. Thus, the tester inputs data and only sees the output from the test object. This
level of testing usually requires thorough test cases to be provided to the tester who then can
simply verify that for a given input, the output value (or behavior), is the same as the expected
value specified in the test case.
White box testing, however, is when the tester has access to the internal data structures, code,
and algorithms. For this reason, unit testing and debugging can be classified as white-box
testing and it usually requires writing code, or at a minimum, stepping through it, and thus
requires more skill than the black-box tester. If the software in test is an interface or API of any
sort, white-box testing is almost always required.
In recent years the term grey box testing has come into common usage. This involves having
access to internal data structures and algorithms for purposes of designing the test cases, but
testing at the user, or black-box level. Manipulating input data and formatting output do not
qualify as grey-box because the input and output are clearly outside of the black-box we are
calling the software under test. This is particularly important when conducting integration
testing between two modules of code written by two different developers, where only the
interfaces are exposed for test.
Grey box testing could be used in the context of testing a client-server environment when the
tester has control over the input, inspects the value in a SQL database, and the output value, and
then compares all three (the input, sql value, and output), to determine if the data got corrupt on
the database insertion or retrieval.
TEST CASES
TEST CASES FOR RAILWAY REGISTRATION:
1. Check whether there is a train for your destination.
50
2. Check the availability of seats on the required date.
3. Check whether the available seats for required coach that is A/c or Sleeper coaches.
BOOKING:- Book the tickets with corresponding criteria by cash or card any conception for
senior citizen if applicable
51
IMPLEMENTATION
The implementation phase involves installing approved applications into production
environments. Primary tasks include announcing the implementation schedule, training end
users, and installing the product. Additionally, organizations should input and verify data,
configure and test system and security parameters, and conduct post-implementation reviews.
Management should circulate implementation schedules to all affected parties and should
notify users of any implementation responsibilities.
After organizations install a product, pre-existing data is manually input or electronically
transferred to a new system. Verifying the accuracy of the input data and security
configurations is a critical part of the implementation process. Organizations often run a new
system in parallel with an old system until they verify the accuracy and reliability of the new
system. Employees should document any programming, procedural, or configuration changes
made during the verification process.
52
MAINTENANCE
The maintenance phase involves making changes to hardware, software, and documentation to
support its operational effectiveness. It includes making changes to improve a system’s
performance, correct problems, enhance security, or address user requirements. To ensure
modifications do not disrupt operations or degrade a system’s performance or security,
organizations should establish appropriate change management standards and procedures.
Routine changes are not as complex as major modifications and can usually be implemented
in the normal course of business. Routine change controls should include procedures for
requesting, evaluating, approving, testing, installing, and documenting software
modifications. Maintaining accurate, up-to-date hardware and software inventories is a critical
part of all change management processes. Management should carefully document all
modifications to ensure accurate system inventories. Management should coordinate all
technology related changes through an oversight committee and assign an appropriate party
responsibility for administering software patch management programs. Quality assurance,
security, audit, regulatory compliance, network, and end-user personnel should be
appropriately included in change management processes. Risk and security review should be
done whenever a system modification is implemented to ensure controls remain in place.
53
FUTURE SCOPE
It enables us to maintain the railway train details like their timing, number of seat available and
reservation billing and cancelling the tickets.
The computerized passenger reservation system (PRS) facilities the booking and cancellation of
tickets from any of the 4000 terminals.
These tickets can be booked or cancelled for journeys commencing in any part of India and
ending in any other part, with travel time as long a 72 hours and distance up to several thousand
kilometers.
1) It saves time of the passenger.
2) It is a secure to book tickets.
3) The user is also provided with a provision of canceling the reservation where in
the entire amount is credited back to his account.
54
CONCLUSION
55
BIBLIOGRAPHY
1) www.google.com
2) www.w3schools.com
3) www.phpbuddy.com
4) www.mysql.com
5) www.phpeasystep.com
56