0% found this document useful (0 votes)
83 views56 pages

Abstarct: User Details Train Details E-Ticket Booking Generating Reports

Uploaded by

SUNIL BAID
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
83 views56 pages

Abstarct: User Details Train Details E-Ticket Booking Generating Reports

Uploaded by

SUNIL BAID
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 56

ABSTARCT

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.

This system will handle the following details:-


 User Details
 Train Details
 E-Ticket Booking
 Generating Reports
This system using the well-known resources. Where there is no need of any special kind of
resource. It uses only the required databases.

1
TABLE OF CONTENTS

ABSTRACT 1

INTRODUCTION 3

FEATURES 5

COMPONENTS OF THE PROJECT 6

SOFTWARE AND HARDWARE REQUIREMENT SPECIFICATION 7

MODULES 8

SYSTEM ANALYSIS 9

PROBLEM ANALYSIS 11

FEASIBILTY STUDY 12

ENTITY–RELATIONSHIP MODEL 13

DATA FLOW DIAGRAMS 14

CODING 17

OUTPUT SCREENS 38

TESTING 48

IMPLEMENTATION 51

MAINTENANCE 52

FUTURE SCOPE 53

CONCLUSION AND BIBLIOGRAPHY 54

TABLE OF CONTENTS
2
ABSTRACT 1

INTRODUCTION 3

FEATURES 5

COMPONENTS OF THE PROJECT 6

SOFTWARE AND HARDWARE REQUIREMENT SPECIFICATION 7

MODULES 8

SYSTEM ANALYSIS 9

PROBLEM ANALYSIS 11

FEASIBILTY STUDY 12

ENTITY–RELATIONSHIP MODEL 13

DATA FLOW DIAGRAMS 14

CODING 17

OUTPUT SCREENS 38

TESTING 48

IMPLEMENTATION 51

MAINTENANCE 52

FUTURE SCOPE 53

CONCLUSION AND BIBLIOGRAPHY 54

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”.

This system is developed in two categories.


1. Admin
I. Add train.
II. Remove train.
III. See full passenger list.
IV. Cancel any user ticket.
2. User
I. Train enquiry/Booking ticket.
II. See booking history.
III. Check pnr status.
IV. Cancel own ticket.

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

 This application is an automated railway ticket booking system.


 First the Ticket counter clerk or user will check for availability for the seats in a
particular train on a specified date of journey. If it is available the clerk will reserve
seats.
 The administrator should be able to enter any change related to the train information
like change in train name, number etc.
 The system should be able to reserve seat in a train for a passenger.
 The system should be able to print the report like it should be able to generate
reservation chart, train report, reservation ticket which will have train no and name,
date of journey, boarding station, destination station, person name, age, sex, total
fare and a unique PNR no.
 The system should be able to cancel a reservation.
 The system should be able to print the ticket.

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

2. HOW TO BE A MEMBER OF THIS APPLICATION:- In this site, the candidate can


join this application, if he is not a member yet by pressing Register as a User link .User
should provide some details that are asked to join.

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 CANCELATION MODULE –


The admin and user both are doing cancel a ticket.
 Admin can cancel a ticket of any user.
 But use can cancel only own ticket.

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

PROBLEM DEFINITION AND DESCRIPTION

PROBLEM DEFINITIONThe first step in planning a software project is to prepare in the


present technology, a concise statement of the problem to be solved and the constraints that
exist for its solution. The definitive problem should include a description of the present situation
and the Goals to be achieved by the new system.
It also sets the Project Bounds, Which defines that, what parts of resource to make to available
to the project is also specified in this phase. These factor viz. the project goal, project bound and
resource limit are sometimes called the projects terms of references, Because of their
importance the organization management sets them.

PROBLEM STATEMENTThe 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. For e.g.:-
Trouble to go to the railway station to book a ticket.
To waste time standing in queues.
The records of all passengers are manually.
Need lots of booking clerks.

PITFALLS OF EXISTING SYSTEM


Manuals system for filling of the forms for booking a ticket by passenger.
Wastage of time and human resources.
Manual updating of Database.
Paper work is more.
Retrieval of Data takes much time.
Complex system i.e. entries of passenger information on various files.
Trouble to go to the railway station to book a ticket.
Passengers to waste time standing in queues.

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.

SYSTEM DEVELPOMENT LIFE CYCLE(SDLC)


The Systems Development Life Cycle (SDLC) is a conceptual model used in project
management that describes the stages involved in an information system development project
from an initial feasibility study through maintenance of the completed application. Various
SDLC methodologies have been developed to guide the processes involved including the
waterfall model (the original SDLC method). Documentation is crucial regardless of the type of
model chosen or devised for any application, and is usually done in parallel with the
development process. Some methods work better for specific types of projects, but in the final
analysis, the most important factor for the success of a project may be how closely particular
plan was followed.

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:

(i) The method used by viruses to enter the system.


(ii) The types of database allowed through a firewall.
(iii) The paths or ways used by hackers to enter the system
(iv) The loopholes remaining in the system (or website) which are used by attackers.
(v) The server from where the viruses or hackers are gaining access to the system.
(vi) The types of viruses able to affect the website.

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.

 OPERATIONAL FEASIBILITY: It is mainly related to human organizational as social


aspects. The points to be considered are - The system interface is standard, user friendly and
provides extensive help. Hence no special training is not required.

 SOCIAL FEASIBILITY: Social feasibility is determination of whether a proposed project


will be acceptable to people or not, So this project is totally Social and Feasible

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 &#40;DMRC&#41;.</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">

<h2>Guwahati Railway Station</h2>


<p>It is the.............................</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/9.jpg"
alt="Howrah" width="100%" />
<div class="marquee_panel_caption">
<h2>Howrah station</h2>
<p>It is the..............</p>
20
<p><a href="http://www.google.com"
target="_blank">Check it out!</a></p>
</div>
</div>
</div>
</td>
</tr>
<tr>
<td class='login_table' align='left'>
<form action='logging.php' method='post'>
<table class="login_tab">
<tr>
<td colspan="2" class='login_nam' valign='middle'>userLogin</td>
</tr>
<tr>
<td class='login'>Username:</td>
<td class='login'><input type='text' name='username'></td>
</tr>
<tr>
<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>
<tr>
<td colspan="2" class='new'><a href="admin.php">Administrator
Login</a></td>
</tr>
<tr>
<td colspan="2" class='new'><a href="register.php">Register for a new
account</a></td>
</tr>
</table>
</form>
</td>
</tr>
<tr>
<td class="footer">PILANI<br />Copyright &copy; Railway Reservation
System</td>
</tr>
</table>
</body>
</html>

Registration page (register.php)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
21
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>User Registration Page</title>
<style type="text/css">
body {
background:#3A5598;

}
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 &nbsp;<span>&#40;* fields
are Mandatory&#41;</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">*&#40;max 12 characters&#41;</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
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<select name="gender">
<option selected="selected">Male</option>
<option>Female</option>
</select></td>
<td>Maritial status
&nbsp;&nbsp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<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>&nbsp;&nbsp;&nbsp;
<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>&nbsp;&nbsp;&nbsp;
<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">&#40;optional&#41;</td>
</tr>
<tr>
<td></td>
<td><input type="text" name="address3" size="30"
maxlength="30">&#40;optional&#41;</td>
</tr>
<tr>
<td>City&nbsp;&nbsp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" name="othercity" size="15" maxlength="15"></td>
</tr>
<tr>
<td>state
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;
<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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<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>

<td colspan="2" class="last_hr" align="center"><input type="submit"


name="submit" value="Submit">&nbsp;&nbsp;&nbsp;&nbsp;
<input type="reset" name="clear" value="Reset"></td>
</tr>
</table>
</form>
</body>
</html>

Admin Home Page (admin.php)


<!DOCTYPE html>
<html>
<head>
<title>Admin Login page</title>

<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 &copy; Railway Reservation
System</td>
</tr>
</table>
</body>

Login Page (login.php)


<?php
session_start();
if($_SESSION['username'])
{
//login_page
}
else{
header("location:error.php");
}
?>

<!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 &copy; 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>

Search Train page (search_t.php)

<?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

USER REGISTRATION PAGE

39
ADMIN HOME PAGE

40
TRAIN ADDING PAGE BY ADMIN

TRAIN REMOVE PAGE BY ADMIN

41
DATA FILL PAGE TO SEE PASSENGERS CHART BY ADMIN

PASSENGERS CHART PAGE

42
TICKET CANCEL PAGE BY ADMIN

USER HOME PAGE

43
TRAIN SEARCHING FORM PAGE

SEARCHING PAGE BY USER

44
FILL PASSENGERS INFORMATION PAGE BY USER

SEE BOOKED TICKET PAGE

45
ENTER PNR FORM FOR CHECKING THE STATUS

BOOKING HISTORY PAGE BY USER

46
SEE A PARTICLUAR TICKET BY SELECTING A TICKET FROM BOOKING
HISTORY

SELECT A PARTICULAR TICKET TO CANCEL

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.

TEST SCENARIO: TRAIN SEARCH WITH ALL ROUTE STATIONS


1. Enter source and destination codes or source and destination corresponding trains are
displaying or not
2. Enter train number and date source and destination with all stations are displaying or not

SCENARIO: CHECK AVAILABILITY OF SEATS FOR REQUIRED


DATE

1. Search seats for Ac, sleeper, seat


2. Check upper middle, lower births
3. Ticket fare for corresponding criteria

BOOKING:- Book the tickets with corresponding criteria by cash or card any conception for
senior citizen if applicable

SAME FOR CANCELATION OF TICKET

1. Check whether you have money.


2. Check the train is available & you have to go to the same destination.
3. Check working hrs of booking office

STEP1: Verify there is a train available to the destination.


STEP2: Verify the seats are available on the particular date.
STEP3: Verify the seats available of the coaches like sitting or berth and check the fare of the
particular system.

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.

For implementation of the website project:


1. The website can be installed on a computer or a server which has PHP and MYSQL
installed in it.
2. The owners of the website are to be properly trained to use all the features of the
website, giving details of each features of the website.
3. To show the accuracy of the website and conformance of the website to the
requirements of the owners or users of the website.

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.

For maintenance of the website:


1. The database has to be updated regularly according to new available information.
2. Redundant and false information must be removed from the database.
3. Newer version of PHP and MYSQL can be used for up gradation of website and to
improve the overall performance of the system.

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

This project on ONLINE RAILWAY RESERVATION SYSTEM to simple process. The


details of the Train number, Train ticket are used to know about the Train. The programs are
coded in easier and structure manner so that any possible modification can be done easily. The
passenger details, Train details very easily, so that the passengers reports are generated easily.

55
BIBLIOGRAPHY

1) www.google.com
2) www.w3schools.com
3) www.phpbuddy.com
4) www.mysql.com
5) www.phpeasystep.com

56

You might also like