VIJAYS
VIJAYS
VIJAYS
PROJECT REPORT
SUBMITTED TO THE MADRAS UNIVERSITY IN PARTIAL
FULFILLMENT OF THE REQUIREMENT FOR THE
DEGREE OF BACHELOR OF COMPUTER APPLICATION
BY
S. VIJAY (212100426)
K.MUTHUMANI (212100398)
Under the guidance of
Mrs. I.VASUGI, M.C.A, M.Phil.
Assistance Professor
Department of Computer Application
BONAFIDE CERTIFICATE
This is to certify that this project work titled “TRAVEL MANAGEMET SYSTEM” is
done by S.VIJAY during the year 2023-2024.
This work is submitted for partial for the award of the degree of BACHELOR OF
COMPUTER APPLICATION issued by university of Madras.
(S.VIJAY)
ACKNOWLEDGMENT
I express profound gratitude to my project guide Mrs. I.VASUGI , M.C.A, M.Phil. for her
valuable guidance personal care encourage for completion of training report successfully.
At last but not least I would like to place on records my sincere thanks to all people who
have enable me to complete my project report successfully.
The Travel Management System (TMS) is a web based application developed using PHP
and MySQL, aims at Streamline and Automate the process of managing travel-related
activities
The system caters to both travel agencies and individual travelers,offering features for
itinerary planning,booking,and expense tracking.
The various details of the travel relating to their User login, Sign up, Home page, My
account , contact us , All packages , shopping cart and Admin login accessed through the
respective Databases.
The project is implemented through PHP and MySQL Programming,by writing the source
in a Code Editor such as Visual Studio Code and the code gets automatically executed in a
Runtime Environment.
TABLE OF CONTENT
1
Introduction:
A Travel Management System (TMS) is a software platform that helps
companies manage their travel expenses and policies. It can help
companies track employee travel, ensure that travel is in line with company
policy, and save money on travel costs.
Travel Management System can also help ensure that all data is secure
and accessible in real time.A design system is a set of standards that
help companies manage and scale design. Design systems include
reusable components, design principles, and guidelines to help achieve
consistency and efficiency across a company's digital products.
2
Problem statement :
The purpose of website is established fact that internet users are
increasing today.One of the main purpose of the website is to facilitate
the offline customer online because customers cannot spend their
precious time in markets trying to find out the best deal.
Solution statement :
A travel management system is a software solution that helps travel
businesses book,track and analyze business travel.It can also refer to the
overall process of managing corporate travel.
We provide solution by software technique.
Future Scope :
In the future, TMS may use artificial intelligence (AI) to analyze data and
optimize travel for cost-effective options. AI algorithms may also provide
enhanced user experiences through personalized recommendations.
The travel and tourism industry has a lot of potential for growth and
opportunities. The Indian Tourism sector is one of the fastest-growing
economic sectors in the country. The Government of India envisions
creating around 140 million jobs in tourism by 2030, particularly focusing
on cruise tourism, ecotourism, and adventure tourism
3
CHAPTER 2
SYSTEM ANALYSIS
4
PROPOSED SYSTEM :
In the present system a customer has to approach various agencies to
A customer may not get the desired information from these offices
executed properly
EXISTING SYSTEM :
5
CHAPTER 3
REQUIREMENT SPECIFICATION
6
Hardware specification:
The most common set of requirements defined by any operating
system or software application is the physical computer resources, also
known as hardware. compatibility and sometimes incompatible
hardware devices for a particular operating system or application. The
following sub-Section discuss the various aspects of hardware
requirements.
Ram : 4GB
7
CHAPTER 4
SYSTEM DESIGN
8
DATA FLOW DIAGRAM:
A data flow diagram is graphical tool used to describe and analyses movement of
data through a system. These are the central tool and the basis from which the other
components are developed. The transformation of data from input to output,
through processed, may be described logically and independent of physical
components associated with the system. These are known as the logical data flow
diagrams.
DFD SYMBOLS:
Data flow
Data store
9
USE CASE DIAGRAM:
Applications
While a use case itself might drill into a lot of detail about every possibility, a use-
case diagram can help provide a higher-level view of the system. It has been said
before that "Use case diagrams are the blueprints for your system". Due to their
simplistic nature, use case diagrams can be a good communication tool for
stakeholders. The drawings attempt to mimic the real world and provide a view for
the stakeholder to understand how the system is going to be designed. Siam and Lee
conducted research to determine if there was a valid situation for use case diagrams
at all or if they were unnecessary. What was found was that the use case diagrams
conveyed the intent of the system in a more simplified manner to stakeholders and
that they were "interpreted more completely than class diagrams". The purpose of a
use case diagram is to capture the dynamic aspect of a system. They provide a
simplified graphical representation of what the system should do in a use case. Further
diagrams and documentation are needed for a complete functional and technical
outlook on the system.
10
UML Diagram:
It represents the flow of the data in the application and by analyses this, one is able
to understand the system completely, by graphical representation such as circle,
rectangle, square etc. It allows us to get what you want.
User :
11
Admin :
12
ER DIAGRAM :
An Entity Relationship (ER) Diagram is a type of flowchart that illustrates how
“entities” such as people, objects or concepts relate to each other within a system. ER
Diagrams are most often used to design or debug relational databases in the fields of
software engineering, business information systems, education and research. Also
known as ERDs or ER Models, they use a defined set of symbols such as rectangles,
diamonds, ovals and connecting lines to depict the interconnections of entities,
relationships and their attributes. They mirror grammatical structure, with entities as
nouns and relationships as verbs. ER diagrams are related to data structure diagrams
(DSDs), which focus on the relationships of elements within entities instead of
relationships between entities themselves. ER diagrams also are often used in
conjunction with data flow diagrams (DFDs), which map out the flow of information
for processes or systems.
1) Database design: ER diagrams are used to model and design relational databases, in terms
of logic and business rules (in a logical data model) and in terms of the specific technology to
be implemented (in a physical data model.) In software engineering, an ER diagram is often an
initial step in determining requirements for an information systems project. It’s also later used
to model a particular database or databases. A relational database has an equivalent relational
table and can potentially be expressed that way as needed.
2) Database troubleshooting: ER diagrams are used to analyse existing databases to find and
resolve problems in logic or deployment. Drawing the diagram should reveal where it’s going
wrong.
3) Business information systems: The diagrams are used to design or analyzing relational
databases used in business processes. Any business process that uses fielded data involving
entities, actions and interplay can potentially benefit from a relational database. It can
streamline processes, uncover information more easily and improve results.
13
4) Business process re-engineering (BPR): ER diagrams help in analyzing databases used in
business process re-engineering and in model a new database setup.
5) Education: Databases are today’s method of storing relational information for educational
purposes and later retrieval, so ER Diagrams can be valuable in planning those data structures.
14
15
CHAPTER 5
IMPLEMENTATION DETAILS
16
IMPLEMENTATION DETAILS
In this Section we will do Analysis of Technologies to use for implementing the project.
5.1.1 HTML
17
5.1.2 CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing the
presentation of a document written in a markup language like HTML.CSS is
cornerstone technology of the World Wide Web, alongside HTML and
JavaScript .CSS is designed to enable the separation of presentation and
content, including layout, colors, and fonts. This separation can improve content
accessibility, provide more flexibility and control in the specification of presentation
characteristics, enable multiple web pages to share formatting by specifying the
relevant CSS in a separate. CSS file, and reduce complexity and repetition in the
structural content.
CSS information can be provided from various sources. These sources can be the web
browser, the user and the author. The information from the author can be further
classified into inline, media type, importance, selector specificity, rule order,
inheritance and property definition. CSS style information can be in a separate
document or it can be embedded into an HTML document. Multiple style sheets can be
imported. Different styles can be applied depending on the output device being used;
for example, the screen version can be quite different from the printed version, so that
authors can tailor the presentation appropriately for each medium. The style sheet with
the highest priority controls the content display. Declarations not set in the highest
priority source are passed on to a source of lower priority, such as the user agent style.
The process is called cascading.
One of the goals of CSS is to allow users greater control over presentation. Someone
who finds red italic headings difficult to read may apply a different style sheet.
Depending on the browser and the web site
18
5.2 BACK END
5.2.1. PHP:
It is primarily used for server-side scripting, but can also be used for
command-line scripting and desktop applications.
19
5.2.2. MySQL:
MySQL is used for storing and managing data. For example, a database can be a
shopping list, picture gallery, or corporate network. The combination of PHP and
MySQL can be used to create a variety of websites, from contact forms to
corporate portals.
Keywords are words that have significance in SQL. Certain keywords, such as
SELECT , DELETE , or BIGINT , are reserved and require special treatment for
use as identifiers such as table and column names. This may also be true for the
names of built-in functions.
20
CHAPTER 6
TESTING AND IMPLEMENTATION
21
6. TESTING AND IMPLEMENTATION
The term implementation has different meanings ranging from the conversation of a
basic application to a complete replacement of a computer system. The procedures
however, are virtually the same. Implementation includes all those activities that take
place to convert from old system to new. The new system may be totally new
replacing an existing manual or automated system or it may be major modification to
an existing system. The method of implementation and time scale to be adopted is
found out initially. Proper implementation is essential to provide a reliable system to
meet organization requirement.
6.1.2 Benefits
The goal of unit testing is to isolate each part of the program and show that the
individual parts are correct. A unit test provides a strict, written contract that the piece
of code must satisfy. As a result, it affords several benefits.
1) Find problems early: Unit testing finds problems early in the development cycle. In test-
driven development (TDD), which is frequently used in both extreme programming and scrum,
unit tests are created before the code itself is written.
22
If the unit tests fail, it is considered to be a bug either in the changed code or the tests
themselves. The unit tests then allow the location of the fault or failure to be easily traced.
Since the unit tests alert the development team of the problem before handing the code off to
testers or clients, it is still early in the development process.
2) Facilitates Change: Unit testing allows the programmer to refactor code or upgrade
system libraries at a later date, and make sure the module still works correctly (e.g., in
regression testing). The procedure is to write test cases for all functions and methods so that
whenever a change causes a fault, it can be quickly identified. Unit tests detect changes which
may break a design contract.
3) Simplifies Integration: Unit testing may reduce uncertainty in the units themselves and
can be used in a bottom-up testing style approach. By testing the parts of a program first and
then testing the sum of its parts, integration testing becomes much easier.
23
6.2 INTEGRATION TESTING
Integration testing (sometimes called integration and testing, abbreviated I&T) is the
phase in software testing in which individual software modules are combined and tested as a
group. It occurs after unit testing and before validation testing. Integration testing takes as its
input modules that have been unit tested, groups them in larger aggregates, applies tests
defined in an integration test plan to those aggregates, and delivers as its output the integrated
system ready for system testing.
6.2.1 Purpose
24
6.2.1.1 Big Bang
In the big-bang approach, most of the developed modules are coupled together to form
a complete software system or major part of the system and then used for integration
testing. This method is very effective for saving time in the integration testing process.
However, if the test cases and their results are not recorded properly, the entire
integration process will be more complicated and may prevent the testing team from
achieving the goal of integration testing. A type of big-bang integration testing is called
"usage model testing" which can be used in both software and hardware integration
testing. The basis behind this type of integration testing is to run user-like workloads in
integrated user-like environments. In doing the testing in this manner, the environment
is proofed, while the individual components are proofed indirectly through their use.
Usage Model testing takes an optimistic approach to testing, because it expects to have
few problems with the individual components. The strategy relies heavily on the
component developers to do the isolated unit testing for their product. The goal of the
strategy is to avoid redoing the testing done by the developers, and instead flesh-out
problems caused by the interaction of the components in the environment. For
integration testing, Usage Model testing can be more efficient and provides better test
coverage than traditional focused functional integration testing. To be more efficient
and accurate, care must be used in defining the user-like workloads for creating realistic
scenarios in exercising the environment. This gives confidence that the integrated
environment will work as expected for the target customers.
25
6.2.1.2 Top-down And Bottom-up
Bottom-up testing is an approach to integrated testing where the lowest level components
are tested first, then used to facilitate the testing of higher level components. The process is
repeated until the component at the top of the hierarchy is tested. All the bottom or low-level
modules, procedures or functions are integrated and then tested. After the integration testing of
lower level integrated modules, the next level of modules will be formed and can be used for
integration testing. This approach is helpful only when all or most of the modules of the same
development level are ready. This method also helps to determine the levels of software
developed and makes it easier to report testing progress in the form of a percentage. Top-down
testing is an approach to integrated testing where the top integrated modules are tested and the
branch of the module is tested step by step until the end of the related module. Sandwich testing
is an approach to combine top-down testing with bottom-up testing.
6.3.1 Introduction
26
According to the Capability Maturity Model (CMMI - SW v1.1):
27
6.3.3 Test Cases
A test case is a tool used in the process. Test cases may be prepared for software
verification and software validation to determine if the product was built according to the
requirements of the user. Other methods, such as reviews, may be used early in the life cycle to
provide for software validation.
Test cases are built around specifications and requirements, i.e., what the application is
supposed to do. Test cases are generally derived from external descriptions of the software,
including specifications, requirements and design parameters. Although the tests used are
primarily functional in nature, non-functional tests may also be used.
28
6.5 White-Box Testing
White-box testing (also known as clear box testing, glass box testing, transparent box testing,
and structural testing) is a method of testing software that tests internal structures or workings
of an application, as opposed to its functionality (i.e. black-box testing). In white-box
testing an internal perspective of the system, as well as programming skills, are used to
design test cases. The tester chooses inputs to exercise paths through the code and determine
the appropriate outputs. This is analogous to testing nodes in a circuit, e.g. in-circuit testing
(ICT). White-box testing can be applied at the unit, integration and system levels of the
software testing process. Although traditional testers tended to think of white-box testing as
being done at the unit level, it is used for integration and system testing more frequently today.
It can test paths within a unit, paths between units during integration, and between subsystems
during a system–level test. Though this method of test design can uncover many errors or
problems, it has the potential to miss unimplemented parts of the specification or missing
requirements.
6.5.1 Levels
1. Unit testing: White-box testing is done during unit testing to ensure that the code
is working as intended, before any integration happens with previously tested code.
White-box testing during unit testing catches any defects early on and aids in any
defects that happen later on after the code is integrated with the rest of the
application and therefore prevents any type of errors later on.
2. Integration testing: White-box testing at this level are written to test the
interactions of each interface with each other. The Unit level testing made sure that
each code was tested and working accordingly in an isolated environment and
integration examines the correctness of the behaviour in an open environment
through the use of white-box testing for any interactions of interfaces that are
known to the programmer.
29
3. Regression testing: White-box testing during regression testing is the use of recycled
white-box test cases at the unit and integration testing levels.
6.5.2 Procedures
White-box testings basic procedures involves the tester having a deep level of
understanding of the source code being tested. The programmer must have a deep
understanding of the application to know what kinds of test cases to create so that every
visible path is exercised for testing. Once the source code is understood then the source
code can be analyzed for test cases to be created. These are the three basic steps that
white-box testing takes in order to create test cases:
6.5.3 Advantages
White-box testing is one of the two biggest testing methodologies used today. It has
several major advantages: Side effects of having the knowledge of the source code is
beneficial to thorough testing. Optimization of code by revealing hidden errors and
being able to remove these possible defects. Gives the programmer introspection
because developers carefully describe any new implementation. Provides traceability
of tests from the source, allowing future changes to the software to be easily captured
in changes to the tests.
30
6.5.4 Disadvantages
Although white-box testing has great advantages, it is not perfect and contains some
disadvantages: White-box testing brings complexity to testing because the tester
must have knowledge of the program, including being a programmer. White-box
testing requires a programmer with a high level of knowledge due to the complexity
of the level of testing that needs to be done. On some occasions, it is not realistic to
be able to test every single existing conditions will be untested. The tests focus on
the software as it exists, and missing functionality may not be discovered.
31
CHAPTER 7
SCREEN INVOLVED IN APPLICATION
32
7 . Screen involved in Application:
User
Register
Login
My account
Shopping cart
logout
Admin
Admin login
Insert and View all packages
Insert and View all categories
Insert and view all types
View employee details
View customers
33
7.1 Brief explanation about the screens :
7.1.1 Login:
It allows us to get into the system by gathering username and password.
7.1.2 Register :
A register portal is a page that asks for a user’s username, email, password and then
sends the data to the database.
7.1.6 Logout:
By using these features, user are able to logout from the system whenever they wish
to leave the system.
34
CHAPTER 8
Source code, Sample screenshot & database
35
8.1 SOURCE CODE:
8.1.1 User Login page:
<?php
session_start();
include("includes/db.php");
if (isset($_POST['login'])) {
$email = mysqli_real_escape_string($con, $_POST['email']);
$pass = mysqli_real_escape_string($con, $_POST['password']);
margin-top: 12px;
margin-left: 2px;
}
.adminbtn:hover {
box-shadow: 0 12px 16px 0 rgba(0, 0, 0, 0.24), 0 17px 50px 0
rgba(0, 0, 0, 0.19);
}
</style>
</head>
<body>
<!--Main container starts-->
<div class="main_wrapper">
<!--Header starts-->
<?php include 'includes/header.php'; ?>
<!--Header ends-->
<!--Navbar starts-->
<?php include 'includes/navbar.php'; ?>
<!--Navbar ends-->
<!--Content starts-->
<div class="content_wrapper">
37
<!--Navbar ends-->
<!--Content starts-->
<div class="content_wrapper">
<!--left-sidebar starts-->
<?php include "includes/left-sidebar.php"; ?>
<!--left-sidebar ends-->
<div id="content_area">
<?php cart(); ?>
<div id="shopping_cart">
<span style="float: left;font-size: 15px;padding: 5px;line-
height: 40px;">
<?php
if (isset($_SESSION['customer_email'])) {
echo "<b>Welcome: </b>" .
$_SESSION['customer_email'] ;
} else {
echo "<b>Welcome Guest:</b>";
}
?>
</span>
<span style="float: right;font-size: 15px;padding: 5px;line-
height: 40px;">
<b style="color: yellow;">Your Shopping Cart-</b> Total
Items: <?php total_items(); ?>
Total Price: <?php total_price(); ?> <a href="cart.php"
style="color: yellow;">Go to Cart</a>
<?php
if (!isset($_SESSION['customer_email'])) {
echo "<a href='checkout.php' style='color:
orange;'>User Login</a>";
} else {
echo "<a href='logout.php' style='color:
orange;'>Logout</a>";
}
?>
</span>
</div>
<div id="packages_box">
<?php getPack(); ?>
<?php getCatPack(); ?>
<?php getTypePack(); ?>
</div>
</div>
</div>
<!--Content ends-->
</div>
</body>
</html>
38
8.1.3:All package :
<?php
include("functions/functions.php");
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Travel : All Packages</title>
<link rel="stylesheet" href="styles/style.css" media="all">
<link rel="icon" href="/customer/images/logo1.jpg" type="image/icon
type" >
</head>
<body>
<!--Main container starts here-->
<div class="main_wrapper">
<!--Header starts here-->
<?php include 'includes/header.php'; ?>
<!--Header ends here-->
<!--Navbar starts here-->
<?php include 'includes/navbar.php'; ?>
<!--Navbar ends here-->
<!--Content starts here-->
<div class="content_wrapper">
<!--left-sidebar starts-->
<?php include "includes/left-sidebar.php"; ?>
<!--left-sidebar ends-->
<div id="content_area">
<?php cart(); ?>
<div id="shopping_cart">
<!-- <span style="float: left;font-size: 18px;padding:
5px;line-height: 40px;">
<?php
if (isset($_SESSION['customer_email'])) {
echo "<b>Welcome: </b>" .
$_SESSION['customer_email'] ;
} else {
echo "<b>Welcome Guest:</b>";
}
?>
</span> -->
<span style="float:right;font-size: 18px;padding:
5px;line-height: 40px;">
<b style="color: yellow;">Your Shopping Cart-</b>
Total Items: <?php total_items(); ?>
Total Price: <?php total_price(); ?> <a
href="cart.php" style="color: yellow;">Go to Cart</a>
</div>
<div id="packages_box">
39
<div id="packages_box">
<?php
$get_pack = "SELECT * FROM packages";
40
8.1.4:shopping cart:
<?php
session_start();
$total = 0;
include("functions/functions.php");
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Travel Bird : Cart</title>
<link rel="stylesheet" href="styles/style.css" media="all">
<link rel="icon" href="/customer/images/logo1.jpg" type="image/icon
type" >
</head>
<body>
<!--Main container starts here-->
<div class="main_wrapper">
<!--Header starts here-->
<?php include 'includes/header.php'; ?>
<!--Header ends here-->
<!--Navbar starts here-->
<?php include 'includes/navbar.php'; ?>
<!--Navbar ends here-->
<!--Content starts here-->
<div class="content_wrapper">
<!--left-sidebar starts-->
<?php include "includes/left-sidebar.php"; ?>
<!--left-sidebar ends-->
<div id="content_area">
<?php cart(); ?>
<div id="shopping_cart">
<span style="float: right;font-size: 16px;padding:
5px;line-height: 40px;">
<?php
if (isset($_SESSION['customer_email'])) {
echo "<b>Welcome: </b>" .
$_SESSION['customer_email'] . "<b style='color: yellow;'> Your</b>";
} else {
echo "<b>Welcome Guest:</b>";
}
?>
<b style="color: yellow;">Shopping Cart-</b> Total
Items: <?php total_items(); ?>
Total Price: <?php total_price(); ?>
<a href="index.php" style="color: yellow;">Back to
Home</a>
<?php
41
<?php
if (!isset($_SESSION['customer_email'])) {
echo "<a href='checkout.php' style='color:
orange;'>Login</a>";
} else {
echo "<a href='logout.php' style='color:
orange;''>Logout</a>";
}
?>
</span>
</div>
<div id="packages_box">
<form action="" method="post" enctype="multipart/form-data">
<table align="center" width="700px" bgcolor="skyblue">
<tr align="center">
<th>Remove</th>
<th>Package(s)</th>
<th>Quantity</th>
<th>Total Cost</th>
</tr>
<?php
global $con;
$ip = getIp();
$sel_price = "SELECT * FROM cart WHERE ip_add='$ip'";
$run_price = mysqli_query($con, $sel_price);
44
8.1.5:Register :
<?php
session_start();
include("functions/functions.php");
include("includes/db.php");
global $con;
if (isset($_POST['register'])) {
$ip = getIp();
$c_name = $_POST['c_name'];
$c_email = $_POST['c_email'];
$c_pass = $_POST['c_pass'];
$c_passport = $_POST['c_passport'];
$c_image = $_FILES['c_image']['name'];
$c_image_tmp = $_FILES['c_image']['tmp_name'];
$c_country = $_POST['c_country'];
$c_city = $_POST['c_city'];
$c_contact = $_POST['c_contact'];
$c_address = $_POST['c_address'];
// image will upload there
move_uploaded_file($c_image_tmp, "customer/customer_images/$c_image");
$insert_c = "INSERT INTO customers
(customer_ip,customer_name,customer_email,customer_pass,c_passport,customer_coun
try,customer_city,customer_contact,customer_address,customer_image) VALUES
('$ip','$c_name','$c_email','$c_pass','$c_passport','$c_country','$c_city','$c_c
ontact','$c_address','$c_image')";
$run_c = mysqli_query($con, $insert_c);
$sel_cart = "SELECT * FROM cart WHERE ip_add='$ip'";
$run_cart = mysqli_query($con, $sel_cart);
$check_cart = mysqli_num_rows($run_cart);
if ($check_cart == 0) {
$_SESSION['customer_email'] = $c_email;
echo "<script>alert('Account has been created successfully.
Thanks!')</script>";
echo "<script>window.open('customer/my_account.php','_self')</script>";
} else {
$_SESSION['customer_email'] = $c_email;
echo "<script>alert('Account has been created successfully.
Thanks!')</script>";
echo "<script>window.open('index.php','_self')</script>";
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Travel Bird : Register</title>
<link rel="stylesheet" href="styles/style.css" media="all">
45
<link rel="icon" href="/customer/images/logo1.jpg" type="image/icon type" >
<style type="text/css">
#fixm {
font-size: 15px;
padding: 4px;
font-family: arial;
}
#fixi {
font-size: 14px;
font-family: arial;
}
#btn {
font-family: arial;
font-size: 14px;
background-color: #4CAF50; /* Green */
border: none;
color: white;
padding: 10px 10px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 4px 2px;
transition-duration: 0.4s;
cursor: pointer;
background-color: #32E875;
color: black;
}
#btn:hover {
background-color: #4CAF50;
color: white;
}
</style>
</head>
<body>
<!--Main container starts here-->
<div class="main_wrapper">
<!--Header starts here-->
<?php include 'includes/header.php'; ?>
<!--Header ends here-->
<!--Navbar starts here-->
<?php include 'includes/navbar.php'; ?>
<!--Navbar ends here-->
<!--Content starts here-->
<div class="content_wrapper">
<!--left-sidebar starts-->
<!--left-sidebar ends-->
<div id="content_area1">
<?php cart(); ?>
46
<div id="shopping_cart1">
<span style="float:left;font-size: 18px;padding:
5px;line-height: 40px; font-family:Sans-serif;">Welcome Guest!
<!-- <b
style="color: yellow;">Shopping Cart-</b>
Total Items: <?php total_items(); ?> Total Price: <?php total_price(); ?> <a
href="cart.php" style="color: yellow;">Go to
Cart</a></b>-->
</span>
</div>
<form action="customer_register.php" method="post"
enctype="multipart/form-data">
<table align="center" width="1000px" style="margin-top:
20px;">
<tr align="center">
<td colspan="6">
<h2 style="margin-bottom: 15px; font-family:
Cambria;">Create an Account</h2>
</td>
</tr>
<tr>
<td align="right" id="fixm">Your Name:</td>
<td><input id="fixi" type="text" name="c_name"
required=""></td>
</tr>
<tr>
<td align="right" id="fixm">Your Email:</td>
<td><input type="email" name="c_email"
required=""></td>
</tr>
<tr>
<td align="right" id="fixm">Your Password:</td>
<td><input id="fixi" type="password" name="c_pass"
required=""></td>
</tr>
<tr>
<td align="right" id="fixm">Your Passport ID:</td>
<td><input type="text" name="c_passport"
required=""></td>
</tr>
<!-- <tr>
<td align="right" id="fixm">Your Image:</td>
<td><input id="fixi" type="file" name="c_image"
required=""></td>
</tr> -->
<tr>
<td align="right" id="fixm">Your Country:</td>
<td>
<select name="c_country" required="">Select a
47
<option>Australia</option>
<option>India</option>
<option>Japan</option>
<option>China</option>
<option>Russia</option>
<option>Thailand</option>
<option>England</option>
<option>Brazil</option>
<option>Spain</option>
<option>France</option>
<option>Switzerland</option>
<option>Germany</option>
<option>Argentina</option>
<option>Italy</option>
<option>Turkey</option>
</select>
</td>
</tr>
<tr>
<td align="right" id="fixm">Your City:</td>
<td><input id="fixi" type="text" name="c_city"
required=""></td>
</tr>
<tr>
<td align="right" id="fixm">Your Contact:</td>
<td><input id="fixi" type="text" name="c_contact"
required=""></td>
</tr>
<tr>
<td align="right" id="fixm">Your Address:</td>
<td><input id="fixi" type="text" name="c_address"
required=""></td>
</tr>
<tr align="center" >
<td colspan="6" style="padding-bottom: 10px;"><input
id="btn" type="submit" name="register" value="Create Account">
</td>
</tr>
</table>
</form>
</div>
</div>
<!--Content ends here-->
</body>
</html>
48
8.1.6 : Admin Login :
<?php
session_start();
include("includes/db.php");
if (isset($_POST['login'])) {
$email = mysqli_real_escape_string($con, $_POST['email']);
$pass = mysqli_real_escape_string($con, $_POST['password']);
49
8.1.6 : Admin Home Page :
<?php
session_start();
if (!isset($_SESSION['user_email'])) {
echo "<script>window.open('login.php?not_admin=You are not an
Admin!','_self')</script>";
} else {
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Admin Panel</title>
<link rel="stylesheet" type="text/css" href="styles/style.css"
media="all">
<link rel="icon" href="/customer/images/logo1.jpg" type="image/icon
type" >
</head>
<body>
<div class="main_wrapper">
<div id="header">
</div>
<div id="right">
<h2 style="text-align: center; margin-top: 10px; font-family:
Cambria;">Dashboard</h2>
<ul>
<li><a href="index.php">Admin Panel : Home</a></li>
<li><a href="index.php?insert_package">Insert New Package</a></li>
<li><a href="index.php?view_packages">View All Packages</a></li>
<li><a href="index.php?insert_cat">Insert New Categories</a></li>
<li><a href="index.php?view_cats">View All Categories</a></li>
<li><a href="index.php?insert_type">Insert New Types</a></li>
<li><a href="index.php?view_types">View All Types</a></li>
<li><a href="index.php?insert_employee">Insert New Employee</a></li>
<li><a href="index.php?view_employees">View All Employees</a></li>
<li><a href="index.php?view_customers">View All Customers</a></li>
<li><a href="logout.php">Logout</a></li> </ul>
</div>
<div id="left">
<h2 style="color: red; text-align: center; font-family:
Cambria; margin-top: 15px;"><?php echo @$_GET['logged_in']; ?></h2>
<?php
if (isset($_GET['insert_package'])) {
include("insert_package.php");
}
if (isset($_GET['view_packages'])) {
include("view_packages.php");
50
}
if (isset($_GET['edit_pack'])) {
include("edit_pack.php");
}
if (isset($_GET['insert_cat'])) {
include("insert_cat.php");
}
if (isset($_GET['view_cats'])) {
include("view_cats.php");
}
if (isset($_GET['edit_cat'])) {
include("edit_cat.php");
}
if (isset($_GET['insert_type'])) {
include("insert_type.php");
}
if (isset($_GET['view_types'])) {
include("view_types.php");
}
if (isset($_GET['edit_type'])) {
include("edit_type.php");
}
if (isset($_GET['view_customers'])) {
include("view_customers.php");
}
if (isset($_GET['insert_employee'])) {
include("insert_employee.php");
}
if (isset($_GET['view_employees'])) {
include("view_employees.php");
}
if (isset($_GET['edit_emp'])) {
include("edit_emp.php");
}
?>
</div>
</div>
</body>
</html>
<?php
}
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
51
</head>
<style>
*{
box-sizing: border-box;
8.1.7 : Employee :
<?php
if (!isset($_SESSION['user_email'])) {
echo "<script>window.open('login.php?not_admin=You are not an
Admin!','_self')</script>";
} else {
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>View Employees</title>
<style type="text/css">
#thfix {
font-family: sans-serif;
padding: 4px;
}
</style>
</head>
<body>
<table width="795" align="center" bgcolor="#EAD2AC">
<tr align="center">
<td colspan="8"><h2 style="font-family: Cambria; margin-top:
10px; margin-bottom: 5px;">View All
Employees</h2>
</td>
</tr>
<tr align="center" bgcolor="#5FCEE8">
<th id="thfix">Sl.</th>
<th id="thfix">Name</th>
<th id="thfix">Email</th>
<th id="thfix">Designation</th>
<th id="thfix">Location</th>
<th id="thfix">Address</th>
<th id="thfix">Contact</th>
<th id="thfix">Edit</th>
<th id="thfix">Delete</th>
</tr>
<?php
include("includes/db.php");
$get_c = "select * from employees";
$run_c = mysqli_query($con, $get_c);
$i = 0;
while ($row_c = mysqli_fetch_array($run_c)) {
$e_id = $row_c['emp_id'];
$e_name = $row_c['emp_name'];
$e_email = $row_c['emp_email'];
52
$e_designation = $row_c['emp_designation'];
$e_location = $row_c['emp_location'];
$e_address = $row_c['emp_address'];
$e_contact = $row_c['emp_contact'];
$i++;
?>
<tr align="center">
<td><?php echo $i; ?></td>
<td><?php echo $e_name; ?></td>
<td><?php echo $e_email; ?></td>
<td><?php echo $e_designation; ?></td>
<td><?php echo $e_location; ?></td>
<td><?php echo $e_address; ?></td>
<td><?php echo $e_contact; ?></td>
<td><a href="index.php?edit_emp=<?php echo
$e_id; ?>">Edit</a></td>
<td><a href="delete_e.php?delete_e=<?php echo
$e_id; ?>">Delete</a></td>
</tr>
<?php
}
?>
</table>
</body>
</html>
<?php
}?>
53
8.1.8 :Customer :
<?php
if (!isset($_SESSION['user_email'])) {
echo "<script>window.open('login.php?not_admin=You are not an
Admin!','_self')</script>";
} else {
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>View Customers</title>
<style type="text/css">
#thfix {
font-family: sans-serif;
padding: 4px;
}
</style>
</head>
<body>
<table width="795" align="center" bgcolor="#EAD2AC">
<tr align="center">
<td colspan="6"><h2 style="font-family: Cambria; margin-top:
10px; margin-bottom: 5px;">View All
Customers
Here</h2></td>
</tr>
<tr align="center" bgcolor="#5FCEE8">
<th id="thfix">Sl.</th>
<th id="thfix">Name</th>
<th id="thfix">Email</th>
<th id="thfix">Passport</th>
<!-- <th id="thfix">Image</th> -->
<th id="thfix">Delete</th>
</tr>
<?php
include("includes/db.php");
55
8.1.9 :View all packages :
<?php
if (!isset($_SESSION['user_email'])) {
echo "<script>window.open('login.php?not_admin=You are not an
Admin!','_self')</script>";
} else {
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>View Packages</title>
<style type="text/css">
#thfix {
font-family: sans-serif;
padding: 4px;
}
</style>
</head>
<body>
<table width="795" align="center" bgcolor="#EAD2AC">
<tr align="center">
<td colspan="6"><h2 style="font-family: Cambria; margin-top:
10px; margin-bottom: 5px;">View All
packages
Here</h2></td>
</tr>
<tr align="center" bgcolor="#5FCEE8">
<th id="thfix">Sl.</th>
<th id="thfix">Title</th>
<th id="thfix">Image</th>
<th id="thfix">Price</th>
<th id="thfix">Edit</th>
<th id="thfix">Delete</th>
</tr>
<?php
include("includes/db.php");
57
8.1.10 :Insert all packages :
<?php
include("includes/db.php");
if (isset($_POST['insert_post'])) {
//getting the text data from the fields
$package_cat = $_POST['package_cat'];
$package_type = $_POST['package_type'];
$package_title = $_POST['package_title'];
$package_price = $_POST['package_price'];
$package_desc = $_POST['package_desc'];
move_uploaded_file($package_image_tmp, "package_images/$package_image");
if ($insert_pack) {
echo "<script>alert('New Package has been added!')</script>";
echo
"<script>window.open('index.php?insert_package','_self')</script>";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Inserting Package</title>
<!-- ## To run TinyMCE 5 from the cloud, use the following code in the
head of your HTML file, replacing no-api-key with your own API key -->
<script
src="https://cdn.tiny.cloud/1/1for1s0e28m9j1yub8bfhkq731vrfrbnpyu75l38hehixx
av/tinymce/6/tinymce.min.js" referrerpolicy="origin"></script>
<script>tinymce.init({selector: 'textarea'});</script>
</head>
58
<body bgcolor="skyblue">
<form action="insert_package.php" method="post" enctype="multipart/form-
data">
<table align="center" width="795" border=2px bgcolor="ABB3C8">
<tr align="center">
<td colspan="7"><h2 style="font-family: Cambria;margin-top:
20px; margin-bottom: 15px;">Insert New package Here</h2>
</td>
</tr>
<tr>
<td align="right"><b>Package Title:</b></td>
<td><input type="text" name="package_title" size="60"></td>
</tr>
<tr>
<td align="right"><b>Package Category:</b></td>
<td>
<select name="package_cat">
<option>Select a Category</option>
<?php $get_cats = "select * from categories";
$run_cats = mysqli_query($con, $get_cats);
while ($row_cats = mysqli_fetch_array($run_cats)) {
$cat_id = $row_cats['cat_id'];
$cat_title = $row_cats['cat_title'];
echo "<option
value='$cat_id'>$cat_title</option>";
} ?>
</select>
</td>
</tr>
<tr>
<td align="right"><b>Package Type:</b></td>
<td>
<select name="package_type">
<option>Select a Type</option>
<?php $get_types = "select * from types";
$run_types = mysqli_query($con, $get_types);
while ($row_types = mysqli_fetch_array($run_types)) {
$type_id = $row_types['type_id'];
$type_title = $row_types['type_title'];
echo "<option
value='$type_id'>$type_title</option>";
} ?>
</select>
</td>
</tr>
<tr>
<td align="right"><b>Package Image:</b></td>
59
<td><input type="file" name="package_image"></td>
</tr>
<tr>
<td align="right"><b>Package Price:</b></td>
<td><input type="text" name="package_price"></td>
</tr>
<tr>
<td align="right"><b>Package Description:</b></td>
<td><textarea name="package_desc" cols="20"
rows="10"></textarea></td>
</tr>
<tr>
<td align="right"><b>Package Keywords:</b></td>
<td><input type="text" name="package_keywords"
size="70"></textarea></td>
</tr>
<tr align="center">
<td colspan="7"><input style="margin-top: 10px; margin-bottom:
15px;" type="submit"
name="insert_post" value="Insert
Package"></td>
</tr>
</table>
</form>
</body>
</html>
60
8.2 SAMPLE SCREENSHOT:
LOGIN PAGE:
LOGIN AS USER :
In this module we can
1. Home Page
2. All packages
3. My Account
4. Contact us
5. Sign up
6. logout
61
HOME PAGE :
62
ALL PACKAGES :
Click the see all packages detail button and here we can see the list of package
63
MY ACCOUNT :
Click the my account details button here we can see the account details
64
CONTACT US :
65
REGISTER :
66
LOGIN AS ADMIN :
In this module we can
1. Login
2. Home page
3. View All Packages
4. Employee
5. Customers
6. logout
67
LOGIN PAGE:
68
HOME PAGE:
69
VIEW ALL PACKAGES:
70
EMPLOYEE DEATAILS :
71
CUSTOMERS DEATAILS :
72
DATA BASE:
USER DETAILS:
73
EMPLOYEES DETAILS:
74
ADMIN :
75
CATEGORIES :
76
PACKAGES :
77
TYPES :
78
CONCLUSION
It decreases the cost and time of maintaining a book.It is very easy to use and It
is very less time consuming.It is very easy to debug also.
79
REFERENCES
1. Archer, B. H. (1982). The Value of Multipliers and Their Policy Implications. Tourism
Management, 3(4).
2. Bramble, B. (1993). Tourism and the environment: challenges and choices for the 1990s.
3. Butler, R. W. (1980). The concept of a tourist area cycle of evolution: Implications for
4. https://genieprojectsworld.com/travel-agency-management-system-using-php.
5. https://www.w3schools.com/
6. https://www.apachefriends.org/
80