You are on page 1of 61

AK HOLIDAYS BOOKING SYSTEM

(A Project report submitted in the partial fulfilment of the requirements for the award of the Degree of)

BACHELOR OF COMPUTER SCIENCE

Submitted By
ANDRU PRADHEEP S AROCKIA PRABHU A
(REG.NO: 2221128008) (REG.NO: 2221128009)

Under the Guidance of


Mr.A.JOSE INIGO RAVI M.C.A., M.Phil.,
Assistant Professor
Department of Computer Science

DEPARTMENT OF COMPUTER SCIENCE


ANANDA COLLEGE
(Accredited with ‘B’ Grade by NAAC)
(Affiliated to Alagappa University, Karaikudi)
(UGC Recognized under 2(f) and 12(b) Institution)
Devakottai - 630 303

April – 2024
BONAFIDE CERTFICATE

This is to certify that this project entitled “AK HOLIDAYS BOOKING SYSTEM”
is the bonafide work done by S.ANDRU PRADHEEP (2221128008) & A.AROCKIA
PRABHU (2221128009) in partial fulfilment of the award of the degree of Bachelor of
Computer Science, under my Guidance

INTERNAL GUIDE HEAD OF THE DEPARTMENT

VIVA-VOCE Examination held on ________________________ at Ananda College,


Devakottai.

INTERNAL EXAMINAR EXTERNAL EXAMINAR


S.ANDRU PRADHEEP Reg.No: 2221128008
A.AROCKIA PRABHU Reg.No: 2221128009
Department of Computer Science
Ananda College
Devakottai-630303

DECLARATION

I hereby declare that the project certified on “AK HOLIDAYS BOOKING


SYSTEM” submitted in the partial fulfilment of the award of the degree of Bachelors in
Computer Science. This is my original work and that has not previously formatted the basis
for the award of any degree, diploma or any other similar titles.

Place :Devakottai Signature of the Candidate

Date : (S.ANDRU PRADHEEP),

(A.AROCKIA PRABHU)
ACKNOWLEDGEMENT

First and foremost we would like to THANK GOD for the successful completion of
this project.

We give our grateful thanks to our parents , family members and friends.
.
We are delightful to thanks Rev. Dr. S. Sebastian, Secretary of our college for
providing us all the necessary facilities to accomplish this project work successfully.

We express our sincere thanks to Rev.Dr.S. John Vasantha Kumar, Principal of


our college for his encouragement throughout this project work.

We feel privileged in extending our sense of gratitude to Mr.A.Jose Inigo Ravi


M.C.A.,M.Phil,.Assistance professor, Department of Computer Science, Ananda College
who served as real guiding and inspiring force to complete this project work.

We also thanks to our system admin Mr.A.Jeyakumar, DEEE., DCHT.,


HDCA.,and Lab Assistant Mr.P.Hariharan, BA.B.Ed, for their encouragement and help.

( S.ANDRU PRADHEEP
&
A.AROCKIA PRABHU)
ABSTRACT

Holidays Booking System is to know the package related to the


trip and journey with best provision and trending offers. Searching
will be easy at a single click to fetch the required plan. Nowadays
there are various travel packages are available through the network
the tour Reservation system is not giving an option. It’s providing a
common packages. But this Booking system will allow to choose the
option to all the customers they can choose the plan to explore.
INDEX

S.No Title Pg.no

1 Introduction

2 System Analysis
2.1 Existing System
2.2 Proposed System
2.3 System Study
2.3.1 Feasibility Analysis
2.3.2 Technical Feasibility
2.3.3 Economical Feasibility
3 System Specification
3.1 Hardware Requirements
3.2 Software Requirements
4 Software Description
4.1 Introduction to Frontend
4.1.1 Introduction to PHP
4.1.2 Features
4.1.3 Merits
4.1.4 Demerits
4.1.5 Laying out of CSS
4.2 Introduction to Backend
4.2.1 MY SQL
4.2.2 Php Myadmin
4.2.3 Appache web server
5 System Design
5.1 Module Description
5.2 Architectural Diagram
5.3 Dataflow Diagram
5.4 ER- Diagram
5.5 Database Design

6 System Testing And Implementation


6.1 Testing Introduction
6.2 Testing Methods
6.2.1 White Box Testing
6.2.2 Black Box Testing
6.3 Unit Testing
6.4 Integration Testing
6.5 Validation Testing
6.6 Testing Cases
6.7 System Implementation
7 Conclusion
8 Bibliography
9 Appendix
9.1 Sample Source Code
9.2 Sample Screenshot
1. INTRODUCTION
In this project a detailed review of Holidays Booking system. The main objectives of
this website to know the package related to the trip and journey with best facility and current
offer. Searching will be very easy. At a single click will be able to fetch the required data.
Nowadays, there are multiple travel packages existing from the various websites to
approximately all the locations over the world. A customer demonstrates that it is extremely
complicated to search for the multiple of the packages as for significant websites, contact,
and communication with the travel agents and more options that exists in it which is a passive
method and time-consuming. This project will assist travellers to recommend the best Travel
Package among all the packages relevant information such as image, hotel facility, Google
map facility, transport facility and description about the places where they want to visit. The
tour and travels management system will be helpful for tourism.
2. SYSTEM ANALYSIS

2.1 EXISTING SYSTEM


The present systems are inadequate in providing information and advices to the
agencies and customers about tour plans. Often agencies are compelled to rely on local
information sources and count on their own experiences regarding time and cost. Through
phone call they have to get information. In the present system a customer has to approach
various agencies to find details of places and to book tickets .This often requires a lot of time
and effort. A customer may not get the desired information from these offices and often the
customer may be misguided.

2.2 PROPOSED SYSTEM


Holidays Booking System is an integrated software developed for tour operating
companies. The main aim of this project is to help the tourism companies to manage their
customers and agents. It makes all operations of the tour company easy and accurate. The
standalone platform makes tourism management easy by handling agencies requests and
providing services for the customers located at different parts of the various cities. Different
modules have been incorporated in this project to handle different parts and sectors of the
tour management field.

2.3 SYSTEM STUDY

Feasibility is the study of impact, which happens in the organization by the


development of a system. The impact can be either positive or negative. When the positives
nominate the negatives, then the system is considered feasible. Here the feasibility study can
be performed in two ways such as technical feasibility and Economical Feasibility. Three key
considerations involved in the feasibility analysis are

 ECONOMICAL FEASIBILITY

 TECHNICAL FEASIBILITY
2.3.2 TECHNICAL FEASIBILITY

Since there will not be much difficulty in getting required resources for the
development and maintaining the system as well. All the resources needed for the
development of the software as well as the maintenance of the same is available in the
organization here we are utilizing the resources which are available already.

2.3.3. ECONOMICAL FEASIBILITY

Development of this application is highly economically feasible. The


organization needed not spend much money for the development of the system already
available. The only thing is to be done is making an environment for the development with
an effective supervision. If we are doing so, we can attain the maximum usability of the
corresponding resources. Even after the development, the organization will not be in
condition to invest more in the organization. Therefore, the system is economically feasible.
3. SYSTEEM SPECIFICATION

3.1 Hardware Configuration

 Pentium IV Processor

 512 MB RAM

 40GB HDD

 1024 * 768 Resolution Color Monitor

3.2 Software Configuration

 OS : Windows 10

 PHP Triad (PHP5.6, MySQL, Apache, and PHPMyAdmin)


4. SOFTWARE DESCRIPTION

4.1 Introduction to Frontend


4.1.1 PHP
PHP is a general-purpose scripting language geared towards web
development. It was originally created by Danish-Canadian programmer Rasmus
Lerdorf in 1993 and released in 1995. The PHP reference implementation is now
produced by the PHP Group. PHP was originally an abbreviation of Personal Home
Page, but it now stands for the recursive initialize PHP: Hypertext Pre-processor.

PHP code is usually processed on a web server by a PHP interpreter implemented as


a module, a daemon or a Common Gateway Interface (CGI) executable. On a web server, the
result of the interpreted and executed PHP code—which may be any type of data, such as
generated HTML or binary image data—would form the whole or part of an HTTP response.
Various web template systems, web content management systems, and web frameworks exist
that can be employed to orchestrate or facilitate the generation of that response. Additionally,
PHP can be used for many programming tasks outside the web context, such as
standalone graphical applications and robotic drone control. PHP code can also be directly
executed from the command line.

The standard PHP interpreter, powered by the Zend Engine, is free software released under
the PHP License. PHP has been widely ported and can be deployed on most web servers on a
variety of operating systems and platforms.

4.1.2 PHP FEATURES


As PHP can do anything related to server-side programming which contains the
backend of any web page, it holds a lot of unique features within it. The main purpose of
PHP design is web development. Let us look into some of the unique features of PHP:

 Simple, Familiar and ease of use: Its popularly known for its simplicity, familiarity
and easy to learn the language as the syntax is similar to that of ‘C’ or Pascal language.
So the language is very logical and well organized general-purpose programming
language. Even people with a normal programming background can easily understand
and capture the use of language. PHP is very advantageous for new users as its a very
reliable, fluent, organized, clean, demandable and efficient. The main strength of PHP is
the availability of rich pre-defined functions. The core distribution helps the developers
implement dynamic websites very easily with secured data. PHP applications are very
easy to optimize.
 Loosely typed language: PHP encourages the use of variables without declaring its
data types. So this is taken care at the execution time depending on the value assigned
to the variable. Even the variable name can be changed dynamically.
 Flexibility: PHP is known for its flexibility and embedded nature as it can be well
integrated with HTML, XML, Javascript and many more. PHP can run on multiple
operating systems like Windows, Unix, Mac OS, Linux, etc. The PHP scripts can easily
run on any device like laptops, mobiles, tablets, and computer. It is very comfortably
integrated with various Databases. Desktop applications are created using advanced
PHP features. The executable PHP can also be run on command-line as well as directly
on the machine. Heavyweight applications can be created without a server or browser. It
also acts as an excellent interface with relational databases.
 Open Source: All PHP frameworks are open sources, No payment is required for the
users and its completely free. User can just download PHP and start using for their
applications or projects. Even in companies, the total cost is reduced for software
development providing more reliability and flexibility. It supports a popular range of
databases like MySQL, SQLite, Oracle, Sybase, Informix, and PostgreSQL. PHP
provides libraries to access these databases to interact with web servers. Developers are
free to post errors, inspect codes and can contribute to code as well as bug fixing. Many
frameworks like Codeignitor, Zend Framework, CakePHP make use of PHP. Even
many popular content management systems like WordPress, Joomla and Drupal use
PHP as prime language. Because of the above reasons many web hosting companies and
Internet Service providers prefers PHP.
 Cross-platform compatibility: PHP is multi-platform and known for its portability as
it can run on any operating System and windows environments. The most common are
XAMPP (Windows, Apache Server, MySQL, Perl, and PHP) and LAMP
(Linux, Apache, MySQL, PHP). As PHP is platform-independent, it’s very easy to
integrate with various databases and other technologies without re-implementation.
4.1.3 Merits of PHP :
1. The most important advantage of PHP is that it’s open-source and free from cost. It can
be downloaded anywhere and is readily available to use for events or web applications.
2. It is platform-independent. PHP-based applications can run on any OS like UNIX,
Linux, Windows, etc.
3. Applications can easily be loaded which are based on PHP and connected to the
database. It’s mainly used due to its faster rate of loading over slow internet speed than
other programming language.
4. It has less learning curve because it is simple and straightforward to use. Someone
familiar with C programming can easily work on PHP.
5. It is more stable for a few years with the assistance of providing continuous support to
various versions.

4.1.4 Demerits of PHP :


1. It is not that secure due to its open-source, because the ASCII text file is often easily
available.
2. It is not suitable for giant content-based web applications.
3. It has a weak type, which can cause incorrect data and knowledge to users.
4. PHP frameworks got to learn to use PHP built-in functionalities to avoid writing
additional code.
5. Using more features of PHP framework and tools cause poor performance of online
applications.

4.1.5 Laying Out Pages with CSS

In Macromedia Dreamweaver 8, you can use CSS styles to lay out your page. You

can either insert div tags manually and apply CSS positioning styles to them, or you can

use Dreamweaver layers to create your layout. A layer in Dreamweaver is an HTML page

element—specifically, a div tag, or any other tag—that has an absolute position assigned
to it. Whether you use CSS, tables, or frames to lay out your pages, Dreamweaver has

rulers and grids for visual guidance in your layout. Dreamweaver also has a tracing image

feature, which you can use to re-create a page design that was created in a graphics

application.

4.2 Introduction of Backend


4.2.1 MYSQL

A database management system (DBMS) such as Access, FileMaker Pro, Oracle

or SQL Server provides you with the software tools you need to organize that data in a

flexible manner. It includes facilities to add, modify or delete data from the database,

ask questions (or queries) about the data stored in the database and produce reports

summarizing selected contents.

MySQL is a multithreaded, multi-user SQL database management system(DBMS).

The basic program runs as a server providing multi-user access to a number of databases.

Originally financed in a similar fashion to the Jobs model, MySQL was owned and

sponsored by a single for-profit firm, the Swedish company MySQL now a subsidiary of

Sun Microsystem , which holds the copyright to most of the codebase. The project’s

source code is available under terms of the GNU General Public Licence, as well as

under a variety of proprietory agreements.

MySQL is a database. The data in MySQL is stored in database objects called

tables. A table is a collections of related data entries and it consists of columns and rows.

Databases are useful when storing information categorically. A company may have a

database with the following tables: “Employees”, “Products”, “Customers” and


“Orders”.

4.2.2 PHP MYADMIN

PhpMyAdmin is an open-source software tool , which is written in PHP. Basically, it


is a third-party tool to manage the tables and data inside the database. phpMyAdmin supports
various type of operations on MariaDB and MySQL. The main purpose of phpMyAdmin is
to handle the administration of MySQL over the web.

It is the most popular application for MySQL database management. We can create,
update, drop, alter, delete, import, and export MySQL database tables by using this software.
phpMyAdmin also supports a wide range of operation like managing databases, relations,
tables, columns, indexes, permissions, and users, etc., on MySQL and MariaDB. These
operations can be performed via user interface, while we still have the ability to execute any
SQL statement.

4.2.3 APPACHE WEB SERVER

Apache is considered open source software, which means the original source code is
freely available for viewing and collaboration. Being open source has made Apache very
popular with developers who have built and configured their own modules to apply specific
functionality and improve on its core features. Apache has been around since 1995 and is
responsible as a core technology that helped spur the initial growth of the internet in its
infancy.

One of the pros of Apache is its ability to handle large amounts of traffic with
minimal configuration. It scales with ease and with its modular functionality at its core, you
can configure Apache to do what you want, how you want it. You can also remove unwanted
modules to make Apache more lightweight and efficient.

Some of the most popular modules that can be added are SSL, Server Side
Programming Support (PHP), and Load Balancing configs to handle large amounts of traffic.
Apache can also be deployed on Linux, MacOS, and Windows. If you learn how to configure
Apache on Linux, you can administer Apache on Windows and Mac. The only difference
would be directory paths and installation processes.

5.SYSTEM DESIGN
5.1 Module Description
5.1.1 Administrator Module
This module provides administrator related functionality. Administrator manages
all information and has access rights to add, delete, edit and view the data related to
places, travels, routes, bookings, Enquiries etc.

Packages—Admin will create the packages and Manage the packages (Create, Update,
delete)

Users- Admin views all Information of all users.

Booking- Admin will responsible for manage booking. Admin can confirm and cancel
a booking of traveler.

Manage issues/ Complaints—Admin can take action on any issue /complaint


raised by user (traveller) and Put remark.

Manage Enquiries—admin can manage all enquiries raised by users(traveller).

Manage pages- Admin can edit the info of all pages that are display on the website,
Dashboard- Here admin can view all count of booking, issues, Enquiries and Users .
Change password--- Admin can change own password.

5.1.2 USER (TRAVELLER) MODULE:

Signup- User can register yourself for booking.


Sign in- Here user can login with valid username and password.

Forgot Password—User can recover his/her own password.

My Profile- user can update own profile.

Tour history-After login user can book any tour that will show in Tour history.
User can cancel his/her booking before 24 hr of travelling.

Change Password----User can own Password.

Write-use—here user can raise any issue related to booking. Cancelation etc.

5.1.3 Guest MODULE:

Guest user can visit the website and view the all content of website. Guest user can also
Enquiry

5.2 ARCHITECTURAL DESIGN

Architectural design encompasses the process of planning, designing, and creating structures
that serve both functional and aesthetic purposes. It involves understanding the needs and
desires of the users, as well as considering various factors such as safety, sustainability,
cultural context, and budget constraints. Architectural design involves conceptualizing the
overall form and layout of a building or space, including considerations of spatial
organization, circulation, materials, and structural systems. Ultimately, architectural design
seeks to create spaces that are not only visually pleasing but also functional, efficient, and
responsive to the needs of the people who will use them.
Architectural Diagram:

5.3 DATA FLOW DIAGRAM


A data flow diagram (DFD) is a graphical representation of the flow of data within a
system or process. It illustrates how data moves from one point to another within the system,
including inputs, outputs, processes, and storage.

In a DFD, the system is represented as a network of interconnected nodes called "entities,"


"processes," "data stores," and "data flows."

a.User
b.Admin
c. Packages
d.
5.4 ER- Diagram
A data flow diagram (DFD) is a graphical representation of the flow of data within a
system or process. It illustrates how data moves from one point to another within the system,
including inputs, outputs, processes, and storage.

In a DFD, the system is represented as a network of interconnected nodes called "entities,"


"processes," "data stores," and "data flows."

 Entities: External entities represent sources or destinations of data, such as users or other
systems.
 Processes: Processes represent activities or transformations that occur within the system.
They take input data, perform some action, and produce output data.
 Data Stores: Data stores represent repositories where data is stored within the system.
 Data Flows: Data flows represent the movement of data between entities, processes, and data
stores.
5.5 Database Design
The data in the system has to be stored and retrieved from database. Designing
the database is part of system design. Data elements and data structures to be stored
have been identified at analysis stage. They are structured and put together to design
the data storage and retrieval system.

Database tables and Structure

Admin Table- This table store the admin login details.

tbluser table: This table store the user personal and login details.
tbltourpackages table: This table store the tour package full details.

tblbooking table: This table store the user booking details.


tblissues table: This table store the user issue details raised by the user

tblenquiry table: This table store the user enquiry details.


6.SYSTEM TESTING AND IMPLEMENTATION

6.1 TESTING INTRODUCTION

System Testing includes testing of a fully integrated software system.


Generally, a computer system is made with the integration of software (any software is only
a single element of a computer system). The software is developed in units and then
interfaced with other software and hardware to create a complete computer system. In other
words, a computer system consists of a group of software to perform the various tasks, but
only software cannot perform the task; for that software must be interfaced with compatible
hardware. System testing is a series of different type of tests with the purpose to exercise and
examine the full working of an integrated software computer system against requirements.

6.2 TESTING METHODS

There are two major type of testing they are

1) White Box Testing.

2) Black Box Testing.

WHITE BOX TESTING

White Box Testing is a testing technique in which software’s internal


structure, design, and coding are tested to verify input-output flow and improve design,
usability, and security. In white box testing, code is visible to testers, so it is also called
Clear box testing, Open box testing, Transparent box testing, Code-based testing, and Glass
box testing.

BLACK BOX TESTING


Black box testing is a technique of software testing which examines the
functionality of software without peering into its internal structure or coding. The primary
source of black box testing is a specification of requirements that is stated by the customer.

6.3 UNIT TESTING

Unit Testing is a type of software testing where individual units or


components of a software are tested. The purpose is to validate that each unit of the software
code performs as expected. Unit Testing is done during the development (coding phase) of
an application by the developers. Unit Tests isolate a section of code and verify its
correctness. A unit may be an individual function, method, procedure, module, or object.

In SDLC, STLC, V Model, Unit testing is first level of testing done before
integration testing. Unit testing is a Whitebox testing technique that is usually performed by
the developer. Though, in a practical world due to time crunch or reluctance of developers to
tests, QA engineers also do unit testing.

6.4 INTEGRATION TESTING

Integration testing is the process of testing the interface between two software
units or modules. It focuses on determining the correctness of the interface. The purpose of
integration testing is to expose faults in the interaction between integrated units. Once all the
modules have been unit tested, integration testing is performed.

6.5 VALIDATION TESTING

Validation testing is the process of ensuring that the tested and developed
software satisfies the client /user’s needs. The business requirement logic or scenarios have
to be tested in detail. All the critical functionalities of an application must be tested here.As a
tester, it is always important to know how to verify the business logic or scenarios that are
given to you. One such method that helps in detailed evaluation of the functionalities is the
Validation Process.

6.6 USER ACCEPTANCE TESTING

User Acceptance Testing (UAT), or application testing, is the final stage of


any software development or change request lifecycle before go-live. UAT meaning the final
stage of any development process to determine that the software does what it was designed
to do in real-world situations. Actual users test the software to determine if it does what it
was designed to do in real-world situations, validating changes made and assessing
adherence to their organization’s business requirements. The main purpose of acceptance
testing is to validate end-to-end business flow.

6.7 SYSTEM IMPLEMENTATION

Implementation is the stage in the project where the theoretical design is turned into a
working system. The implementation phase constructs, installs, and operates the new
system. The most crucial stage in achieving a new successful system is that it will work
efficiently and effectively.

There are several activities involved while implementing a new project. They are

 End user training


 End user Education
 Training on the application software
 System Design
 Parallel Run and To New System
 Post implementation Review

END USER TRAINING

End User Implementation means only those specific portions of End User Products,
developed through the use of a Company Toolkit, that (a) implement and are compliant with
all or part of the required portions of Structured Storage for the sole purpose of
implementing and being compliant with such required portions of the AAF Specification;
and (b) are branded with a trademark owned or controlled by End User.

END USER EDUCATION

End-user education is building awareness among employees by equipping them with


the necessary tools and skills required to protect themselves and the company data from loss
or attack.

TRAINING OF APPLICATION SOFTWARE


Software development is part of every business not just for software companies
themselves, but for every company which relies on software to deliver on their core
business. Thus, understanding the key tenets of Successful Software Implementation and
Delivery is valuable in any organization.

SYSTEM DESIGN

System design is the phase that bridges the gap between problem domain and the
existing system in a manageable way.

POST IMPLEMENTATION VIEW

PIER is a tool or standard approach for evaluating the outcome of the project and
determine whether the project is producing the expected benefits to the processes, products
or services. It enables the user to verify that the project or system has achieved its desired
outcome within specified time period and planned cost.
7.CONCLUSION
The Holidays Booking System Project is designed to provide a comprehensive
solution to manage and promote tourism activities. The system is built on PHP,
and it is designed to facilitate various tasks related to tourism, such as reservation
management, itinerary planning, tour management, and customer relationship
management.

In conclusion, the project has successfully achieved its objectives of developing a


reliable and efficient tourism management system that can be used by tour operators,
travel agents, and other stakeholders in the tourism industry. The system has been
designed to provide users with a seamless and user-friendly experience, enabling
them to manage and promote tourism activities more effectively.

The system offers a range of features and functionalities that cater to the needs of
different stakeholders, such as itinerary planning, booking management, customer
management, and reporting. These features provide users with a holistic solution that
can help them manage their tourism operations more efficiently, reduce costs, and
improve customer satisfaction.

Furthermore, the project has identified some areas for improvement and future
development. For instance, the system could be expanded to include features such as
social media integration, mobile app integration, and advanced reporting capabilities.
These enhancements can help to make the system more competitive and better meet
the needs of the evolving tourism industry.

In conclusion, the Tourism Management System Project has provided a valuable


contribution to the tourism industry. It has demonstrated the potential of PHP as a
platform for developing reliable and efficient tourism management systems. The
project has also highlighted the need for ongoing development and innovation in the
tourism industry to keep pace with the changing needs and expectations of customers
and stakeholders.
8.BIBILIOGRAPHY

http://en.wikipedia.org/wiki/ tourism booking_system

http://www.koha.org/about-koha/

http://www.kohadocs.org/usersguide/ch01.html

http://www.kohadocs.org/usersguide/ch01s01.html

http://www.kohadocs.org/usersguide/ch01s02.html

http://www.kohadocs.org/usersguide/ch01s03.html

http://www.kohadocs.org/usersguide/ch01s04.html

WEBSITE REFERENCE

https://www.iconfinder.com/

www.studytonight.com

www.tutlane.com

www.jQuery.com

https://procodeguide.com/

https://www.sensibledev.com/

https://www.c-sharpcorner.com/

https://www.javatpoint.com/
9. APPENDIX
9.1 Source code
Admin Index:
<?php
session_start();
include('includes/config.php');
if(isset($_POST['login']))
{
$uname=$_POST['username'];
$password=md5($_POST['password']);
$sql ="SELECT UserName,Password FROM admin WHERE UserName=:uname and
Password=:password";
$query= $dbh -> prepare($sql);
$query-> bindParam(':uname', $uname, PDO::PARAM_STR);
$query-> bindParam(':password', $password, PDO::PARAM_STR);
$query-> execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
if($query->rowCount() > 0)
{
$_SESSION['alogin']=$_POST['username'];
echo "<script type='text/javascript'> document.location = 'dashboard.php'; </script>";
} else{

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

?>
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Design by foolishdeveloper.com -->
<title>AK|Admin Sign in</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 rel="preconnect" href="https://fonts.gstatic.com" />


<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"
/>
<link
href="https://fonts.googleapis.com/css2?
family=Poppins:wght@300;500;600&display=swap"
rel="stylesheet"
/>
<!--Stylesheet-->
<script src="js/jquery-2.1.4.min.js"></script>
<style media="screen">
*,
*:before,
*:after {
padding: 0;
margin: 0;
box-sizing: border-box;
}
body {
background-color: #080710;
}
.background {
width: 430px;
height: 520px;
position: absolute;
transform: translate(-50%, -50%);
left: 50%;
top: 50%;
}
.background .shape {
height: 200px;
width: 200px;
position: absolute;
border-radius: 50%;
}
.shape:first-child {
background: linear-gradient(#1845ad, #23a2f6);
left: -80px;
top: -80px;
}
.shape:last-child {
background: linear-gradient(to right, #ff512f, #f09819);
right: -30px;
bottom: -80px;
}
form {
height: 520px;
width: 400px;
background-color: rgba(255, 255, 255, 0.13);
position: absolute;
transform: translate(-50%, -50%);
top: 50%;
left: 50%;
border-radius: 10px;
backdrop-filter: blur(10px);
border: 2px solid rgba(255, 255, 255, 0.1);
box-shadow: 0 0 40px rgba(8, 7, 16, 0.6);
padding: 50px 35px;
}
form * {
font-family: "Poppins", sans-serif;
color: #ffffff;
letter-spacing: 0.5px;
outline: none;
border: none;
}
form h3 {
font-size: 32px;
font-weight: 500;
line-height: 42px;
text-align: center;
}

label {
display: block;
margin-top: 30px;
font-size: 16px;
font-weight: 500;
}
input {
display: block;
height: 50px;
width: 100%;
background-color: rgba(255, 255, 255, 0.07);
border-radius: 3px;
padding: 0 10px;
margin-top: 8px;
font-size: 14px;
font-weight: 300;
}
::placeholder {
color: #e5e5e5;
}
.login{
margin-top: 50px;
width: 100%;
background-color: #ffffff;
color: #080710;
padding: 15px 0;
font-size: 18px;
font-weight: 600;
border-radius: 5px;
cursor: pointer;
}
.social {
margin-top: 30px;
display: flex;
}
.social div {
background: red;
width: 150px;
border-radius: 3px;
padding: 5px 10px 10px 5px;
background-color: rgba(255, 255, 255, 0.27);
color: #eaf0fb;
text-align: center;
}
.social div:hover {
background-color: rgba(255, 255, 255, 0.47);
}
.social .fb {
margin-left: 25px;
}
.social i {
margin-right: 4px;
}
.go {
margin-inline: auto;
text-decoration: none;
}
</style>
</head>
<body>
<div class="background">
<div class="shape"></div>
<div class="shape"></div>
</div>
<form method="post">
<h3>Login Here</h3>

<label for="username">Username</label>
<input type="text" placeholder="Username" id="username" name="username"/>

<label for="password">Password</label>
<input type="password" placeholder="Password" id="password" name="password"/>

<div class="login-w3">
<input type="submit" class="login" name="login"
value="Sign In">
</div>
<div class="social">
<div class="go"><a href="../index.php" style="color: white;">Back to home</a></div>
</div>
</form>
</body>
</html>

Manage Booking:

<?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";
}
?>
<!DOCTYPE HTML>
<html>
<head>
<title>AK | 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{
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>Booking id</th>
<th>Name</th>
<th>Mobile No.</th>
<th>Email Id</th>
<th>RegPlace </th>
<th>From /To </th>
<th>Members</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.Members as
members,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)
{
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-
>members);?></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('booking has been confirm')" >Confirm</a></td>
<?php }?>

</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>
<!--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-Packages:
<?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();

$('#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>
<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>₹<?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>
<!--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 } ?>
9.2Screenshot

Home page

Admin Login
Signin page

Signup page
Admin Dashboard

Bookings
Package list

Booking page

You might also like