Project Report

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 83

Page 1 of 83

OBJECTIVE OF THE PROJECT

“COLLEGE FEES MANAGEMENT SYSTEM” objectives are –


1. Automate manual fee-related tasks.
2. Ensure accurate fee calculation and recording.
3. Provide transparent access to fee-related information
4. Streamline the fee collection process.
5. Offer convenient payment options for students and parents.
6. Enable real-time tracking and monitoring of fee payments.
7. Generate comprehensive financial reports and analytics.
8. Ensure compliance with institutional and regulatory guidelines.
9. Implement robust security measures to protect sensitive data.
10. Enhance overall user satisfaction with the fee management process.

SCOPE OF THE PROJECT

“College Fees Management System” project involves developing and


implementing a comprehensive software solution to facilitate efficient management
of fee-related tasks within a college or educational institution. This encompasses
analyzing requirements, designing system architecture, developing modules for
student database management, fee collection, receipt generation, fee tracking, and
reporting. Integration of these modules, development of user-friendly interfaces,
and integration of payment gateways for online fee payments are key components.
Testing, training, deployment, maintenance, and ongoing support are also part of
the project scope. Additionally, comprehensive documentation will be created to aid
system understanding, usage, and maintenance. Ultimately, the project aims to
enhance efficiency, accuracy, transparency, and security of fee management
processes, thereby improving overall administrative operations and user experience.

BENIFITS OF THE PROJECT

The “College Fees Management System” offers numerous advantages. It streamlines


administrative tasks, enhances accuracy in financial records, and provides transparent access
to fee-related information. Students and parents benefit from convenient payment options,
while administrators gain real-time insights into fee transactions and compliance. Overall,
the system optimizes fee management processes, improves financial efficiency, and
enhances user satisfaction within the educational institution .

CATEGORY OF THE PROJECT


Page 2 of 83

A ”college fees management system” falls under the category of financial


management software for educational institutions. It is designed to streamline the
process of handling student fees, including collection, tracking, and reporting. This
system aids in automating various administrative tasks associated with managing
fees, ensuring accuracy and efficiency. It typically includes features like fee structure
setup, payment processing, overdue fee alerts, and detailed financial reporting. The
primary goal is to enhance transparency, reduce manual errors, and provide a
seamless experience for both administrators and students.

THEORETICAL BACKGROUND

A “College Fees Management System” (CFMS) is an essential tool for


managing student fees efficiently within educational institutions. It functions as a
centralized database for recording and processing student information, facilitating
data accuracy and ease of reporting. Financially, it automates fee calculations,
manages payment plans, penalties, and refunds, ensuring consistent and transparent
application of fee structures. Technologically, modern CFMS often utilize cloud
computing for scalability and remote access, integrating secure payment gateways for
online transactions. Security measures such as encryption and access control
safeguard sensitive financial data. A user-friendly design with intuitive interfaces
enhances the experience for both administrators and students. Successful
implementation involves customizing the system to institutional needs and providing
user training, ensuring efficient fee management and contributing to the institution's
operational efficiency.

DEFINITION OF THE PROBLEM

The primary problem that a “College Fees Management System”(CFMS)


addresses is the inefficiency and potential errors associated with manual fee
management processes in educational institutions. Traditional methods often involve
cumbersome paperwork, frequent data inaccuracies, delayed payments, and
difficulties in tracking financial records. These issues can lead to financial
discrepancies, administrative burdens, and dissatisfaction among students and staff.
A CFMS seeks to streamline the fee collection and management process by
automating calculations, facilitating secure online payments, maintaining accurate
records, and providing real-time financial insights, thereby enhancing overall
administrative efficiency and accuracy.

ADVANTAGES OF THE SYSTEM

1.Streamlines fee collection and reduces administrative workload


2.Minimizes errors associated with manual fee handling
3.Ensures accurate and consistent application of fee structures
Page 3 of 83

4.Offers real-time financial reporting and analytics


5.Enhances data security for sensitive financial information
6.Features a user-friendly interface for improved user experience
SYSTEM IMPLEMETION
1. Designing and Implementing Users Account:
The aim of this module is to collect data from the user. A user should be registered
regardless of whether he / she is in order to apply for the tour packages in the
interface. In this module we register the user and grab as many details as possible
about the user.
2. Designing and Implementing Companies Tour Package Details
The aim of the module is to create a design the interface of the institute to view,
update the user and tour package details of the users. Here the system should try to
collect the data from the institute to gather the information and this module should
display the information about the user details, tour package details etc, and the same
should be viewed by the users.
3. Designing the Online Tourism Management System
The aim of the module is to design a dynamic search engine for the Project data base
which can provide data for the companies and users information.

SYSTEM REQUIREMENT SPECIFICATION


Requirement engineering is the first and most important step of software
development. It states the user’s needs that the system must satisfy. The outcomes of
requirement engineering functional and non-functional requirements─ are critical to the
success of any software project.

a. Functional Requirements:
Functional requirements state what functions the system should perform. A sample list
representing the functionality of the College Fees Management System is given below.

**College Fees Management System Functional Requirement Specification:**

1. **Student Fees:**
- Manage individual student fee records.
- Automate fee calculation based on course and other criteria.

2. **Payments:**
- Process and record student fee payments.
Page 4 of 83

- Generate receipts for payments made.

3. **Courses & Fees:**


- Define and manage course-specific fee structures.
- Update fees based on course changes or new academic policies.

4. **Students:**
- Maintain comprehensive student profiles.
- Track enrollment, fee status, and payment history.
- Notify students of due and overdue payments.

5. **Payments Report:**
- Generate detailed reports on collected and pending payments.
- Provide insights on payment trends and outstanding dues.
- Export reports for administrative and audit purposes.

b. Non-functional Requirements:
Non-functional Requirements describe quality measures by which a software product
must abide. In this section, several non-functional requirements are presented. These
requirements cover the performance, security, reliability, availability and
maintainability of The College Fees Management System.

1. The system should allow every user to sign in within 5 seconds.


2. The system should be able to display the detailed information, within 5 seconds,
when requested by user.
3. The system should be able to list a summary of all the system users’ records
(companies, users, admin) when requested, within 5 seconds.
4. The system should be able to display the detailed information of a specific user,
when requested by that user, within 5 seconds.
5. The system should be able to list a summary of all the profile submission records,
when requested by the user, within 20 seconds.
6. The system should be able to list detailed tour package information & booking
record, when requested by the admin or company within 5 seconds.
Page 5 of 83

7. The system must grant each authorized user a unique user name, and password.
8. The system shall authenticate each user with a unique identification.
9. The system should ensure that the user’s personal information is confidential.
10. The system should ensure that the user’s identification and password
cannot be modified by any other person.
11. The system shall guarantee that the paper upload and paper download activities
are processed in a strictly secure manner.
12. If the system crashes, it should be able to recover using backup copies.
13. The backup copies should be stored in an external storage device and placed in a
secure location.
14. The system should be able to correct errors automatically.
15. The system should allow future improvements.
16. The system should be able to generate fault reports automatically.
17. The system should be able to generate various logs to record user’s behavior.
18. The system should be able to export fault reports into files.
19. The system should be able to export logs into files.

HARDWARE & SOFTWARE REQUIREMENTS FOR DEVELOPMENT


SOFTWARE:

Operating System : Microsoft Windows OS


Application Software : Adobe Dreamweaver CS6
Programming Language : PHP
Back End Database : My SQL
Web Browser : Internet Explorer / Mozilla FireFox
Local Host : Xaamp Server

HARDWARE:
Processor : Pentium IV [500 MHZ and above]
RAM : Minimum 256 MB

HARDWARE & SOFTWARE REQUIREMENTS FOR RUNNING

HARDWARE REQUIREMENTS:
Page 6 of 83

 Hard Disk : 100 MB free disk space (minimum).


 RAM : 256 MB.
 Processor : P4 or above.
 Input Devices : [Mouse and Keyboard].
 Output Devices : [Monitor].

SOFTWARE REQUIREMENTS:
 Operating System : Windows OS.
 Technology : PHP
 Development IDE : Adobe Dreamweaver CS6

MODULES OF THE PROJECT

The project can be divided in to three main modules.


Module Description
Module Description
Administration Administrator can create and manage Companies, Users details.
Companies Companies can manage tour package details, view the tour
package booking details.
Users Users have to register online to get their tour package booked by
the administrator.

Module Functionality
Module Description
Administration (1) Manage Company details.
(2) Upload Company tour package details.
(3) View the ticket booking issues.
(4) Confirm / cancel tour package bookings.
Companies (1) Manage and view the tour package details.
(2) View the tour package booking process.
Page 7 of 83

(3) Display the detailed tour packages.


Users (1) Manage Own Profile.
(2) View the details of tour packages.
(3) Book the tour packages from the specified companies.
(4) View the tour package booking status.

EXPLANATION OF WEB TECHNOLOGIES USED

HTML
HTML is a language for describing web pages.
 HTML stands for Hyper Text Markup Language
 HTML is a markup language
 A markup language is a set of markup tags
 The tags describe document content
 HTML documents contain HTML tags and plain text
 HTML documents are also called web pages
CSS
 CSS stands for Cascading Style Sheets
 Styles define how to display HTML elements
 Styles were added to HTML 5.0 to solve a problem
 External Style Sheets can save a lot of work
 External Style Sheets are stored in CSS files
Page 8 of 83

Bootstrap

 A powerful front-end framework for faster and easier web development.

 Includes HTML and CSS-based design templates for typography, forms,


buttons, tables, navigation, modals, image carousels, and many others.

PHP
 PHP stands for PHP: Hypertext Preprocessor
 PHP is a widely-used, open source scripting language
 PHP scripts are executed on the server
 PHP is free to download and use

PHP File
 PHP files can contain text, HTML, JavaScript code, and PHP code
 PHP code are executed on the server, and the result is returned to the browser
as plain HTML
 PHP files have a default file extension of ".php"
JavaScript
JavaScript is the scripting language. A scripting language is a lightweight
programming language. JavaScript is used in billions of Web pages to add
functionality, validate forms, communicate with the server, and much more.
JavaScript inserted into HTML pages, can be executed by all modern web browsers.

MySQL
MySQL is the most popular open-source database system.

 MySQL is a database server


 MySQL is ideal for both small and large applications
 MySQL supports standard SQL
 MySQL compiles on a number of platforms
 MySQL is free to download and use

XAMPP Server
Page 9 of 83

XAMPP is a free and open source cross-platform web server solution stack package,
consisting mainly of the Apache HTTP Server, MySQL database, and interpreters for
scripts written in the PHP and Perl programming languages.

XAMPP requires only one zip, tar, 7z, or exe file to be downloaded and run, and little
or no configuration of the various components that make up the web server is
required. XAMPP is regularly updated to incorporate the latest releases of Apache,
MySQL, PHP and Perl. It also comes with a number of other modules including
OpenSSL and phpMyAdmin.

Self-contained, multiple instances of XAMPP can exist on a single computer, and any
given instance can be copied from one computer to another.

It is offered in both a full, standard version and a smaller version.

SYSTEM PLANNING [GANTT CHART]

System Requirements Software Requirements Analysis Program Design Coding Testing Operations
Day 1
Day 2
Day 3
Day 4
Day 5
Day 6
Day 7
Day 8
Day 9
Day 10
Day 11
Day 12
Day 13
Day 14
Day 15
Day 16
Day 17
Day 18
Day 19
Day 20
Day 21
Day 22
Day 23
Day 24
Day 25
Day 26

SECURITY ISSUES

In “College Fees Management System” strict security issues are maintained.


Any unauthorized access is not permissible by any computer user who does not
handle the operating system carefully. The admin should maintain their student
details and confidential otherwise the system may go vulnerable.
Page 10 of 83

COST AND BENEFIT ANALYSIS

Benefits Costs
High=3 High=3
Med=2 Med=2 Ratio
S. No. Potential Risks and Actions Low=1 Low=1 Benefits / Costs Rank
1 Platform Independence 1 1 1 1
Software Configuration and
2 Customization 2 2 1 2
3 Usability 2 1 1 3
4 Market Competence 1 2 0.5 4
5 Security Issues 1 3 0.33 5

SOFTWARE ENGINEERING PROCESS (Iterative and Incremental Model)

The incremental, or iterative, development model breaks the project into small
parts. Each part is subjected to multiple iterations of the waterfall model. At the end
of each iteration, a new module is completed or an existing one is improved on, the
module is integrated into the structure, and the structure is then tested as a whole.

For example, using the iterative development model, a project can be divided
into 12 one- to four-week iterations. The system is tested at the end of each iteration,
and the test feedback is immediately incorporated at the end of each test cycle. The
time required for successive iterations can be reduced based on the experience
gained from past iterations. The system grows by adding new functions during the
development portion of each iteration. Each cycle tackles a relatively small set of
requirements; therefore, testing evolves as the system evolves. In contrast, in a
classic waterfall life cycle, each phase (requirement analysis, system design, and so
on) occurs once in the development cycle for the entire set of system requirements.

The main advantage of the iterative development model is that corrective


actions can be taken at the end of each iteration. The corrective actions can be
changes to the specification because of incorrect interpretation of the requirements,
changes to the requirements themselves, and other design or code-related changes
based on the system testing conducted at the end of each cycle.
Page 11 of 83

DATA FLOW DIAGRAM – [0 LEVEL DFD] OF ONLINE TOURISM MANAGEMENT


SYSTEM

ONLINE TOURISM MANAGEMENT Request


Request SYSTEM LOCAL SERVER
USERS

Response Response

TOUR PACKAGES

ADMIN
Page 12 of 83

DATA FLOW DIAGRAM – [1 LEVEL DFD] OF ONLINE TOURISM MANAGEMENT


SYSTEM
ONLINE TOURISM Request
Request MANAGEMENT
USERD 1.0
INTERFACE 1.1 LOCAL
Response SERVER
Response

USER REGISTER 1.2


CREATE ADMIN LOGIN
ACCOUNT

USER LOGIN 1.3


Check Details

MANAGE PROFILE 1.4


VIEW PACKAGES 1.4
BOOK PACKAGES 1.4

PACKAGES
User_master
r
Page 13 of 83

CONFIRM / CANCEL MANAGE ALL USERS MANAGE ISSUES 1.5


1.5 1.5
BOOKINGS

USERS

ENTITY RELATIONSHIP DIAGRAM OF ONLINE TOURISM MANAGEMENT SYSTEM


ID BOOKID
FULLNAME PACKAGEID
MAINTAI
NED BY EMAIL
MOBILE
FROM

EMAILID TBLBOOKING TO
TBLUSERS

DATE
PASS
RAISES STATUS

DATE BOOKS
OCCURS ID
IN
NAME
TBLENQUIRY
PACKAGEID
MAILID

NAME MOBILE
Page 14 of 83

SUBJECT
TYPE

TBLTOURPACKAGE DESC

LOCATE
STATUS

PRICE

IMAGE

PROGRAM FLOWCHART OF ONLINE TOURISM MANAGEMENT SYSTEM

START
LOCAL
SERVER
START
BROWSER

URL CHECK IN
OPEN URL
SERVER

NO YES
VALI DISPLAY HOME
D PAGE

CREATE USER LOGIN ADMIN LOGIN


ACCOUNT

NO
Page 15 of 83

USER DISPLAY
REGISTER CHECK PAGE

YES
ENTER MANAGE
DETAILS LOGIN BOOKINGS
SUCCESSFUL
SAVE USER
DATA MANAGE
VIEW
USERS
PACKAGES

BOOK UPLOAD
PACKAGES PACKAGE

ADMIN
VIEW BOOKING LOGOUT
STATUS

STOP

PROPOSED TABLE STRUCTURE

The data dictionary is a repository of various data flows defined in a DFD.


The associated Data Dictionary states the structure of each data flow.

Database name:-TMS.SQL

Table Name: admin


FIELD TYPE ALLOW NULL REMARKS
id int(11)
UserName varchar(100)
Password varchar(100)
UpdationDate timestamp

Table Name: tblbooking


FIELD TYPE ALLOW NULL REMARKS
BookingId int(11)
PackageId int(11)
UserEmail varchar(100)
Page 16 of 83

FromDate varchar(100)
ToDate varchar(100)
Comment mediumtext
RegDate timestamp
Status int(11)
CancelledBy varchar(5)
UpdationDate timestamp

Table Name: tblenquiry


FIELD TYPE ALLOW NULL REMARKS
id int(11)
FullName varchar(100)
EmailId varchar(100)
MobileNumber char(10)
Subject varchar(100)
Description mediumtext
PostingDate timestamp
Status int(1)

Table Name: tblissues


FIELD TYPE ALLOW NULL REMARKS
id int(11)
UserEmail varchar(100)
Issue varchar(100)
Description mediumtext
PostingDate timestamp
AdminRemark mediumtext
AdminRemarkDate timestamp

Table Name: tblpages


FIELD TYPE ALLOW NULL REMARKS
id int(11)
type varchar(255)
detail longtext

Table Name: tbltourpackages


FIELD TYPE ALLOW NULL REMARKS
PackageId int(11)
PackageName varchar(200)
PackageType varchar(150)
PackageLocation varchar(100)
PackagePrice int(11)
PackageFeatures varchar(255)
PackageDetails mediumtext
PackageImage varchar(100)
CreationDate timestamp
Page 17 of 83

UpdationDate timestamp

Table Name: tblusers


FIELD TYPE ALLOW NULL REMARKS
id int(11)
FullName varchar(100)
MobileNumber char(10)
EmailId varchar(70)
Password varchar(100)
RegDate timestamp
UpdationDate timestamp

IMPLEMENTATION DETAILS:- [CODES]

index.php
<?php
session_start();
error_reporting(0);
include('includes/config.php');
?>
<!DOCTYPE HTML>
<html>
<head>
<title>TMS | Tourism Management System</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="applijewelleryion/x-javascript"> addEventListener("load", function()


{ setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />
<link href="css/style.css" rel='stylesheet' type='text/css' />
<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600' rel='stylesheet'
type='text/css'>
<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300' rel='stylesheet'
type='text/css'>
<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>
Page 18 of 83

<link href="css/font-awesome.css" rel="stylesheet">


<!-- Custom Theme files -->
<script src="js/jquery-1.12.0.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<!--animate-->
<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">
<script src="js/wow.min.js"></script>
<script>
new WOW().init();
</script>
<!--//end-animate-->
</head>
<body>
<?php include('includes/header.php');?>
<div class="banner">
<div class="container">
<h1 class="wow zoomIn animated animated" data-wow-delay=".5s" style="visibility:
visible; animation-delay: 0.5s; animation-name: zoomIn;"> Tourism Management System</h1>
</div>
</div>

<!--- rupes ---->


<div class="container">
<div class="rupes">
<div class="col-md-4 rupes-left wow fadeInDown animated animated" data-wow-
delay=".5s" style="visibility: visible; animation-delay: 0.5s; animation-name: fadeInDown;">
<div class="rup-left">
<a href="offers.html"><i class="fa fa-usd"></i></a>
</div>
<div class="rup-rgt">
<h3>UP TO USD. 50 OFF</h3>
<h4><a href="offers.html">TRAVEL SMART</a></h4>

</div>
<div class="clearfix"></div>
</div>
<div class="col-md-4 rupes-left wow fadeInDown animated animated" data-wow-
delay=".5s" style="visibility: visible; animation-delay: 0.5s; animation-name: fadeInDown;">
<div class="rup-left">
<a href="offers.html"><i class="fa fa-h-square"></i></a>
</div>
<div class="rup-rgt">
<h3>UP TO 70% OFF</h3>
<h4><a href="offers.html">ON HOTELS ACROSS WORLD</a></h4>

</div>
<div class="clearfix"></div>
</div>
<div class="col-md-4 rupes-left wow fadeInDown animated animated" data-wow-
delay=".5s" style="visibility: visible; animation-delay: 0.5s; animation-name: fadeInDown;">
<div class="rup-left">
<a href="offers.html"><i class="fa fa-mobile"></i></a>
</div>
<div class="rup-rgt">
<h3>FLAT USD. 50 OFF</h3>
<h4><a href="offers.html">US APP OFFER</a></h4>

</div>
Page 19 of 83

<div class="clearfix"></div>
</div>

</div>
</div>
<!--- /rupes ---->

<!---holiday---->
<div class="container">
<div class="holiday">

<h3>Package List</h3>

<?php $sql = "SELECT * from tbltourpackages order by rand() limit 4";


$query = $dbh->prepare($sql);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $result)
{ ?>
<div class="rom-btm">
<div class="col-md-3 room-left wow fadeInLeft animated" data-wow-
delay=".5s">
<img src="admin/pacakgeimages/<?php echo htmlentities($result-
>PackageImage);?>" class="img-responsive" alt="">
</div>
<div class="col-md-6 room-midle wow fadeInUp animated" data-wow-
delay=".5s">
<h4>Package Name: <?php echo htmlentities($result-
>PackageName);?></h4>
<h6>Package Type : <?php echo htmlentities($result-
>PackageType);?></h6>
<p><b>Package Location :</b> <?php echo htmlentities($result-
>PackageLocation);?></p>
<p><b>Features</b> <?php echo htmlentities($result-
>PackageFetures);?></p>
</div>
<div class="col-md-3 room-right wow fadeInRight animated" data-wow-
delay=".5s">
<h5>₹ <?php echo htmlentities($result->PackagePrice);?></h5>
<a href="package-details.php?pkgid=<?php echo
htmlentities($result->PackageId);?>" class="view">Details</a>
</div>
<div class="clearfix"></div>
</div>

<?php }} ?>
Page 20 of 83

<div><a href="package-list.php" class="view">View More Packages</a></div>


</div>
<div class="clearfix"></div>
</div>

<!--- routes ---->


<div class="routes">
<div class="container">
<div class="col-md-4 routes-left wow fadeInRight animated" data-wow-delay=".5s">
<div class="rou-left">
<a href="#"><i class="glyphicon glyphicon-list-alt"></i></a>
</div>
<div class="rou-rgt wow fadeInDown animated" data-wow-delay=".5s">
<h3>80000</h3>
<p>Enquiries</p>
</div>
<div class="clearfix"></div>
</div>
<div class="col-md-4 routes-left">
<div class="rou-left">
<a href="#"><i class="fa fa-user"></i></a>
</div>
<div class="rou-rgt">
<h3>1900</h3>
<p>Regestered users</p>
</div>
<div class="clearfix"></div>
</div>
<div class="col-md-4 routes-left wow fadeInRight animated" data-wow-delay=".5s">
<div class="rou-left">
<a href="#"><i class="fa fa-ticket"></i></a>
</div>
<div class="rou-rgt">
<h3>7,00,00,000+</h3>
<p>Booking</p>
</div>
<div class="clearfix"></div>
</div>
<div class="clearfix"></div>
</div>
</div>

<?php include('includes/footer.php');?>
<!-- signup -->
<?php include('includes/signup.php');?>
<!-- //signu -->
<!-- signin -->
<?php include('includes/signin.php');?>
<!-- //signin -->
<!-- write us -->
<?php include('includes/write-us.php');?>
<!-- //write us -->
</body>
</html>

Change-password.php
Page 21 of 83

<?php
session_start();
error_reporting(0);
include('includes/config.php');
if(strlen($_SESSION['login'])==0)
{
header('location:index.php');
}
else{
if(isset($_POST['submit5']))
{
$password=md5($_POST['password']);
$newpassword=md5($_POST['newpassword']);
$email=$_SESSION['login'];
$sql ="SELECT Password FROM tblusers WHERE EmailId=:email and Password=:password";
$query= $dbh -> prepare($sql);
$query-> bindParam(':email', $email, PDO::PARAM_STR);
$query-> bindParam(':password', $password, PDO::PARAM_STR);
$query-> execute();
$results = $query -> fetchAll(PDO::FETCH_OBJ);
if($query -> rowCount() > 0)
{
$con="update tblusers set Password=:newpassword where EmailId=:email";
$chngpwd1 = $dbh->prepare($con);
$chngpwd1-> bindParam(':email', $email, PDO::PARAM_STR);
$chngpwd1-> bindParam(':newpassword', $newpassword, PDO::PARAM_STR);
$chngpwd1->execute();
$msg="Your Password succesfully changed";
}
else {
$error="Your current password is wrong";
}
}

?>
<!DOCTYPE HTML>
<html>
<head>
<title>TMS | Tourism Management System</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="Tourism Management System In PHP" />
<script type="applijewelleryion/x-javascript"> addEventListener("load", function()
{ setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />
<link href="css/style.css" rel='stylesheet' type='text/css' />
<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600' rel='stylesheet'
type='text/css'>
<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300' rel='stylesheet'
type='text/css'>
<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>
<link href="css/font-awesome.css" rel="stylesheet">
<!-- Custom Theme files -->
<script src="js/jquery-1.12.0.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<!--animate-->
<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">
<script src="js/wow.min.js"></script>
Page 22 of 83

<script>
new WOW().init();
</script>
<script type="text/javascript">
function valid()
{
if(document.chngpwd.newpassword.value!= document.chngpwd.confirmpassword.value)
{
alert("New Password and Confirm Password Field do not match !!");
document.chngpwd.confirmpassword.focus();
return false;
}
return true;
}
</script>
<style>
.errorWrap {
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #dd3d36;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
.succWrap{
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #5cb85c;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
</style>
</head>
<body>
<!-- top-header -->
<div class="top-header">
<?php include('includes/header.php');?>
<div class="banner-1 ">
<div class="container">
<h1 class="wow zoomIn animated animated" data-wow-delay=".5s" style="visibility:
visible; animation-delay: 0.5s; animation-name: zoomIn;">TMS-Tourism Management System</h1>
</div>
</div>
<!--- /banner-1 ---->
<!--- privacy ---->
<div class="privacy">
<div class="container">
<h3 class="wow fadeInDown animated animated" data-wow-delay=".5s"
style="visibility: visible; animation-delay: 0.5s; animation-name: fadeInDown;">Change
Password</h3>
<form name="chngpwd" method="post" onSubmit="return valid();">
<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo
htmlentities($error); ?> </div><?php }
else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?
php echo htmlentities($msg); ?> </div><?php }?>
<p style="width: 350px;">
Page 23 of 83

<b>Current Password</b> <input type="password" name="password"


class="form-control" id="exampleInputPassword1" placeholder="Current Password" required>
</p>

<p style="width: 350px;">


<b>New Password</b>
<input type="password" class="form-control" name="newpassword" id="newpassword"
placeholder="New Password" required>
</p>

<p style="width: 350px;">


<b>Confirm Password</b>
<input type="password" class="form-control" name="confirmpassword" id="confirmpassword"
placeholder="Confrim Password" required>
</p>

<p style="width: 350px;">


<button type="submit" name="submit5" class="btn-primary btn">Change</button>
</p>
</form>

</div>
</div>
<!--- /privacy ---->
<!--- footer-top ---->
<!--- /footer-top ---->
<?php include('includes/footer.php');?>
<!-- signup -->
<?php include('includes/signup.php');?>
<!-- //signu -->
<!-- signin -->
<?php include('includes/signin.php');?>
<!-- //signin -->
<!-- write us -->
<?php include('includes/write-us.php');?>
</body>
</html>
<?php } ?>

Check_availability.php
<?php
require_once("includes/config.php");
// code admin email availablity
if(!empty($_POST["emailid"])) {
$email= $_POST["emailid"];
if (filter_var($email, FILTER_VALIDATE_EMAIL)===false) {

echo "error : You did not enter a valid email.";


}
else {
$sql ="SELECT EmailId FROM tblusers WHERE EmailId=:email";
$query= $dbh -> prepare($sql);
$query-> bindParam(':email', $email, PDO::PARAM_STR);
$query-> execute();
Page 24 of 83

$results = $query -> fetchAll(PDO::FETCH_OBJ);


$cnt=1;
if($query -> rowCount() > 0)
{
echo "<span style='color:red'> Email already exists .</span>";
echo "<script>$('#submit').prop('disabled',true);</script>";
} else{

echo "<span style='color:green'> Email available for Registration .</span>";


echo "<script>$('#submit').prop('disabled',false);</script>";
}
}
}

?>

Enquiry.php

<?php
session_start();
error_reporting(0);
include('includes/config.php');
if(isset($_POST['submit1']))
{
$fname=$_POST['fname'];
$email=$_POST['email'];
$mobile=$_POST['mobileno'];
$subject=$_POST['subject'];
$description=$_POST['description'];
$sql="INSERT INTO tblenquiry(FullName,EmailId,MobileNumber,Subject,Description)
VALUES(:fname,:email,:mobile,:subject,:description)";
$query = $dbh->prepare($sql);
$query->bindParam(':fname',$fname,PDO::PARAM_STR);
$query->bindParam(':email',$email,PDO::PARAM_STR);
$query->bindParam(':mobile',$mobile,PDO::PARAM_STR);
$query->bindParam(':subject',$subject,PDO::PARAM_STR);
$query->bindParam(':description',$description,PDO::PARAM_STR);
$query->execute();
$lastInsertId = $dbh->lastInsertId();
if($lastInsertId)
{
$msg="Enquiry Successfully submited";
}
else
{
$error="Something went wrong. Please try again";
}

?>
<!DOCTYPE HTML>
<html>
<head>
<title>TMS | Tourism Management System</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="Tourism Management System In PHP" />
Page 25 of 83

<script type="applijewelleryion/x-javascript"> addEventListener("load", function()


{ setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />
<link href="css/style.css" rel='stylesheet' type='text/css' />
<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600' rel='stylesheet'
type='text/css'>
<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300' rel='stylesheet'
type='text/css'>
<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>
<link href="css/font-awesome.css" rel="stylesheet">
<!-- Custom Theme files -->
<script src="js/jquery-1.12.0.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<!--animate-->
<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">
<script src="js/wow.min.js"></script>
<script>
new WOW().init();
</script>
<style>
.errorWrap {
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #dd3d36;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
.succWrap{
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #5cb85c;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
</style>
</head>
<body>
<!-- top-header -->
<div class="top-header">
<?php include('includes/header.php');?>
<div class="banner-1 ">
<div class="container">
<h1 class="wow zoomIn animated animated" data-wow-delay=".5s" style="visibility:
visible; animation-delay: 0.5s; animation-name: zoomIn;"> Tourism Management System</h1>
</div>
</div>
<!--- /banner-1 ---->
<!--- privacy ---->
<div class="privacy">
<div class="container">
<h3 class="wow fadeInDown animated animated" data-wow-delay=".5s"
style="visibility: visible; animation-delay: 0.5s; animation-name: fadeInDown;">Enquiry Form
Password</h3>
<form name="enquiry" method="post">
<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo
htmlentities($error); ?> </div><?php }
Page 26 of 83

else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?


php echo htmlentities($msg); ?> </div><?php }?>
<p style="width: 350px;">

<b>Full name</b> <input type="text" name="fname" class="form-control"


id="fname" placeholder="Full Name" required>
</p>
<p style="width: 350px;">
<b>Email</b> <input type="email" name="email" class="form-control" id="email"
placeholder="Valid Email id" required>
</p>

<p style="width: 350px;">


<b>Mobile No</b> <input type="text" name="mobileno" class="form-control" id="mobileno"
maxlength="10" placeholder="10 Digit mobile No" required>
</p>

<p style="width: 350px;">


<b>Subject</b> <input type="text" name="subject" class="form-control" id="subject"
placeholder="Subject" required>
</p>
<p style="width: 350px;">
<b>Description</b> <textarea name="description" class="form-control" rows="6" cols="50"
id="description" placeholder="Description" required></textarea>
</p>

<p style="width: 350px;">


<button type="submit" name="submit1" class="btn-primary btn">Submit</button>
</p>
</form>

</div>
</div>
<!--- /privacy ---->
<!--- footer-top ---->
<!--- /footer-top ---->
<?php include('includes/footer.php');?>
<!-- signup -->
<?php include('includes/signup.php');?>
<!-- //signu -->
<!-- signin -->
<?php include('includes/signin.php');?>
<!-- //signin -->
<!-- write us -->
<?php include('includes/write-us.php');?>
</body>
</html>

issuetickets.php
<?php
session_start();
error_reporting(0);
include('includes/config.php');
if(strlen($_SESSION['login'])==0)
{
header('location:index.php');
}
else{
Page 27 of 83

?>
<!DOCTYPE HTML>
<html>
<head>
<title>TMS | Tourism Management System</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="Tourism Management System In PHP" />
<script type="applijewelleryion/x-javascript"> addEventListener("load", function()
{ setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />
<link href="css/style.css" rel='stylesheet' type='text/css' />
<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600' rel='stylesheet'
type='text/css'>
<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300' rel='stylesheet'
type='text/css'>
<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>
<link href="css/font-awesome.css" rel="stylesheet">
<!-- Custom Theme files -->
<script src="js/jquery-1.12.0.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<!--animate-->
<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">
<script src="js/wow.min.js"></script>
<script>
new WOW().init();
</script>

<style>
.errorWrap {
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #dd3d36;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
.succWrap{
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #5cb85c;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
</style>
</head>
<body>
<!-- top-header -->
<div class="top-header">
<?php include('includes/header.php');?>
<div class="banner-1 ">
<div class="container">
<h1 class="wow zoomIn animated animated" data-wow-delay=".5s" style="visibility:
visible; animation-delay: 0.5s; animation-name: zoomIn;">TMS-Tourism Management System</h1>
</div>
</div>
<!--- /banner-1 ---->
<!--- privacy ---->
Page 28 of 83

<div class="privacy">
<div class="container">
<h3 class="wow fadeInDown animated animated" data-wow-delay=".5s"
style="visibility: visible; animation-delay: 0.5s; animation-name: fadeInDown;">Issue Tickets</h3>
<form name="chngpwd" method="post" onSubmit="return valid();">
<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo
htmlentities($error); ?> </div><?php }
else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?
php echo htmlentities($msg); ?> </div><?php }?>
<p>
<table border="1" width="100%">
<tr align="center">
<th>#</th>
<th>Ticket Id</th>
<th>Issue</th>
<th>Description</th>
<th>Admin Remark</th>
<th>Reg Date</th>
<th>Remark date</th>

</tr>
<?php

$uemail=$_SESSION['login'];;
$sql = "SELECT * from tblissues where UserEmail=:uemail";
$query = $dbh->prepare($sql);
$query -> bindParam(':uemail', $uemail, PDO::PARAM_STR);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $result)
{ ?>
<tr align="center">
<td ><?php echo htmlentities($cnt);?></td>
<td width="100">#TKT-<?php echo htmlentities($result->id);?></td>
<td><?php echo htmlentities($result->Issue);?></td>
<td width="300"><?php echo htmlentities($result->Description);?></td>
<td><?php echo htmlentities($result->AdminRemark);?></td>
<td width="100"><?php echo htmlentities($result->PostingDate);?></td>
<td width="100"><?php echo htmlentities($result->AdminremarkDate);?></td>
</tr>
<?php $cnt=$cnt+1; }} ?>
</table>

</p>
</form>

</div>
</div>
<!--- /privacy ---->
<!--- footer-top ---->
<!--- /footer-top ---->
<?php include('includes/footer.php');?>
<!-- signup -->
<?php include('includes/signup.php');?>
<!-- //signu -->
Page 29 of 83

<!-- signin -->


<?php include('includes/signin.php');?>
<!-- //signin -->
<!-- write us -->
<?php include('includes/write-us.php');?>
</body>
</html>
<?php } ?>

logout.php
<?php
session_start();
$_SESSION = array();
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 60*60,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
unset($_SESSION['login']);
session_destroy(); // destroy session
header("location:index.php");
?>

package-details.php

<?php
session_start();
error_reporting(0);
include('includes/config.php');
if(isset($_POST['submit2']))
{
$pid=intval($_GET['pkgid']);
$useremail=$_SESSION['login'];
$fromdate=$_POST['fromdate'];
$todate=$_POST['todate'];
$comment=$_POST['comment'];
$status=0;

$sql="INSERT INTO tblbooking(PackageId,UserEmail,FromDate,ToDate,Comment,status)


VALUES(:pid,:useremail,:fromdate,:todate,:comment,:status)";
$query = $dbh->prepare($sql);
$query->bindParam(':pid',$pid,PDO::PARAM_STR);
$query->bindParam(':useremail',$useremail,PDO::PARAM_STR);
$query->bindParam(':fromdate',$fromdate,PDO::PARAM_STR);
$query->bindParam(':todate',$todate,PDO::PARAM_STR);
$query->bindParam(':comment',$comment,PDO::PARAM_STR);
$query->bindParam(':status',$status,PDO::PARAM_STR);
$query->execute();
$lastInsertId = $dbh->lastInsertId();
if($lastInsertId)
{
$msg="Booked Successfully";
}
else
{
Page 30 of 83

$error="Something went wrong. Please try again";


}

}
?>
<!DOCTYPE HTML>
<html>
<head>
<title>TMS | Package Details</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="applijewelleryion/x-javascript"> addEventListener("load", function()
{ setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />
<link href="css/style.css" rel='stylesheet' type='text/css' />
<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600' rel='stylesheet'
type='text/css'>
<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300' rel='stylesheet'
type='text/css'>
<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>
<link href="css/font-awesome.css" rel="stylesheet">
<!-- Custom Theme files -->
<script src="js/jquery-1.12.0.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<!--animate-->
<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">
<script src="js/wow.min.js"></script>
<link rel="stylesheet" href="css/jquery-ui.css" />
<script>
new WOW().init();
</script>
<script src="js/jquery-ui.js"></script>
<script>
$(function() {
$( "#datepicker,#datepicker1" ).datepicker();
});
</script>
<style>
.errorWrap {
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #dd3d36;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
.succWrap{
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #5cb85c;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
</style>
</head>
<body>
<!-- top-header -->
<?php include('includes/header.php');?>
Page 31 of 83

<div class="banner-3">
<div class="container">
<h1 class="wow zoomIn animated animated" data-wow-delay=".5s" style="visibility:
visible; animation-delay: 0.5s; animation-name: zoomIn;"> TMS -Package Details</h1>
</div>
</div>
<!--- /banner ---->
<!--- selectroom ---->
<div class="selectroom">
<div class="container">
<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo
htmlentities($error); ?> </div><?php }
else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?
php echo htmlentities($msg); ?> </div><?php }?>
<?php
$pid=intval($_GET['pkgid']);
$sql = "SELECT * from tbltourpackages where PackageId=:pid";
$query = $dbh->prepare($sql);
$query -> bindParam(':pid', $pid, PDO::PARAM_STR);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $result)
{ ?>

<form name="book" method="post">


<div class="selectroom_top">
<div class="col-md-4 selectroom_left wow fadeInLeft animated" data-wow-
delay=".5s">
<img src="admin/pacakgeimages/<?php echo htmlentities($result-
>PackageImage);?>" class="img-responsive" alt="">
</div>
<div class="col-md-8 selectroom_right wow fadeInRight animated" data-wow-
delay=".5s">
<h2><?php echo htmlentities($result->PackageName);?></h2>
<p class="dow">#PKG-<?php echo htmlentities($result->PackageId);?
></p>
<p><b>Package Type :</b> <?php echo htmlentities($result-
>PackageType);?></p>
<p><b>Package Location :</b> <?php echo htmlentities($result-
>PackageLocation);?></p>
<p><b>Features</b> <?php echo htmlentities($result-
>PackageFetures);?></p>
<div class="ban-bottom">
<div class="bnr-right">
<label class="inputLabel">From</label>
<input class="date" id="datepicker" type="text" placeholder="dd-mm-
yyyy" name="fromdate" required>
<input class="child" id="child" type="text" placeholder="No. of Children" name="child"
required>
</div>
<div class="bnr-right">
<label class="inputLabel">To</label>
<input class="date" id="datepicker1" type="text" placeholder="dd-mm-
yyyy" name="todate" required>
<input class="adult" id="adult" type="text" placeholder="No. of Adults" name="adult"
required>
Page 32 of 83

</div>
</div>
<div class="clearfix"></div>
<div class="grand">
<p>Grand Total</p>
<button type="submit" name="add" class="btn-primary btn">Add</button>
<h3>₹ <?php
if(isset($_POST['add'])){
$child=$_POST['child'];
$adult=$_POST['adult'];
$total=$child+$adult;

echo htmlentities($result->PackagePrice*$total);?>
<?php echo $total;?>
</h3>
</div>
</div>
<h3>Package Details</h3>
<p style="padding-top: 1%"><?php echo htmlentities($result-
>PackageDetails);?> </p>
<div class="clearfix"></div>
</div>
<div class="selectroom_top">
<h2>Travels</h2>
<div class="selectroom-info animated wow fadeInUp animated" data-wow-
duration="1200ms" data-wow-delay="500ms" style="visibility: visible; animation-duration: 1200ms;
animation-delay: 500ms; animation-name: fadeInUp; margin-top: -70px">
<ul>

<li class="spe">
<label class="inputLabel">Comment</label>
<input class="special" type="text" name="comment">
</li>
<?php if($_SESSION['login'])
{?>
<li class="spe" align="center">
<button type="submit" name="submit2" class="btn-primary
btn">Book</button>
</li>
<?php } else {?>
<li class="sigi" align="center" style="margin-top:
1%">
<a href="#" data-toggle="modal" data-
target="#myModal4" class="btn-primary btn" > Book</a></li>
<?php } ?>
<div class="clearfix"></div>
</ul>
</div>

</div>
</form>
<?php }} ?>

</div>
</div>
Page 33 of 83

<!--- /selectroom ---->


<<!--- /footer-top ---->
<?php include('includes/footer.php');?>
<!-- signup -->
<?php include('includes/signup.php');?>
<!-- //signu -->
<!-- signin -->
<?php include('includes/signin.php');?>
<!-- //signin -->
<!-- write us -->
<?php include('includes/write-us.php');?>
</body>
</html>

package-list.php
<?php
session_start();
error_reporting(0);
include('includes/config.php');
?>
<!DOCTYPE HTML>
<html>
<head>
<title>TMS | Package List</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="applijewelleryion/x-javascript"> addEventListener("load", function()
{ setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />
<link href="css/style.css" rel='stylesheet' type='text/css' />
<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600' rel='stylesheet'
type='text/css'>
<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300' rel='stylesheet'
type='text/css'>
<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>
<link href="css/font-awesome.css" rel="stylesheet">
<!-- Custom Theme files -->
<script src="js/jquery-1.12.0.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<!--animate-->
<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">
<script src="js/wow.min.js"></script>
<script>
new WOW().init();
</script>
<!--//end-animate-->
</head>
<body>
<?php include('includes/header.php');?>
<!--- banner ---->
<div class="banner-3">
<div class="container">
<h1 class="wow zoomIn animated animated" data-wow-delay=".5s" style="visibility:
visible; animation-delay: 0.5s; animation-name: zoomIn;"> Package List</h1>
</div>
</div>
<!--- /banner ---->
<!--- rooms ---->
Page 34 of 83

<div class="rooms">
<div class="container">

<div class="room-bottom">
<h3>Package List</h3>

<?php $sql = "SELECT * from tbltourpackages";


$query = $dbh->prepare($sql);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $result)
{ ?>
<div class="rom-btm">
<div class="col-md-3 room-left wow fadeInLeft animated" data-wow-
delay=".5s">
<img src="admin/pacakgeimages/<?php echo htmlentities($result-
>PackageImage);?>" class="img-responsive" alt="">
</div>
<div class="col-md-6 room-midle wow fadeInUp animated" data-wow-
delay=".5s">
<h4>Package Name: <?php echo htmlentities($result-
>PackageName);?></h4>
<h6>Package Type : <?php echo htmlentities($result-
>PackageType);?></h6>
<p><b>Package Location :</b> <?php echo htmlentities($result-
>PackageLocation);?></p>
<p><b>Features</b> <?php echo htmlentities($result-
>PackageFetures);?></p>
</div>
<div class="col-md-3 room-right wow fadeInRight animated" data-wow-
delay=".5s">
<h5>₹ <?php echo htmlentities($result->PackagePrice);?></h5>
<a href="package-details.php?pkgid=<?php echo
htmlentities($result->PackageId);?>" class="view">Details</a>
</div>
<div class="clearfix"></div>
</div>

<?php }} ?>

</div>
</div>
</div>
<!--- /rooms ---->

<!--- /footer-top ---->


<?php include('includes/footer.php');?>
<!-- signup -->
<?php include('includes/signup.php');?>
<!-- //signu -->
<!-- signin -->
<?php include('includes/signin.php');?>
<!-- //signin -->
Page 35 of 83

<!-- write us -->


<?php include('includes/write-us.php');?>
<!-- //write us -->
</body>
</html>

page.php

<?php
session_start();
error_reporting(0);
include('includes/config.php');
if(isset($_POST['submit1']))
{
$fname=$_POST['fname'];
$email=$_POST['email'];
$mobile=$_POST['mobileno'];
$subject=$_POST['subject'];
$description=$_POST['description'];
$sql="INSERT INTO tblenquiry(FullName,EmailId,MobileNumber,Subject,Description)
VALUES(:fname,:email,:mobile,:subject,:description)";
$query = $dbh->prepare($sql);
$query->bindParam(':fname',$fname,PDO::PARAM_STR);
$query->bindParam(':email',$email,PDO::PARAM_STR);
$query->bindParam(':mobile',$mobile,PDO::PARAM_STR);
$query->bindParam(':subject',$subject,PDO::PARAM_STR);
$query->bindParam(':description',$description,PDO::PARAM_STR);
$query->execute();
$lastInsertId = $dbh->lastInsertId();
if($lastInsertId)
{
$msg="Enquiry Successfully submited";
}
else
{
$error="Something went wrong. Please try again";
}

?>
<!DOCTYPE HTML>
<html>
<head>
<title>TMS | Tourism Management System</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="Tourism Management System In PHP" />
<script type="applijewelleryion/x-javascript"> addEventListener("load", function()
{ setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />
<link href="css/style.css" rel='stylesheet' type='text/css' />
<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600' rel='stylesheet'
type='text/css'>
<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300' rel='stylesheet'
type='text/css'>
<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>
<link href="css/font-awesome.css" rel="stylesheet">
Page 36 of 83

<!-- Custom Theme files -->


<script src="js/jquery-1.12.0.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<!--animate-->
<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">
<script src="js/wow.min.js"></script>
<script>
new WOW().init();
</script>
<style>
.errorWrap {
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #dd3d36;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
.succWrap{
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #5cb85c;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
</style>
</head>
<body>
<!-- top-header -->
<div class="top-header">
<?php include('includes/header.php');?>
<div class="banner-1 ">
<div class="container">
<h1 class="wow zoomIn animated animated" data-wow-delay=".5s" style="visibility:
visible; animation-delay: 0.5s; animation-name: zoomIn;"> Tourism Management System</h1>
</div>
</div>
<!--- /banner-1 ---->
<!--- privacy ---->
<div class="privacy">
<div class="container">
<?php
$pagetype=$_GET['type'];
$sql = "SELECT type,detail from tblpages where type=:pagetype";
$query = $dbh -> prepare($sql);
$query->bindParam(':pagetype',$pagetype,PDO::PARAM_STR);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $result)
{

?>
Page 37 of 83

<h3 class="wow fadeInDown animated animated" data-wow-delay=".5s"


style="visibility: visible; animation-delay: 0.5s; animation-name: fadeInDown;"><?php echo
$_GET['type'] ?></h3>

<p>
<?php echo $result->detail; ?>

</p>
<?php } }?>

</div>
</div>
<!--- /privacy ---->
<!--- footer-top ---->
<!--- /footer-top ---->
<?php include('includes/footer.php');?>
<!-- signup -->
<?php include('includes/signup.php');?>
<!-- //signu -->
<!-- signin -->
<?php include('includes/signin.php');?>
<!-- //signin -->
<!-- write us -->
<?php include('includes/write-us.php');?>
</body>
</html>

profile.php

<?php
session_start();
error_reporting(0);
include('includes/config.php');
if(strlen($_SESSION['login'])==0)
{
header('location:index.php');
}
else{
if(isset($_POST['submit6']))
{
$name=$_POST['name'];
$mobileno=$_POST['mobileno'];
$email=$_SESSION['login'];

$sql="update tblusers set FullName=:name,MobileNumber=:mobileno where EmailId=:email";


$query = $dbh->prepare($sql);
$query->bindParam(':name',$name,PDO::PARAM_STR);
$query->bindParam(':mobileno',$mobileno,PDO::PARAM_STR);
$query->bindParam(':email',$email,PDO::PARAM_STR);
$query->execute();
$msg="Profile Updated Successfully";
}

?>
Page 38 of 83

<!DOCTYPE HTML>
<html>
<head>
<title>TMS | Tourism Management System</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="Tourism Management System In PHP" />
<script type="applijewelleryion/x-javascript"> addEventListener("load", function()
{ setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />
<link href="css/style.css" rel='stylesheet' type='text/css' />
<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600' rel='stylesheet'
type='text/css'>
<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300' rel='stylesheet'
type='text/css'>
<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>
<link href="css/font-awesome.css" rel="stylesheet">
<!-- Custom Theme files -->
<script src="js/jquery-1.12.0.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<!--animate-->
<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">
<script src="js/wow.min.js"></script>
<script>
new WOW().init();
</script>

<style>
.errorWrap {
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #dd3d36;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
.succWrap{
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #5cb85c;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
</style>
</head>
<body>
<!-- top-header -->
<div class="top-header">
<?php include('includes/header.php');?>
<div class="banner-1 ">
<div class="container">
<h1 class="wow zoomIn animated animated" data-wow-delay=".5s" style="visibility:
visible; animation-delay: 0.5s; animation-name: zoomIn;">TMS-Tourism Management System</h1>
</div>
</div>
<!--- /banner-1 ---->
<!--- privacy ---->
<div class="privacy">
Page 39 of 83

<div class="container">
<h3 class="wow fadeInDown animated animated" data-wow-delay=".5s"
style="visibility: visible; animation-delay: 0.5s; animation-name: fadeInDown;">Change
Password</h3>
<form name="chngpwd" method="post">
<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo
htmlentities($error); ?> </div><?php }
else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?
php echo htmlentities($msg); ?> </div><?php }?>

<?php
$useremail=$_SESSION['login'];
$sql = "SELECT * from tblusers where EmailId=:useremail";
$query = $dbh -> prepare($sql);
$query -> bindParam(':useremail',$useremail, PDO::PARAM_STR);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $result)
{ ?>

<p style="width: 350px;">

<b>Name</b> <input type="text" name="name" value="<?php echo


htmlentities($result->FullName);?>" class="form-control" id="name" required>
</p>

<p style="width: 350px;">


<b>Mobile Number</b>
<input type="text" class="form-control" name="mobileno" maxlength="10" value="<?php echo
htmlentities($result->MobileNumber);?>" id="mobileno" required="">
</p>

<p style="width: 350px;">


<b>Email Id</b>
<input type="email" class="form-control" name="email" value="<?php echo
htmlentities($result->EmailId);?>" id="email" readonly>
</p>
<p style="width: 350px;">
<b>Last Updation Date : </b>
<?php echo htmlentities($result->UpdationDate);?>
</p>

<p style="width: 350px;">


<b>Reg Date :</b>
<?php echo htmlentities($result->RegDate);?>
</p>
<?php }} ?>

<p style="width: 350px;">


<button type="submit" name="submit6" class="btn-primary btn">Updtae</button>
</p>
</form>

</div>
</div>
Page 40 of 83

<!--- /privacy ---->


<!--- footer-top ---->
<!--- /footer-top ---->
<?php include('includes/footer.php');?>
<!-- signup -->
<?php include('includes/signup.php');?>
<!-- //signu -->
<!-- signin -->
<?php include('includes/signin.php');?>
<!-- //signin -->
<!-- write us -->
<?php include('includes/write-us.php');?>
</body>
</html>
<?php } ?>

tour-history.php
<?php
session_start();
error_reporting(0);
include('includes/config.php');
if(strlen($_SESSION['login'])==0)
{
header('location:index.php');
}
else{
if(isset($_REQUEST['bkid']))
{
$bid=intval($_GET['bkid']);
$email=$_SESSION['login'];
$sql ="SELECT FromDate FROM tblbooking WHERE UserEmail=:email and BookingId=:bid";
$query= $dbh -> prepare($sql);
$query-> bindParam(':email', $email, PDO::PARAM_STR);
$query-> bindParam(':bid', $bid, PDO::PARAM_STR);
$query-> execute();
$results = $query -> fetchAll(PDO::FETCH_OBJ);
if($query->rowCount() > 0)
{
foreach($results as $result)
{
$fdate=$result->FromDate;

$a=explode("/",$fdate);
$val=array_reverse($a);
$mydate =implode("/",$val);
$cdate=date('Y/m/d');
$date1=date_create("$cdate");
$date2=date_create("$fdate");
$diff=date_diff($date1,$date2);
echo $df=$diff->format("%a");
if($df>1)
{
$status=2;
$cancelby='u';
$sql = "UPDATE tblbooking SET status=:status,CancelledBy=:cancelby WHERE UserEmail=:email and
BookingId=:bid";
$query = $dbh->prepare($sql);
$query -> bindParam(':status',$status, PDO::PARAM_STR);
$query -> bindParam(':cancelby',$cancelby , PDO::PARAM_STR);
Page 41 of 83

$query-> bindParam(':email',$email, PDO::PARAM_STR);


$query-> bindParam(':bid',$bid, PDO::PARAM_STR);
$query -> execute();

$msg="Booking Cancelled successfully";


}
else
{
$error="You can't cancel booking before 24 hours";
}
}
}
}

?>
<!DOCTYPE HTML>
<html>
<head>
<title>TMS | Tourism Management System</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="Tourism Management System In PHP" />
<script type="applijewelleryion/x-javascript"> addEventListener("load", function()
{ setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />
<link href="css/style.css" rel='stylesheet' type='text/css' />
<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700,600' rel='stylesheet'
type='text/css'>
<link href='//fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300' rel='stylesheet'
type='text/css'>
<link href='//fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>
<link href="css/font-awesome.css" rel="stylesheet">
<!-- Custom Theme files -->
<script src="js/jquery-1.12.0.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<!--animate-->
<link href="css/animate.css" rel="stylesheet" type="text/css" media="all">
<script src="js/wow.min.js"></script>
<script>
new WOW().init();
</script>

<style>
.errorWrap {
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #dd3d36;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
.succWrap{
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #5cb85c;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
Page 42 of 83

</style>
</head>
<body>
<!-- top-header -->
<div class="top-header">
<?php include('includes/header.php');?>
<div class="banner-1 ">
<div class="container">
<h1 class="wow zoomIn animated animated" data-wow-delay=".5s" style="visibility:
visible; animation-delay: 0.5s; animation-name: zoomIn;">TMS-Tourism Management System</h1>
</div>
</div>
<!--- /banner-1 ---->
<!--- privacy ---->
<div class="privacy">
<div class="container">
<h3 class="wow fadeInDown animated animated" data-wow-delay=".5s"
style="visibility: visible; animation-delay: 0.5s; animation-name: fadeInDown;">My Tour
History</h3>
<form name="chngpwd" method="post" onSubmit="return valid();">
<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo
htmlentities($error); ?> </div><?php }
else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?
php echo htmlentities($msg); ?> </div><?php }?>
<p>
<table border="1" width="100%">
<tr align="center">
<th>#</th>
<th>Booking Id</th>
<th>Package Name</th>
<th>From</th>
<th>To</th>
<th>Comment</th>
<th>Status</th>
<th>Booking Date</th>
<th>Action</th>
</tr>
<?php

$uemail=$_SESSION['login'];;
$sql = "SELECT tblbooking.BookingId as bookid,tblbooking.PackageId as
pkgid,tbltourpackages.PackageName as packagename,tblbooking.FromDate as
fromdate,tblbooking.ToDate as todate,tblbooking.Comment as comment,tblbooking.status as
status,tblbooking.RegDate as regdate,tblbooking.CancelledBy as cancelby,tblbooking.UpdationDate as
upddate from tblbooking join tbltourpackages on tbltourpackages.PackageId=tblbooking.PackageId
where UserEmail=:uemail";
$query = $dbh->prepare($sql);
$query -> bindParam(':uemail', $uemail, PDO::PARAM_STR);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $result)
{ ?>
<tr align="center">
<td><?php echo htmlentities($cnt);?></td>
<td>#BK<?php echo htmlentities($result->bookid);?></td>
Page 43 of 83

<td><a href="package-details.php?pkgid=<?php echo htmlentities($result->pkgid);?>"><?php echo


htmlentities($result->packagename);?></a></td>
<td><?php echo htmlentities($result->fromdate);?></td>
<td><?php echo htmlentities($result->todate);?></td>
<td><?php echo htmlentities($result->comment);?></td>
<td><?php if($result->status==0)
{
echo "Pending";
}
if($result->status==1)
{
echo "Confirmed";
}
if($result->status==2 and $result->cancelby=='u')
{
echo "Canceled by you at " .$result->upddate;
}
if($result->status==2 and $result->cancelby=='a')
{
echo "Canceled by admin at " .$result->upddate;

}
?></td>
<td><?php echo htmlentities($result->regdate);?></td>
<?php if($result->status==2)
{
?><td>Cancelled</td>
<?php } else {?>
<td><a href="tour-history.php?bkid=<?php echo htmlentities($result->bookid);?>" onclick="return
confirm('Do you really want to cancel booking')" >Cancel</a></td>
<?php }?>
</tr>
<?php $cnt=$cnt+1; }} ?>
</table>

</p>
</form>

</div>
</div>
<!--- /privacy ---->
<!--- footer-top ---->
<!--- /footer-top ---->
<?php include('includes/footer.php');?>
<!-- signup -->
<?php include('includes/signup.php');?>
<!-- //signu -->
<!-- signin -->
<?php include('includes/signin.php');?>
<!-- //signin -->
<!-- write us -->
<?php include('includes/write-us.php');?>
</body>
</html>
<?php } ?>

config.php
Page 44 of 83

<?php
// DB credentials.
define('DB_HOST','localhost');
define('DB_USER','root');
define('DB_PASS','');
define('DB_NAME','tms');
// Establish database connection.
try
{
$dbh = new PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME,DB_USER,
DB_PASS,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
}
catch (PDOException $e)
{
exit("Error: " . $e->getMessage());
}
?>
manage-bookings.php
<?php
session_start();
error_reporting(0);
include('includes/config.php');
if(strlen($_SESSION['alogin'])==0)
{
header('location:index.php');
}
else{
// code for cancel
if(isset($_REQUEST['bkid']))
{
$bid=intval($_GET['bkid']);
$status=2;
$cancelby='a';
$sql = "UPDATE tblbooking SET status=:status,CancelledBy=:cancelby WHERE BookingId=:bid";
$query = $dbh->prepare($sql);
$query -> bindParam(':status',$status, PDO::PARAM_STR);
$query -> bindParam(':cancelby',$cancelby , PDO::PARAM_STR);
$query-> bindParam(':bid',$bid, PDO::PARAM_STR);
$query -> execute();

$msg="Booking Cancelled successfully";


}

if(isset($_REQUEST['bckid']))
{
$bcid=intval($_GET['bckid']);
$status=1;
$cancelby='a';
$sql = "UPDATE tblbooking SET status=:status WHERE BookingId=:bcid";
$query = $dbh->prepare($sql);
$query -> bindParam(':status',$status, PDO::PARAM_STR);
$query-> bindParam(':bcid',$bcid, PDO::PARAM_STR);
$query -> execute();
$msg="Booking Confirm successfully";
}
Page 45 of 83

?>
<!DOCTYPE HTML>
<html>
<head>
<title>TMS | Admin manage Bookings</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="application/x-javascript"> addEventListener("load", function() { setTimeout(hideURLbar,
0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
<link href="css/bootstrap.min.css" rel='stylesheet' type='text/css' />
<link href="css/style.css" rel='stylesheet' type='text/css' />
<link rel="stylesheet" href="css/morris.css" type="text/css"/>
<link href="css/font-awesome.css" rel="stylesheet">
<script src="js/jquery-2.1.4.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/table-style.css" />
<link rel="stylesheet" type="text/css" href="css/basictable.css" />
<script type="text/javascript" src="js/jquery.basictable.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#table').basictable();

$('#table-breakpoint').basictable({
breakpoint: 768
});

$('#table-swap-axis').basictable({
swapAxis: true
});

$('#table-force-off').basictable({
forceResponsive: false
});

$('#table-no-resize').basictable({
noResize: true
});

$('#table-two-axis').basictable();

$('#table-max-height').basictable({
tableWrapper: true
});
});
</script>
<link href='//fonts.googleapis.com/css?family=Roboto:700,500,300,100italic,100,400' rel='stylesheet'
type='text/css'/>
<link href='//fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="css/icon-font.min.css" type='text/css' />
<style>
.errorWrap {
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #dd3d36;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
.succWrap{
Page 46 of 83

padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #5cb85c;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
</style>
</head>
<body>
<div class="page-container">
<!--/content-inner-->
<div class="left-content">
<div class="mother-grid-inner">
<!--header start here-->
<?php include('includes/header.php');?>
<div class="clearfix"> </div>
</div>
<!--heder end here-->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="index.html">Home</a><i class="fa fa-angle-
right"></i>Manage Bookings</li>
</ol>
<div class="agile-grids">
<!-- tables -->
<?php if($error){?><div
class="errorWrap"><strong>ERROR</strong>:<?php echo htmlentities($error); ?> </div><?php }
else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?
php echo htmlentities($msg); ?> </div><?php }?>
<div class="agile-tables">
<div class="w3l-table-info">
<h2>Manage Bookings</h2>
<table id="table">
<thead>
<tr>
<th>Booikn id</th>
<th>Name</th>
<th>Mobile No.</th>
<th>Email Id</th>
<th>RegDate </th>
<th>From /To </th>
<th>Comment </th>
<th>Status </th>
<th>Action </th>
</tr>
</thead>
<tbody>
<?php $sql = "SELECT tblbooking.BookingId as bookid,tblusers.FullName as
fname,tblusers.MobileNumber as mnumber,tblusers.EmailId as email,tbltourpackages.PackageName as
pckname,tblbooking.PackageId as pid,tblbooking.FromDate as fdate,tblbooking.ToDate as
tdate,tblbooking.Comment as comment,tblbooking.status as status,tblbooking.CancelledBy as
cancelby,tblbooking.UpdationDate as upddate from tblusers join tblbooking on
tblbooking.UserEmail=tblusers.EmailId join tbltourpackages on
tbltourpackages.PackageId=tblbooking.PackageId";
$query = $dbh -> prepare($sql);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
Page 47 of 83

{
foreach($results as $result)
{ ?>
<tr>
<td>#BK-<?php echo htmlentities($result-
>bookid);?></td>
<td><?php echo htmlentities($result->fname);?
></td>
<td><?php echo htmlentities($result->mnumber);?
></td>
<td><?php echo
htmlentities($result->email);?></td>
<td><a href="update-package.php?pid=<?php echo
htmlentities($result->pid);?>"><?php echo htmlentities($result->pckname);?></a></td>
<td><?php echo htmlentities($result->fdate);?> To
<?php echo htmlentities($result->tdate);?></td>
<td><?php echo htmlentities($result-
>comment);?></td>
<td><?php if($result->status==0)
{
echo "Pending";
}
if($result->status==1)
{
echo "Confirmed";
}
if($result->status==2 and $result->cancelby=='a')
{
echo "Canceled by you at " .$result->upddate;
}
if($result->status==2 and $result->cancelby=='u')
{
echo "Canceled by User at " .$result->upddate;

}
?></td>

<?php if($result->status==2)
{
?><td>Cancelled</td>
<?php } else {?>
<td><a href="manage-bookings.php?bkid=<?php echo htmlentities($result->bookid);?>"
onclick="return confirm('Do you really want to cancel booking')" >Cancel</a> / <a href="manage-
bookings.php?bckid=<?php echo htmlentities($result->bookid);?>" onclick="return confirm('Do you
really want to cancel booking')" >Confirm</a></td>
<?php }?>

</tr>
<?php $cnt=$cnt+1;} }?>
</tbody>
</table>
</div>
</table>

</div>
<!-- script-for sticky-nav -->
<script>
$(document).ready(function() {
Page 48 of 83

var navoffeset=$(".header-main").offset().top;
$(window).scroll(function(){
var scrollpos=$(window).scrollTop();
if(scrollpos >=navoffeset){
$(".header-main").addClass("fixed");
}else{
$(".header-main").removeClass("fixed");
}
});

});
</script>
<!-- /script-for sticky-nav -->
<!--inner block start here-->
<div class="inner-block">

</div>
<!--inner block end here-->
<!--copy rights start here-->
<?php include('includes/footer.php');?>
<!--COPY rights end here-->
</div>
</div>
<!--//content-inner-->
<!--/sidebar-menu-->
<?php include('includes/sidebarmenu.php');?>
<div class="clearfix"></div>
</div>
<script>
var toggle = true;

$(".sidebar-icon").click(function() {
if (toggle)
{
$(".page-container").addClass("sidebar-
collapsed").removeClass("sidebar-collapsed-back");
$("#menu
span").css({"position":"absolute"});
}
else
{
$(".page-container").removeClass("sidebar-
collapsed").addClass("sidebar-collapsed-back");
setTimeout(function() {
$("#menu
span").css({"position":"relative"});
}, 400);
}

toggle = !toggle;
});
</script>
<!--js -->
<script src="js/jquery.nicescroll.js"></script>
<script src="js/scripts.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="js/bootstrap.min.js"></script>
<!-- /Bootstrap Core JavaScript -->
Page 49 of 83

</body>
</html>
<?php } ?>

create-package.php
<?php
session_start();
error_reporting(0);
include('includes/config.php');
if(strlen($_SESSION['alogin'])==0)
{
header('location:index.php');
}
else{
if(isset($_POST['submit']))
{
$pname=$_POST['packagename'];
$ptype=$_POST['packagetype'];
$plocation=$_POST['packagelocation'];
$pprice=$_POST['packageprice'];
$pfeatures=$_POST['packagefeatures'];
$pdetails=$_POST['packagedetails'];
$pimage=$_FILES["packageimage"]["name"];
move_uploaded_file($_FILES["packageimage"]["tmp_name"],"pacakgeimages/".
$_FILES["packageimage"]["name"]);
$sql="INSERT INTO
TblTourPackages(PackageName,PackageType,PackageLocation,PackagePrice,PackageFetures,PackageD
etails,PackageImage) VALUES(:pname,:ptype,:plocation,:pprice,:pfeatures,:pdetails,:pimage)";
$query = $dbh->prepare($sql);
$query->bindParam(':pname',$pname,PDO::PARAM_STR);
$query->bindParam(':ptype',$ptype,PDO::PARAM_STR);
$query->bindParam(':plocation',$plocation,PDO::PARAM_STR);
$query->bindParam(':pprice',$pprice,PDO::PARAM_STR);
$query->bindParam(':pfeatures',$pfeatures,PDO::PARAM_STR);
$query->bindParam(':pdetails',$pdetails,PDO::PARAM_STR);
$query->bindParam(':pimage',$pimage,PDO::PARAM_STR);
$query->execute();
$lastInsertId = $dbh->lastInsertId();
if($lastInsertId)
{
$msg="Package Created Successfully";
}
else
{
$error="Something went wrong. Please try again";
}

?>
<!DOCTYPE HTML>
<html>
<head>
<title>TMS | Admin Package Creation</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="Pooled Responsive web template, Bootstrap Web Templates, Flat
Web Templates, Android Compatible web template,
Page 50 of 83

Smartphone Compatible web template, free webdesigns for Nokia, Samsung, LG, SonyEricsson,
Motorola web design" />
<script type="application/x-javascript"> addEventListener("load", function() { setTimeout(hideURLbar,
0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
<link href="css/bootstrap.min.css" rel='stylesheet' type='text/css' />
<link href="css/style.css" rel='stylesheet' type='text/css' />
<link rel="stylesheet" href="css/morris.css" type="text/css"/>
<link href="css/font-awesome.css" rel="stylesheet">
<script src="js/jquery-2.1.4.min.js"></script>
<link href='//fonts.googleapis.com/css?family=Roboto:700,500,300,100italic,100,400' rel='stylesheet'
type='text/css'/>
<link href='//fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="css/icon-font.min.css" type='text/css' />
<style>
.errorWrap {
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #dd3d36;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
.succWrap{
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #5cb85c;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
</style>

</head>
<body>
<div class="page-container">
<!--/content-inner-->
<div class="left-content">
<div class="mother-grid-inner">
<!--header start here-->
<?php include('includes/header.php');?>

<div class="clearfix"> </div>


</div>
<!--heder end here-->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="index.html">Home</a><i class="fa fa-angle-
right"></i>Update Package </li>
</ol>
<!--grid-->
<div class="grid-form">

<!---->
<div class="grid-form1">
<h3>Create Package</h3>
<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo
htmlentities($error); ?> </div><?php }
else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?
php echo htmlentities($msg); ?> </div><?php }?>
<div class="tab-content">
Page 51 of 83

<div class="tab-pane active" id="horizontal-form">


<form class="form-horizontal" name="package"
method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="focusedinput" class="col-
sm-2 control-label">Package Name</label>
<div class="col-sm-8">
<input type="text"
class="form-control1" name="packagename" id="packagename" placeholder="Create Package"
required>
</div>
</div>
<div class="form-group">
<label for="focusedinput" class="col-
sm-2 control-label">Package Type</label>
<div class="col-sm-8">
<input type="text"
class="form-control1" name="packagetype" id="packagetype" placeholder=" Package Type eg- Family
Package / Couple Package" required>
</div>
</div>

<div class="form-group">
<label for="focusedinput" class="col-
sm-2 control-label">Package Location</label>
<div class="col-sm-8">
<input type="text"
class="form-control1" name="packagelocation" id="packagelocation" placeholder=" Package Location"
required>
</div>
</div>

<div class="form-group">
<label for="focusedinput" class="col-
sm-2 control-label">Package Price in USD</label>
<div class="col-sm-8">
<input type="text"
class="form-control1" name="packageprice" id="packageprice" placeholder=" Package Price is USD"
required>
</div>
</div>

<div class="form-group">
<label for="focusedinput" class="col-
sm-2 control-label">Package Features</label>
<div class="col-sm-8">
<input type="text"
class="form-control1" name="packagefeatures" id="packagefeatures" placeholder="Package Features
Eg-free Pickup-drop facility" required>
</div>
</div>

<div class="form-group">
<label for="focusedinput" class="col-
sm-2 control-label">Package Details</label>
<div class="col-sm-8">
Page 52 of 83

<textarea class="form-control"
rows="5" cols="50" name="packagedetails" id="packagedetails" placeholder="Package Details"
required></textarea>
</div>
</div>

<div class="form-group">
<label for="focusedinput" class="col-
sm-2 control-label">Package Image</label>
<div class="col-sm-8">
<input type="file"
name="packageimage" id="packageimage" required>
</div>
</div>

<div class="row">
<div class="col-sm-8 col-sm-offset-2">
<button type="submit" name="submit" class="btn-primary
btn">Create</button>

<button type="reset" class="btn-inverse btn">Reset</button>


</div>
</div>

</div>

</form>

<div class="panel-footer">

</div>
</form>
</div>
</div>
<!--//grid-->

<!-- script-for sticky-nav -->


<script>
$(document).ready(function() {
var navoffeset=$(".header-main").offset().top;
$(window).scroll(function(){
var scrollpos=$(window).scrollTop();
if(scrollpos >=navoffeset){
$(".header-main").addClass("fixed");
}else{
$(".header-main").removeClass("fixed");
}
});

});
Page 53 of 83

</script>
<!-- /script-for sticky-nav -->
<!--inner block start here-->
<div class="inner-block">

</div>
<!--inner block end here-->
<!--copy rights start here-->
<?php include('includes/footer.php');?>
<!--COPY rights end here-->
</div>
</div>
<!--//content-inner-->
<!--/sidebar-menu-->
<?php include('includes/sidebarmenu.php');?>
<div class="clearfix"></div>
</div>
<script>
var toggle = true;

$(".sidebar-icon").click(function() {
if (toggle)
{
$(".page-container").addClass("sidebar-
collapsed").removeClass("sidebar-collapsed-back");
$("#menu
span").css({"position":"absolute"});
}
else
{
$(".page-container").removeClass("sidebar-
collapsed").addClass("sidebar-collapsed-back");
setTimeout(function() {
$("#menu
span").css({"position":"relative"});
}, 400);
}

toggle = !toggle;
});
</script>
<!--js -->
<script src="js/jquery.nicescroll.js"></script>
<script src="js/scripts.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="js/bootstrap.min.js"></script>
<!-- /Bootstrap Core JavaScript -->

</body>
</html>
<?php } ?>
manage-enquiries.php
<?php
session_start();
error_reporting(0);
include('includes/config.php');
if(strlen($_SESSION['alogin'])==0)
{
header('location:index.php');
Page 54 of 83

}
else{
// code for cancel
if(isset($_REQUEST['eid']))
{
$eid=intval($_GET['eid']);
$status=1;

$sql = "UPDATE tblenquiry SET Status=:status WHERE id=:eid";


$query = $dbh->prepare($sql);
$query -> bindParam(':status',$status, PDO::PARAM_STR);
$query-> bindParam(':eid',$eid, PDO::PARAM_STR);
$query -> execute();

$msg="Enquiry successfully read";


}

?>
<!DOCTYPE HTML>
<html>
<head>
<title>TMS | Admin manage Bookings</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="application/x-javascript"> addEventListener("load", function() { setTimeout(hideURLbar,
0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
<link href="css/bootstrap.min.css" rel='stylesheet' type='text/css' />
<link href="css/style.css" rel='stylesheet' type='text/css' />
<link rel="stylesheet" href="css/morris.css" type="text/css"/>
<link href="css/font-awesome.css" rel="stylesheet">
<script src="js/jquery-2.1.4.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/table-style.css" />
<link rel="stylesheet" type="text/css" href="css/basictable.css" />
<script type="text/javascript" src="js/jquery.basictable.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#table').basictable();

$('#table-breakpoint').basictable({
breakpoint: 768
});

$('#table-swap-axis').basictable({
swapAxis: true
});

$('#table-force-off').basictable({
forceResponsive: false
});

$('#table-no-resize').basictable({
noResize: true
});

$('#table-two-axis').basictable();
Page 55 of 83

$('#table-max-height').basictable({
tableWrapper: true
});
});
</script>
<link href='//fonts.googleapis.com/css?family=Roboto:700,500,300,100italic,100,400' rel='stylesheet'
type='text/css'/>
<link href='//fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="css/icon-font.min.css" type='text/css' />
<style>
.errorWrap {
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #dd3d36;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
.succWrap{
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #5cb85c;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
</style>
</head>
<body>
<div class="page-container">
<!--/content-inner-->
<div class="left-content">
<div class="mother-grid-inner">
<!--header start here-->
<?php include('includes/header.php');?>
<div class="clearfix"> </div>
</div>
<!--heder end here-->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="index.html">Home</a><i class="fa fa-angle-
right"></i>Manage Enquiries</li>
</ol>
<div class="agile-grids">
<!-- tables -->
<?php if($error){?><div
class="errorWrap"><strong>ERROR</strong>:<?php echo htmlentities($error); ?> </div><?php }
else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?
php echo htmlentities($msg); ?> </div><?php }?>
<div class="agile-tables">
<div class="w3l-table-info">
<h2>Manage Enquiries</h2>
<table id="table">
<thead>
<tr>
<th>Ticket id</th>
<th>Name</th>
<th>Mobile No./ Email</th>
Page 56 of 83

<th>Subject </th>
<th>Description </th>
<th>Posting date </th>
<th>Action </th>

</tr>
</thead>
<tbody>
<?php $sql = "SELECT * from tblenquiry";
$query = $dbh -> prepare($sql);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);

if($query->rowCount() > 0)
{
foreach($results as $result)
{ ?>
<tr>
<td width="120">#TCKT-<?php echo
htmlentities($result->id);?></td>
<td width="50"><?php echo htmlentities($result-
>FullName);?></td>
<td width="50"><?php echo
htmlentities($result->MobileNumber);?> /<br />
<?php echo $result->EmailId;?></td>

<td width="200"><?php echo htmlentities($result-


>Subject);?></a></td>
<td width="400"><?php echo htmlentities($result-
>Description);?></td>

<td width="50"><?php echo


htmlentities($result->PostingDate);?></td>
<?php if($result->Status==1)
{
?><td>Read</td>
<?php } else {?>

<td><a href="manage-enquires.php?eid=<?php echo htmlentities($result->id);?>" onclick="return


confirm('Do you really want to read')" >Pending</a>
</td>
<?php } ?>
</tr>
<?php } }?>
</tbody>
</table>
</div>
</table>

</div>
<!-- script-for sticky-nav -->
<script>
$(document).ready(function() {
var navoffeset=$(".header-main").offset().top;
$(window).scroll(function(){
var scrollpos=$(window).scrollTop();
if(scrollpos >=navoffeset){
Page 57 of 83

$(".header-main").addClass("fixed");
}else{
$(".header-main").removeClass("fixed");
}
});

});
</script>
<!-- /script-for sticky-nav -->
<!--inner block start here-->
<div class="inner-block">

</div>
<!--inner block end here-->
<!--copy rights start here-->
<?php include('includes/footer.php');?>
<!--COPY rights end here-->
</div>
</div>
<!--//content-inner-->
<!--/sidebar-menu-->
<?php include('includes/sidebarmenu.php');?>
<div class="clearfix"></div>
</div>
<script>
var toggle = true;

$(".sidebar-icon").click(function() {
if (toggle)
{
$(".page-container").addClass("sidebar-
collapsed").removeClass("sidebar-collapsed-back");
$("#menu
span").css({"position":"absolute"});
}
else
{
$(".page-container").removeClass("sidebar-
collapsed").addClass("sidebar-collapsed-back");
setTimeout(function() {
$("#menu
span").css({"position":"relative"});
}, 400);
}

toggle = !toggle;
});
</script>
<!--js -->
<script src="js/jquery.nicescroll.js"></script>
<script src="js/scripts.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="js/bootstrap.min.js"></script>
<!-- /Bootstrap Core JavaScript -->

</body>
</html>
<?php } ?>
Page 58 of 83

user.php
<?php
class User extends MySQLCN{
function login() {
if($_POST['UserName'] == NULL || $_POST['Password'] == NULL){
return false;
}
$qry = "SELECT *
FROM user
WHERE UserName = '{$_POST['UserName']}' AND Password =
'{$_POST['Password']}'";
$result = $this->select($qry);
if($result != NULL){
$_SESSION['UserID'] = $result[0]['UserID'];
$_SESSION['UserName'] = $result[0]['UserName'];
return true;
}else{
return false;
}
}
}
?>
manage-packages.js
<?php
session_start();
error_reporting(0);
include('includes/config.php');
if(strlen($_SESSION['alogin'])==0)
{
header('location:index.php');
}
else{
?>
<!DOCTYPE HTML>
<html>
<head>
<title>TMS | admin manage packages</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="application/x-javascript"> addEventListener("load", function() { setTimeout(hideURLbar,
0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
<!-- Bootstrap Core CSS -->
<link href="css/bootstrap.min.css" rel='stylesheet' type='text/css' />
<!-- Custom CSS -->
<link href="css/style.css" rel='stylesheet' type='text/css' />
<link rel="stylesheet" href="css/morris.css" type="text/css"/>
<!-- Graph CSS -->
<link href="css/font-awesome.css" rel="stylesheet">
<!-- jQuery -->
<script src="js/jquery-2.1.4.min.js"></script>
<!-- //jQuery -->
<!-- tables -->
<link rel="stylesheet" type="text/css" href="css/table-style.css" />
<link rel="stylesheet" type="text/css" href="css/basictable.css" />
<script type="text/javascript" src="js/jquery.basictable.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#table').basictable();
Page 59 of 83

$('#table-breakpoint').basictable({
breakpoint: 768
});

$('#table-swap-axis').basictable({
swapAxis: true
});

$('#table-force-off').basictable({
forceResponsive: false
});

$('#table-no-resize').basictable({
noResize: true
});

$('#table-two-axis').basictable();

$('#table-max-height').basictable({
tableWrapper: true
});
});
</script>
<!-- //tables -->
<link href='//fonts.googleapis.com/css?family=Roboto:700,500,300,100italic,100,400' rel='stylesheet'
type='text/css'/>
<link href='//fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet' type='text/css'>
<!-- lined-icons -->
<link rel="stylesheet" href="css/icon-font.min.css" type='text/css' />
<!-- //lined-icons -->
</head>
<body>
<div class="page-container">
<!--/content-inner-->
<div class="left-content">
<div class="mother-grid-inner">
<!--header start here-->
<?php include('includes/header.php');?>
<div class="clearfix"> </div>
</div>
<!--heder end here-->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="index.html">Home</a><i class="fa fa-angle-
right"></i>Manage Packages</li>
</ol>
<div class="agile-grids">
<!-- tables -->

<div class="agile-tables">
<div class="w3l-table-info">
<h2>Manage Packages</h2>
<table id="table">
<thead>
<tr>
<th>#</th>
<th >Name</th>
<th>Type</th>
<th>Location</th>
<th>Price</th>
Page 60 of 83

<th>Creation Date</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php $sql = "SELECT * from TblTourPackages";
$query = $dbh -> prepare($sql);
//$query -> bindParam(':city', $city, PDO::PARAM_STR);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $result)
{ ?>
<tr>
<td><?php echo htmlentities($cnt);?></td>
<td><?php echo htmlentities($result-
>PackageName);?></td>
<td><?php echo htmlentities($result-
>PackageType);?></td>
<td><?php echo htmlentities($result-
>PackageLocation);?></td>
<td>Rs.<?php echo htmlentities($result-
>PackagePrice);?></td>
<td><?php echo htmlentities($result-
>Creationdate);?></td>
<td><a href="update-package.php?pid=<?php echo
htmlentities($result->PackageId);?>"><button type="button" class="btn btn-primary btn-
block">View Details</button></a></td>
</tr>
<?php $cnt=$cnt+1;} }?>
</tbody>
</table>
</div>
</table>

</div>
<!-- script-for sticky-nav -->
<script>
$(document).ready(function() {
var navoffeset=$(".header-main").offset().top;
$(window).scroll(function(){
var scrollpos=$(window).scrollTop();
if(scrollpos >=navoffeset){
$(".header-main").addClass("fixed");
}else{
$(".header-main").removeClass("fixed");
}
});

});
</script>
<!-- /script-for sticky-nav -->
<!--inner block start here-->
<div class="inner-block">

</div>
Page 61 of 83

<!--inner block end here-->


<!--copy rights start here-->
<?php include('includes/footer.php');?>
<!--COPY rights end here-->
</div>
</div>
<!--//content-inner-->
<!--/sidebar-menu-->
<?php include('includes/sidebarmenu.php');?>
<div class="clearfix"></div>
</div>
<script>
var toggle = true;

$(".sidebar-icon").click(function() {
if (toggle)
{
$(".page-container").addClass("sidebar-
collapsed").removeClass("sidebar-collapsed-back");
$("#menu
span").css({"position":"absolute"});
}
else
{
$(".page-container").removeClass("sidebar-
collapsed").addClass("sidebar-collapsed-back");
setTimeout(function() {
$("#menu
span").css({"position":"relative"});
}, 400);
}

toggle = !toggle;
});
</script>
<!--js -->
<script src="js/jquery.nicescroll.js"></script>
<script src="js/scripts.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="js/bootstrap.min.js"></script>
<!-- /Bootstrap Core JavaScript -->

</body>
</html>
<?php } ?>

update-package.php
<?php
session_start();
error_reporting(0);
include('includes/config.php');
if(strlen($_SESSION['alogin'])==0)
{
header('location:index.php');
}
else{
$pid=intval($_GET['pid']);
if(isset($_POST['submit']))
{
Page 62 of 83

$pname=$_POST['packagename'];
$ptype=$_POST['packagetype'];
$plocation=$_POST['packagelocation'];
$pprice=$_POST['packageprice'];
$pfeatures=$_POST['packagefeatures'];
$pdetails=$_POST['packagedetails'];
$pimage=$_FILES["packageimage"]["name"];
$sql="update TblTourPackages set
PackageName=:pname,PackageType=:ptype,PackageLocation=:plocation,PackagePrice=:pprice,Packa
geFetures=:pfeatures,PackageDetails=:pdetails where PackageId=:pid";
$query = $dbh->prepare($sql);
$query->bindParam(':pname',$pname,PDO::PARAM_STR);
$query->bindParam(':ptype',$ptype,PDO::PARAM_STR);
$query->bindParam(':plocation',$plocation,PDO::PARAM_STR);
$query->bindParam(':pprice',$pprice,PDO::PARAM_STR);
$query->bindParam(':pfeatures',$pfeatures,PDO::PARAM_STR);
$query->bindParam(':pdetails',$pdetails,PDO::PARAM_STR);
$query->bindParam(':pid',$pid,PDO::PARAM_STR);
$query->execute();
$msg="Package Updated Successfully";
}

?>
<!DOCTYPE HTML>
<html>
<head>
<title>TMS | Admin Package Creation</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="Pooled Responsive web template, Bootstrap Web Templates, Flat
Web Templates, Android Compatible web template,
Smartphone Compatible web template, free webdesigns for Nokia, Samsung, LG, SonyEricsson,
Motorola web design" />
<script type="application/x-javascript"> addEventListener("load", function() { setTimeout(hideURLbar,
0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
<link href="css/bootstrap.min.css" rel='stylesheet' type='text/css' />
<link href="css/style.css" rel='stylesheet' type='text/css' />
<link rel="stylesheet" href="css/morris.css" type="text/css"/>
<link href="css/font-awesome.css" rel="stylesheet">
<script src="js/jquery-2.1.4.min.js"></script>
<link href='//fonts.googleapis.com/css?family=Roboto:700,500,300,100italic,100,400' rel='stylesheet'
type='text/css'/>
<link href='//fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="css/icon-font.min.css" type='text/css' />
<style>
.errorWrap {
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #dd3d36;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
.succWrap{
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
border-left: 4px solid #5cb85c;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
Page 63 of 83

box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);


}
</style>

</head>
<body>
<div class="page-container">
<!--/content-inner-->
<div class="left-content">
<div class="mother-grid-inner">
<!--header start here-->
<?php include('includes/header.php');?>

<div class="clearfix"> </div>


</div>
<!--heder end here-->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="index.html">Home</a><i class="fa fa-angle-
right"></i>Update Tour Package </li>
</ol>
<!--grid-->
<div class="grid-form">

<!---->
<div class="grid-form1">
<h3>Update Package</h3>
<?php if($error){?><div class="errorWrap"><strong>ERROR</strong>:<?php echo
htmlentities($error); ?> </div><?php }
else if($msg){?><div class="succWrap"><strong>SUCCESS</strong>:<?
php echo htmlentities($msg); ?> </div><?php }?>
<div class="tab-content">
<div class="tab-pane active" id="horizontal-form">

<?php
$pid=intval($_GET['pid']);
$sql = "SELECT * from TblTourPackages where PackageId=:pid";
$query = $dbh -> prepare($sql);
$query -> bindParam(':pid', $pid, PDO::PARAM_STR);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $result)
{ ?>

<form class="form-horizontal" name="package"


method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="focusedinput" class="col-
sm-2 control-label">Package Name</label>
<div class="col-sm-8">
<input type="text"
class="form-control1" name="packagename" id="packagename" placeholder="Create Package"
value="<?php echo htmlentities($result->PackageName);?>" required>
</div>
</div>
<div class="form-group">
Page 64 of 83

<label for="focusedinput" class="col-


sm-2 control-label">Package Type</label>
<div class="col-sm-8">
<input type="text"
class="form-control1" name="packagetype" id="packagetype" placeholder=" Package Type eg- Family
Package / Couple Package" value="<?php echo htmlentities($result->PackageType);?>" required>
</div>
</div>

<div class="form-group">
<label for="focusedinput" class="col-
sm-2 control-label">Package Location</label>
<div class="col-sm-8">
<input type="text"
class="form-control1" name="packagelocation" id="packagelocation" placeholder=" Package Location"
value="<?php echo htmlentities($result->PackageLocation);?>" required>
</div>
</div>

<div class="form-group">
<label for="focusedinput" class="col-
sm-2 control-label">Package Price in INR</label>
<div class="col-sm-8">
<input type="text"
class="form-control1" name="packageprice" id="packageprice" placeholder=" Package Price is USD"
value="<?php echo htmlentities($result->PackagePrice);?>" required>
</div>
</div>

<div class="form-group">
<label for="focusedinput" class="col-
sm-2 control-label">Package Features</label>
<div class="col-sm-8">
<input type="text"
class="form-control1" name="packagefeatures" id="packagefeatures" placeholder="Package Features
Eg-free Pickup-drop facility" value="<?php echo htmlentities($result->PackageFetures);?>" required>
</div>
</div>

<div class="form-group">
<label for="focusedinput" class="col-
sm-2 control-label">Package Details</label>
<div class="col-sm-8">
<textarea class="form-control"
rows="5" cols="50" name="packagedetails" id="packagedetails" placeholder="Package Details"
required><?php echo htmlentities($result->PackageDetails);?></textarea>
</div>
</div>

<div class="form-group">
<label for="focusedinput" class="col-sm-2 control-label">Package Image</label>
<div class="col-sm-8">
<img src="pacakgeimages/<?php echo htmlentities($result->PackageImage);?>"
width="200">&nbsp;&nbsp;&nbsp;<a href="change-image.php?imgid=<?php echo
htmlentities($result->PackageId);?>">Change Image</a>
</div>
</div>
Page 65 of 83

<div class="form-group">
<label for="focusedinput" class="col-
sm-2 control-label">Last Updation Date</label>
<div class="col-sm-8">
<?php echo htmlentities($result->UpdationDate);?>
</div>
</div>
<?php }} ?>

<div class="row">
<div class="col-sm-8 col-sm-offset-2">
<button type="submit" name="submit" class="btn-primary
btn">Update</button>
</div>
</div>

</div>

</form>

<div class="panel-footer">

</div>
</form>
</div>
</div>
<!--//grid-->

<!-- script-for sticky-nav -->


<script>
$(document).ready(function() {
var navoffeset=$(".header-main").offset().top;
$(window).scroll(function(){
var scrollpos=$(window).scrollTop();
if(scrollpos >=navoffeset){
$(".header-main").addClass("fixed");
}else{
$(".header-main").removeClass("fixed");
}
});

});
</script>
<!-- /script-for sticky-nav -->
<!--inner block start here-->
<div class="inner-block">

</div>
<!--inner block end here-->
<!--copy rights start here-->
Page 66 of 83

<?php include('includes/footer.php');?>
<!--COPY rights end here-->
</div>
</div>
<!--//content-inner-->
<!--/sidebar-menu-->
<?php include('includes/sidebarmenu.php');?>
<div class="clearfix"></div>
</div>
<script>
var toggle = true;

$(".sidebar-icon").click(function() {
if (toggle)
{
$(".page-container").addClass("sidebar-
collapsed").removeClass("sidebar-collapsed-back");
$("#menu
span").css({"position":"absolute"});
}
else
{
$(".page-container").removeClass("sidebar-
collapsed").addClass("sidebar-collapsed-back");
setTimeout(function() {
$("#menu
span").css({"position":"relative"});
}, 400);
}

toggle = !toggle;
});
</script>
<!--js -->
<script src="js/jquery.nicescroll.js"></script>
<script src="js/scripts.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="js/bootstrap.min.js"></script>
<!-- /Bootstrap Core JavaScript -->

</body>
</html>
<?php } ?>

dashboard.php
<?php
session_start();
include('includes/config.php');
if(strlen($_SESSION['alogin'])==0)
{
header('location:index.php');
}
else{
?>
<!DOCTYPE HTML>
<html>
<head>
<title>TMS | Admin Dashboard</title>
Page 67 of 83

<meta name="viewport" content="width=device-width, initial-scale=1">


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="application/x-javascript"> addEventListener("load", function() { setTimeout(hideURLbar,
0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
<!-- Bootstrap Core CSS -->
<link href="css/bootstrap.min.css" rel='stylesheet' type='text/css' />
<!-- Custom CSS -->
<link href="css/style.css" rel='stylesheet' type='text/css' />
<link rel="stylesheet" href="css/morris.css" type="text/css"/>
<!-- Graph CSS -->
<link href="css/font-awesome.css" rel="stylesheet">
<!-- jQuery -->
<script src="js/jquery-2.1.4.min.js"></script>
<!-- //jQuery -->
<link href='//fonts.googleapis.com/css?family=Roboto:700,500,300,100italic,100,400' rel='stylesheet'
type='text/css'/>
<link href='//fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet' type='text/css'>
<!-- lined-icons -->
<link rel="stylesheet" href="css/icon-font.min.css" type='text/css' />
<!-- //lined-icons -->
</head>
<body>
<div class="page-container">
<!--/content-inner-->
<div class="left-content">
<div class="mother-grid-inner">
<!--header start here-->
<?php include('includes/header.php');?>
<!--header end here-->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="index.html">Home</a> <i class="fa fa-angle-
right"></i></li>
</ol>
<!--four-grids here-->
<div class="four-grids">
<div class="col-md-3 four-grid">
<div class="four-agileits">
<div class="icon">
<i class="glyphicon glyphicon-user" aria-
hidden="true"></i>
</div>
<div class="four-text">
<h3>User</h3>

<?php $sql = "SELECT id from tblusers";


$query = $dbh -> prepare($sql);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=$query->rowCount();
?> <h4> <?php echo htmlentities($cnt);?>
</h4>

</div>

</div>
</div>
<div class="col-md-3 four-grid">
<div class="four-agileinfo">
Page 68 of 83

<div class="icon">
<i class="glyphicon glyphicon-list-alt" aria-
hidden="true"></i>
</div>
<div class="four-text">
<h3>Bookings</h3>
<?php $sql1 = "SELECT
BookingId from tblbooking";
$query1 = $dbh -> prepare($sql1);
$query1->execute();
$results1=$query1->fetchAll(PDO::FETCH_OBJ);
$cnt1=$query1->rowCount();
?>
<h4><?php echo
htmlentities($cnt1);?></h4>

</div>

</div>
</div>
<div class="col-md-3 four-grid">
<div class="four-w3ls">
<div class="icon">
<i class="glyphicon glyphicon-folder-open"
aria-hidden="true"></i>
</div>
<div class="four-text">
<h3>Enquiries</h3>
<?php $sql2 =
"SELECT id from tblenquiry";
$query2= $dbh -> prepare($sql2);
$query2->execute();
$results2=$query2->fetchAll(PDO::FETCH_OBJ);
$cnt2=$query2->rowCount();
?>
<h4><?php echo
htmlentities($cnt2);?></h4>

</div>

</div>
</div>
<div class="col-md-3 four-grid">
<div class="four-wthree">
<div class="icon">
<i class="glyphicon glyphicon-briefcase" aria-
hidden="true"></i>
</div>
<div class="four-text">
<h3>Toatal packages</h3>

<?php $sql3 = "SELECT PackageId from tbltourpackages";


$query3= $dbh -> prepare($sql3);
$query3->execute();
$results3=$query3->fetchAll(PDO::FETCH_OBJ);
$cnt3=$query3->rowCount();
?>
<h4><?php echo
htmlentities($cnt3);?></h4>
Page 69 of 83

</div>

</div>
</div>
<div class="clearfix"></div>
</div>

<div class="four-grids">
<div class="col-md-3 four-grid">
<div class="four-w3ls">
<div class="icon">
<i class="glyphicon glyphicon-folder-open"
aria-hidden="true"></i>
</div>
<div class="four-text">
<h3>Issues Riaised</h3>
<?php $sql5 =
"SELECT id from tblissues";
$query5= $dbh -> prepare($sql5);
$query5->execute();
$results5=$query5->fetchAll(PDO::FETCH_OBJ);
$cnt5=$query5->rowCount();
?>
<h4><?php echo
htmlentities($cnt5);?></h4>

</div>

</div>
</div>

<div class="clearfix"></div>
</div>
<!--//four-grids here-->

<div class="inner-block">

</div>
<!--inner block end here-->
<!--copy rights start here-->
<?php include('includes/footer.php');?>
</div>
</div>

<!--/sidebar-menu-->
<?php include('includes/sidebarmenu.php');?>
<div class="clearfix"></div>
</div>
<script>
var toggle = true;

$(".sidebar-icon").click(function() {
if (toggle)
{
$(".page-container").addClass("sidebar-
collapsed").removeClass("sidebar-collapsed-back");
Page 70 of 83

$("#menu
span").css({"position":"absolute"});
}
else
{
$(".page-container").removeClass("sidebar-
collapsed").addClass("sidebar-collapsed-back");
setTimeout(function() {
$("#menu
span").css({"position":"relative"});
}, 400);
}

toggle = !toggle;
});
</script>
<!--js -->
<script src="js/jquery.nicescroll.js"></script>
<script src="js/scripts.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="js/bootstrap.min.js"></script>
<!-- /Bootstrap Core JavaScript -->
<!-- morris JavaScript -->
<script src="js/raphael-min.js"></script>
<script src="js/morris.js"></script>
<script>
$(document).ready(function() {
//BOX BUTTON SHOW AND CLOSE
jQuery('.small-graph-box').hover(function() {
jQuery(this).find('.box-button').fadeIn('fast');
}, function() {
jQuery(this).find('.box-button').fadeOut('fast');
});
jQuery('.small-graph-box .box-close').click(function() {
jQuery(this).closest('.small-graph-box').fadeOut(200);
return false;
});

//CHARTS
function gd(year, day, month) {
return new Date(year, month - 1, day).getTime();
}

graphArea2 = Morris.Area({
element: 'hero-area',
padding: 10,
behaveLikeLine: true,
gridEnabled: false,
gridLineColor: '#dddddd',
axes: true,
resize: true,
smooth:true,
pointSize: 0,
lineWidth: 0,
fillOpacity:0.85,
data: [
{period: '2014 Q1', iphone: 2668, ipad: null, itouch: 2649},
{period: '2014 Q2', iphone: 15780, ipad: 13799, itouch: 12051},
{period: '2014 Q3', iphone: 12920, ipad: 10975, itouch: 9910},
Page 71 of 83

{period: '2014 Q4', iphone: 8770, ipad: 6600, itouch: 6695},


{period: '2015 Q1', iphone: 10820, ipad: 10924, itouch: 12300},
{period: '2015 Q2', iphone: 9680, ipad: 9010, itouch: 7891},
{period: '2015 Q3', iphone: 4830, ipad: 3805, itouch: 1598},
{period: '2015 Q4', iphone: 15083, ipad: 8977, itouch: 5185},
{period: '2016 Q1', iphone: 10697, ipad: 4470, itouch: 2038},
{period: '2016 Q2', iphone: 8442, ipad: 5723, itouch: 1801}
],
lineColors:['#ff4a43','#a2d200','#22beef'],
xkey: 'period',
redraw: true,
ykeys: ['iphone', 'ipad', 'itouch'],
labels: ['All Visitors', 'Returning Visitors', 'Unique Visitors'],
pointSize: 2,
hideHover: 'auto',
resize: true
});

});
</script>
</body>
</html>
<?php } ?>

header.php
<div id="header">
<h1 id="logo-text"><a href=".">Attendance Management System</a></h1>
<p id="slogan">3 rd Year project</p>
<div id="header-links">
<p>
<a href=".">Home</a> |
<a href="AddAttendance.php">Add Attendance</a> |
<a href="EmployeeRegister.php">Employee Register</a>
</p>
</div>
</div>
signup.php
<?php
error_reporting(0);
if(isset($_POST['submit']))
{
$fname=$_POST['fname'];
$mnumber=$_POST['mobilenumber'];
$email=$_POST['email'];
$password=md5($_POST['password']);
$sql="INSERT INTO tblusers(FullName,MobileNumber,EmailId,Password)
VALUES(:fname,:mnumber,:email,:password)";
$query = $dbh->prepare($sql);
$query->bindParam(':fname',$fname,PDO::PARAM_STR);
$query->bindParam(':mnumber',$mnumber,PDO::PARAM_STR);
$query->bindParam(':email',$email,PDO::PARAM_STR);
$query->bindParam(':password',$password,PDO::PARAM_STR);
$query->execute();
$lastInsertId = $dbh->lastInsertId();
if($lastInsertId)
{
$_SESSION['msg']="You are Scuccessfully registered. Now you can login ";
header('location:thankyou.php');
Page 72 of 83

}
else
{
$_SESSION['msg']="Something went wrong. Please try again.";
header('location:thankyou.php');
}
}
?>
<!--Javascript for check email availabilty-->
<script>
function checkAvailability() {

$("#loaderIcon").show();
jQuery.ajax({
url: "check_availability.php",
data:'emailid='+$("#email").val(),
type: "POST",
success:function(data){
$("#user-availability-status").html(data);
$("#loaderIcon").hide();
},
error:function (){}
});
}
</script>

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">


<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-
dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>

</div>
<section>
<div class="modal-body modal-spa">
<div class="login-grids">
<div class="login">
<div class="login-left">
<ul>
<li><a
class="fb" href="#"><i></i>Facebook</a></li>
<li><a
class="goog" href="#"><i></i>Google</a></li>

</ul>
</div>
<div class="login-
right">
<form
name="signup" method="post">

<h3>Create your account </h3>

<input type="text" value="" placeholder="Full Name" name="fname"


autocomplete="off" required="">
<input type="text" value="" placeholder="Mobile number"
maxlength="10" name="mobilenumber" autocomplete="off" required="">
Page 73 of 83

<input type="text" value="" placeholder="Email id" name="email" id="email"


onBlur="checkAvailability()" autocomplete="off" required="">
<span id="user-availability-status" style="font-size:12px;"></span>
<input type="password" value="" placeholder="Password" name="password" required="">
<input
type="submit" name="submit" id="submit" value="CREATE ACCOUNT">
</form>
</div>
<div
class="clearfix"></div>
</div>
<p>By logging in you
agree to our <a href="page.php?type=terms">Terms and Conditions</a> and <a href="page.php?
type=privacy">Privacy Policy</a></p>
</div>
</div>
</section>
</div>
</div>
</div>

signin.php

<?php
session_start();
if(isset($_POST['signin']))
{
$email=$_POST['email'];
$password=md5($_POST['password']);
$sql ="SELECT EmailId,Password FROM tblusers WHERE EmailId=:email and Password=:password";
$query= $dbh -> prepare($sql);
$query-> bindParam(':email', $email, PDO::PARAM_STR);
$query-> bindParam(':password', $password, PDO::PARAM_STR);
$query-> execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
if($query->rowCount() > 0)
{
$_SESSION['login']=$_POST['email'];
echo "<script type='text/javascript'> document.location = 'package-list.php'; </script>";
} else{

echo "<script>alert('Invalid Details');</script>";

?>

<div class="modal fade" id="myModal4" tabindex="-1" role="dialog" aria-


labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content modal-info">
<div class="modal-header">
<button type="button" class="close" data-
dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>

</div>
Page 74 of 83

<div class="modal-body modal-spa">


<div class="login-grids">
<div class="login">
<div class="login-left">
<ul>
<li><a
class="fb" href="#"><i></i>Facebook</a></li>
<li><a
class="goog" href="#"><i></i>Google</a></li>

</ul>
</div>
<div class="login-right">
<form method="post">
<h3>Signin with your
account </h3>
<input type="text" name="email" id="email" placeholder="Enter your Email" required="">
<input type="password" name="password" id="password" placeholder="Password" value=""
required="">
<h4><a href="forgot-
password.php">Forgot password</a></h4>

<input type="submit"
name="signin" value="SIGNIN">
</form>
</div>
<div class="clearfix"></div>

</div>
<p>By logging in you agree to our <a
href="page.php?type=terms">Terms and Conditions</a> and <a href="page.php?
type=privacy">Privacy Policy</a></p>
</div>
</div>
</div>
</div>
</div>

SCREENSHOTS
Page 75 of 83
Page 76 of 83
Page 77 of 83
Page 78 of 83
Page 79 of 83
Page 80 of 83
Page 81 of 83

TESTING METHODOLOGY

Manual testing is being performed at different stages of the development. Being a low
scale application, automated testing will be a disadvantage.

Unit Testing This initial stage in testing normally carried out by the developer who
wrote the code and sometimes by a peer using the white box testing technique.

Integration Testing This stage is carried out in two modes? viz? As a complete
package or as an increment to the earlier package. Most of the time black box testing
technique is used. However, sometimes a combination of Black and White box testing
is also used in this stage.

System Testing In this stage the software is tested from all possible dimensions for
all intended purposes and platforms. In this stage Black box testing technique is
normally used.

Regression Testing is any type of software testing that seeks to uncover new
errors, or regressions, in existing functionality after changes have been made to the
software, such as functional enhancements, patches or configuration changes
Page 82 of 83

TEST REPORT

Test Case 1: Enter username & password for user.


Execution
Steps 1. User name and Password entered.
Expected
Results 1. Home page execution.
Status Ok

Test Case 2: Select package booking.


Execution
Steps 1. Pick a tour package.
2. Enter the details of passengers and dates.
3. Click on book.
Expected
Results Tour package booked.
Status Ok

Test Case 3: Administrator cancellation / approval.


Execution 1. Enter username and password to admin login.
Steps 2. Select package booking.
3. Click on confirm / cancel.

Expected
Results Tour package cancelled or confirmed.
Status OK

Test Case 4: Manage issues.


Execution 1. User login.
Steps 2. Click on issues and enter details.
3. Click on send message.

Expected
Results 1. Issues manage send to the administrator.
Status OK

CONCLUSION

“ONLINE TOURISM MANAGEMENT SYSTEM” is a very powerful project has been


necessary for those who want to book tour package process online in a user friendly
way. In near future this project runs on any platform from anywhere
Page 83 of 83

One application can work in different machines.


Application totally maintain by administrator.

Thus the unsigned project carried out will be beneficial in the years to come.

FUTURE SCOPE OF THE PROJECT

 Many Administrator from different place can update database using online

facility.

 User can access this project from different places in the application process.

 A user can get package updates in their online accounts.

REFERENCES
Bibliography:
Books:

i) Database System Concepts by Henry F. Korth, Abraham Silberschatz, S.


Sudarshan
ii) Object-Oriented Software Engineering: Using UML, Patterns and Java by Bernd
Bruegge, Allen H. Dutoit.
iii) PHP & MYSQL BIBLE

Website:

i) www.google.co.in
ii) www.w3school.org
iii) www.php.net
iv) www.wikipedia.org

You might also like