Car Rental System Project Report
Car Rental System Project Report
Car Rental System Project Report
Session 2021-2024
1
TABLE OF CONTENT
2
To Whom It May Concern
I, Viraj Bhalla, Enrolment No.02920602021 from BCA-VI Sem of the Trinity Institute of
Professional Studies, Delhi hereby declare that the Minor Project Report entitled Car
Rental System at Trinity Institute of Professional Studies is an original work and the
same has not been submitted to any other Institute for the award of any other degree.
Certified that the Project Report submitted in partial fulfilment of Bachelor of Computer
Applications (BCA) to be awarded by G.G.S.I.P. University, Delhi by Viraj Bhalla,
Enrolment No. 02920602021 has been completed under my guidance and is Satisfactory.
Date:
Signature of the Guide:
Name of the Guide: Ms. Shweta Sharama
3
ACKNOWLEDGMENT
I would like to express my special thanks of gratitude to my Project supervisor Ms. Shweta
Sharma who devotes her precious time to interact, guide and give me the golden
opportunity to do this wonderful project on the topic Car Rental System, which also
helped me in doing a lot of Research and I came to know about so many new things.
Secondly, I would also like to thank my parents and friends who helped me a lot in finishing
this project within the limited time. I made this project not only for marks but to also
increase my knowledge.
Viraj Bhalla
02920602021
BCA VI-Sem (1st Shift)
4
LIST OF FIGURES
5. Class Diagram 29
5
LIST OF ACRONYMS AND ABBREVIATIONS
1. OS - OPERATING SYSTEMS
2. DBMS - DATABASE MANAGEMENT SYSTEM
3. ML - MACHINE LEARNING
4. SQL - STRUCTURED QUERY LANGUAGE
5. HTML - HYPER TEXT MARKUP LANGUAGE
6. CSS - CASCADING STYLE SHEETS
6
ONLINE CAR RENTAL SYSTEM
1.1 Introduction
The advancement in Information Technology and internet penetration has greatly enhanced
various business processes and communication between companies (services provider) and
their customers of which car rental industry is not left out. This E-Car Rental System is
developed to provide the following services:
• Enhance Business Processes: To be able to use internet technology to project the rental
company to the global world instead of limiting their services to their local domain
alone, thus increase their return on investment (ROI).
• Online Vehicle Reservation: A tools through which customers can reserve available
cars online prior to their expected pick-up date or time.
• Customer’s registration: A registration portal to hold customer’s details, monitor their
transaction and used same to offer better and improve services to them.
• Group bookings: Allows the customer to book space for a group in the case of weddings
or corporate meetings (Event management).
A car rental is a vehicle that can be used temporarily for a fee during a specified period.
Getting a rental car helps people get around despite the fact they do not have access to their
own personal vehicle or don't own a vehicle at all. The individual who needs a car must
contact a rental car company and contract out for a vehicle. This system increases customer
retention and simplify vehicle and staff management.
7
1.4 Aims & Objectives
• To produce a web-based system that allow customer to register and reserve car online
and for the company to effectively manage their car rental business.
• To ease customer’s task whenever they need to rent a car.
1.5 Scope
This project traverses a lot of areas ranging from business concept to computing field, and
required to perform several researches to be able to achieve the project objectives. The area
covers include:
• Car rental industry: This includes study on how the car rental business is being done,
process involved and opportunity that exist for improvement.
• PHP Technology used for the development of the application.
• General customers as well as the company’s staff will be able to use the system
effectively.
• Web-platform means that the system will be available for access 24/7 except when
there is a temporary server issue which is expected to be minimal.
8
PROJECT DESCRIPTION
A car rental is a vehicle that can be used temporarily for a period of time with a fee. Renting
a car assists people to get around even when they do not have access to their own personal
vehicle or don't own a vehicle at all. The individual who want to rent a car must first contact
the car rental company for the desire vehicle. This can be done online. At this point, this
person has to supply some information such as; dates of rental, and type of car. After these
details are worked out, the individual renting the car must present a valid Identification
Card.
Most companies throughout the industry make a profit based of the type of cars that are
rented. The rental cars are categorized into economy, compact, compact premium,
premium and luxury. And customers are free to choose any car of their choice based on
their purse and availability of such car at the time of reservation.
9
FUNCTIONAL AND NON-FUNCTIONAL
REQUIREMENTS
Functional requirements are those requirements that are used to illustrate the internal
working nature of the system, the description of the system, and explanation of each
subsystem. It consists of what task the system should perform, the processes involved,
which data should the system holds and the interfaces with the user. The functional
requirements identified are:
a. Customer’s registration: The system should allow new users to register online and
generate membership card.
b. Online reservation of cars: Customers should be able to use the system to make booking
and online reservation.
c. Automatic update to database once reservation is made or new customer registered:
Whenever there’s new reservation or new registration, the system should be able update
the database without any additional efforts from the admin.
d. Feedbacks to customers: It should provide means for customers to leave feedback.
It describes aspects of the system that are concerned with how the system provides the
functional requirements. They are:
a. Security: The subsystem should provide a high level of security and integrity of the
data held by the system, only authorized personnel of the company can gain access to
the company’s secured page on the system; and only users with valid password and
10
username can login to view user’s page.
b. Performance and Response time: The system should have high performance rate when
executing user’s input and should be able to provide feedback or response within a
short time span usually 50 seconds for highly complicated task and 20 to 25 seconds
for less complicated task.
c. Error handling: Error should be considerably minimized and an appropriate error
message that guides the user to recover from an error should be provided. Validation of
user’s input is highly essential. Also the standard time taken to recover from an error
should be 15 to 20 seconds.
d. Availability: This system should always be available for access at 24 hours, 7 days a
week. Also in the occurrence of any major system malfunctioning, the system should
be available in 1 to 2 working days, so that the business process is not severely affected.
e. Ease of use: Considered the level of knowledge possessed by the users of this system,
a simple but quality user interface should be developed to make it easy to understand
and required less training.
11
DESIGN
A Data Flow Diagram (DFD) is a graphical representation that depicts the information
flow and the transforms that are applied as data moves from input to output.
CAR RESERVED
NEW
REGISTRATION ADD
ONLINE CAR CUSTOMER CAR
CUSTOMER RENTAL RENTAL
. SYSTEM COMPANY
LOGIN REQUEST
TRANSACTION
REPORTS
AUTHENTICATION
REGISTRATION CONFIRMATION
In this diagram, Customer and Car Rental Company are the two entity sets.
Functions of Customer:
• New Registration
• Login Request
12
• Registration Confirmation by the System
• Reserve Car
• Car Issued by the System
• Email received for Reserved Car
• Add Customer
• Send E-Mails for Reserved Car
• View Transaction reports
RESPONS
RESPONSE TO FEEDBACK E TO
FEEDBACK
CUSTOMER DB
CUSTOMER
DETAILS
FEEDBACK
LOGIN
DETAILS
SIGNED IN STAFF
REGISTER AS
NEW MEMBER
CUSTOMER CUSTOMER DB
REPORT STAFF DB
CHOOSE PROCESS REPORT
CAR RENTAL VIEW
REPORT SIGNED IN
CAR DB REPORT
CAR
RESERVED
FEEDBACK CAR DB
13
USE-CASE DIAGRAMS
14
This use case is used by the staff to add new car to
the company's fleet database. Staff will need to
Add new car
login to activate this use case.
Update car This use case is used by the staff to edit and modify
details car details whenever there is new renewal
(insurance, road tax). It allows the company to keep
up-to-date record of their fleet.
Process rental This use case described the event by which staff
updates the system when customer pick up or when
returning car.
Add new staff This use case describes the event by which Admin
add new staff detail to the company's staff database.
15
4.2.2 Use Case Diagram
Process rental
<<extend>>
Return car
Reply to
customer's
Give feedback/
comments feedback
Admin
View report
16
4.2.3 Use-Case Dependency Diagram
Depends on
Register as Add new car Update car details
Member
Pick car
<<extend>> Make reservation
Process rental
<<extend>>
Return car
<<extend>> <<extend>>
Reply to customer's
feedback
Late return Early return Depends on
Give feedback/
comments View cus tomer's
<<include>> patronage
View report
<<include>>
View transaction
report
17
ACTIVITY DIAGRAMS
Activity diagrams graphically represent the sequential business and operational workflows
of a system. It is a dynamic diagram that shows the activity and the event that causes the
object to be in the particular state. The workflows from activity diagram will serve as guide
for system navigation in the final design phase of the system.
Enter details
[Yes]
Confirm and
submit
Display customer's
welcome screen
Send email
confirmation
End
18
4.3.1.2 Profile Modification
[No]
Login Valid?
Update database
Send confirmation
notification
Log out
End
19
4.3.1.3 Reservation of Car
Start
Choose pickup
location
Choose return
location
[No]
Member?
Login
Register
[No]
Valid?
[Yes]
merge
Confirm
Redirect to payment
gateway
Send confirmation
End
20
4.3.1.4 Customer Feedback
Submit feedback
Send notification
End
21
4.3.1.5 Payment of Car Rent
Staff
Start
Provide member id
[No]
Pay late charges
Merge
Confirm return
Update database
End
22
4.3.1.6 Adding a New Car
Login
[No]
Login
Valid?
[Yes]
Add to inventory
Update status
End
23
4.3.1.7 View Report
Start
Login
[No]
Valid?
[Yes]
Specify report to view
Retrieve report
End
24
SEQUENCE DIAGRAMS
Enter details
Enter username
Check username
Enter password
25
4.4.1.2 Reservation of Car
Interface object Control object Entity object Entity object Entity object Entity object
Customer:Ola Interface:i002 Control:c008 CarDatabase:"d CustDatabase:" Payment:"VISA Intelligent
b 001" Data 1" card" Agent:Confirmatio
Login/register
Pass to control
Check username and password
Enter details
Add to database
Send confirmation
26
4.4.1.4 Adding a New Car
Login
Pass to control
Check validity
Log out
Close session
Login
Check validity
Get staff info
Select feedback
Display feedback
Respond to feedback
Log out
End session
27
4.4.1.6 Return Car and Check Rental Details
Interface:i001 Database:"db
Customer:ola Staff:john 01"
Provide member id
Update database
Login
Check validity
Specify report
Retrieve report
Log out
End session
28
CLASS DIAGRAM
Automation notify
provides 1 alert
Distance chart - name : string 1
1..*
- source : string get () Feedback respond to
- destination : 1 provide () 1..* 1..*
alert () 1
- id : int Staff
get () notify () - custName : string
provide () - custEmail : string
1 - sid : char
notify - sname : string
1..* send () - position : string
respond () - mobile : int
Reservation Customer
gives1..* add 1 addcar ()
- rid : int - userId : string 1..* modifyInfo ()
- pickdate : date makes 1..* - custName : string 1..*
- returndate : date 1..* - cusAddr : string 1 add
- mobile : int 1..*
- pickloc : string
- VehicleClass : string - email : string Car 1
Admin
1..* 1
reserve () register () rent - PlateNo : string
search() login () 1 - CarName : string - Id : string
reservation () - carType : string - name : string
1..* - rent : double
makes makes add ()
add () modify ()
1..* modify () view ()
Return reserve ()
1..* 1
Payment
- id : int
- retdate : date process View
- id : int
- amount : double 1..*
- custName : string update () Report
pay () - id : int
confirm () - date : date
Early return - title : string
Late return
1..*
- lateCharge : double generate ()
confirm () print ()
save ()
pay ()
confirm ()
29
INTRODUCTION OF TECHNOLOGIES USED IN
PROJECT
PHP was originally created by Rasmus Lerdorf in 1995 and has been in continuous
development ever since. The main implementation of PHP is now produced by the PHP
Group and serves as the de facto standard for PHP as there is no formal specification. PHP
is free software released under the PHP License.
30
Originally designed to create dynamic web pages, PHP now focuses mainly on server-side
scripting, and it is similar to other server-side scripting languages that provide dynamic
content from a web server to a client, such as Microsoft's Active Server Pages, Sun
Microsystems’ Java Server Pages, and mod_perl. PHP has also attracted the development
of many frameworks that provide building blocks and a design structure to promote rapid
application development (RAD). Some of these include CakePHP, Symfony, CodeIgniter
and Zend Framework, offering features similar to other web application frameworks.
HTML and PHP code is written on the same page, and to distinguish PHP code from
HTML, the PHP code is enclosed within <? php ?> Tags.
For example:
<html>
<head><title>php basics</title></head>
<body>
<h2>HELLO</h1>
<?php
echo "hello";
?>
</body>
</html>
In the above example PHP code is embedded within HTML. In this way PHP and HTML
coding is combined on the same page.
Since PHP is a server side scripting language, the PHP coding cannot be seen by the end
user through view source option, due to this feature PHP is very secure.
31
PHP is a parsed language; therefore PHP environment is necessary at the server for running
PHP scripts.
When a client requests web page containing PHP code from the server, then the requested
PHP pages are parsed under PHP environment and interaction with database is made if
required.
After server side processing, the resulting HTML pages are passed to client and displayed
on the browser.
32
In this way the working of php is complete.
$db=mysql_select_db("databasename",$con);
$result=mysql_query($qry);
while($row = mysql_fetch_array($result))
{
//some logic
}
The MySQL development project has made its source code available under the terms of
the GNU General Public License, as well as under a variety of proprietary agreements.
33
MySQL is owned and sponsored by a single for-profit firm, the Swedish company MySQL
AB, now owned by Sun Microsystems, a subsidiary of Oracle Corporation.
MySQL code uses C and C++. The SQL parser uses yacc and a home-brewed lexer,
sql_lex.cc.
MySQL works on many different system platforms, including AIX, BSDi, FreeBSD, HP-
UX, i5/OS, Linux, Mac OS X, NetBSD, Novell NetWare, OpenBSD, OpenSolaris,
eComStation, OS/2 Warp, QNX, IRIX, Solaris, Symbian, SunOS, SCO OpenServer, SCO
UnixWare, Sanos, Tru64 and Microsoft Windows. A port of MySQL to OpenVMS also
exists.
All major programming languages with language-specific APIs include Libraries for
accessing MySQL database. In addition, an ODBC interface called MyODBC allows
additional programming languages that support the ODBC interface to communicate with
a MySQL database, such as ASP or ColdFusion. The HTSQL - URL based query method
also ships with MySQL adapter allowing direct interaction with MySQL database from
any web client via structured URLs. The MySQL server and official libraries are mostly
implemented in ANSI C/ANSI C++.
In this project apache server is used to parse and execute PHP pages, before deploying
websites on the server, the website should be tested at the developer side to get a feel of
how the website will work on actual server.
Therefore apache server is like a local server on the developer side, apache server should
be informed about the environment on which it should work.
In our project apache server is configured to work with PHP, in this way all the PHP pages
are parsed and executed by the server.
When apache is installed on the system, then its services is controlled by apache service
monitor.
34
Figure 5.2 APACHE Service Monitor
35
SOURCE CODE
6.1 Page
<?php
session_start();
error_reporting(0);
include('includes/config.php');
?>
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="keywords" content="">
<meta name="description" content="">
<title>Car Rental Portal | Page details</title>
<!--Bootstrap -->
<link rel="stylesheet" href="assets/css/bootstrap.min.css" type="text/css">
<!--Custome Style -->
<link rel="stylesheet" href="assets/css/style.css" type="text/css">
<!--OWL Carousel slider-->
<link rel="stylesheet" href="assets/css/owl.carousel.css" type="text/css">
<link rel="stylesheet" href="assets/css/owl.transitions.css" type="text/css">
<!--slick-slider -->
<link href="assets/css/slick.css" rel="stylesheet">
<!--bootstrap-slider -->
<link href="assets/css/bootstrap-slider.min.css" rel="stylesheet">
<!--FontAwesome Font Style -->
<link href="assets/css/font-awesome.min.css" rel="stylesheet">
36
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/images/favicon-icon/apple-
touch-icon-114-precomposed.html">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/images/favicon-icon/apple-
touch-icon-72-precomposed.png">
<link rel="apple-touch-icon-precomposed" href="assets/images/favicon-icon/apple-touch-icon-57-
precomposed.png">
<link rel="shortcut icon" href="assets/images/favicon-icon/favicon.png">
<link href="https://fonts.googleapis.com/css?family=Lato:300,400,700,900" rel="stylesheet">
</head>
<body>
<<!-- Start Switcher -->
<?php include('includes/colorswitcher.php');?>
<!-- /Switcher -->
<!--Header-->
<?php include('includes/header.php');?>
<?php
$pagetype=$_GET['type'];
$sql = "SELECT type,detail,PageName 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)
{ ?>
<section class="page-header aboutus_page">
<div class="container">
<div class="page-header_wrap">
<div class="page-heading">
<h1><?php echo htmlentities($result->PageName); ?></h1>
</div>
<ul class="coustom-breadcrumb">
<li><a href="#">Home</a></li>
<li><?php echo htmlentities($result->PageName); ?></li>
</ul>
</div>
</div>
<!-- Dark Overlay-->
<div class="dark-overlay"></div>
</section>
<section class="about_us section-padding">
<div class="container">
<div class="section-header text-center">
37
<<!--Footer -->
<?php include('includes/footer.php');?>
<!-- /Footer-->
<!--Back to top-->
<div id="back-top" class="back-top"> <a href="#top"><i class="fa fa-angle-up" aria-
hidden="true"></i> </a> </div>
<!--/Back to top-->
<!--Login-Form -->
<?php include('includes/login.php');?>
<!--/Login-Form -->
<!--Register-Form -->
<?php include('includes/registration.php');?>
<!--/Register-Form -->
<!--Forgot-password-Form -->
<?php include('includes/forgotpassword.php');?>
<!--/Forgot-password-Form -->
</body>
</html>
38
6.2 Car Listing
<?php
session_start();
include('includes/config.php');
error_reporting(0);
?>
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="keywords" content="">
<meta name="description" content="">
<title>Car Rental Portal | Car Listing</title>
<!--Bootstrap -->
<link rel="stylesheet" href="assets/css/bootstrap.min.css" type="text/css">
<!--Custome Style -->
<link rel="stylesheet" href="assets/css/style.css" type="text/css">
<!--OWL Carousel slider-->
<link rel="stylesheet" href="assets/css/owl.carousel.css" type="text/css">
<link rel="stylesheet" href="assets/css/owl.transitions.css" type="text/css">
<!--slick-slider -->
<link href="assets/css/slick.css" rel="stylesheet">
<!--bootstrap-slider -->
<link href="assets/css/bootstrap-slider.min.css" rel="stylesheet">
<!--FontAwesome Font Style -->
<link href="assets/css/font-awesome.min.css" rel="stylesheet">
39
<link rel="apple-touch-icon-precomposed" href="assets/images/favicon-icon/apple-touch-icon-57-
precomposed.png">
<link rel="shortcut icon" href="assets/images/favicon-icon/favicon.png">
<link href="https://fonts.googleapis.com/css?family=Lato:300,400,700,900" rel="stylesheet">
</head>
<body>
<!--Header-->
<?php include('includes/header.php');?>
<!-- /Header -->
<!--Page Header-->
<section class="page-header listing_page">
<div class="container">
<div class="page-header_wrap">
<div class="page-heading">
<h1>Car Listing</h1>
</div>
<ul class="coustom-breadcrumb">
<li><a href="#">Home</a></li>
<li>Car Listing</li>
</ul>
</div>
</div>
<!-- Dark Overlay-->
<div class="dark-overlay"></div>
</section>
<!-- /Page Header-->
<!--Listing-->
<section class="listing-page">
<div class="container">
<div class="row">
<div class="col-md-9 col-md-push-3">
<div class="result-sorting-wrapper">
<div class="sorting-count">
<?php
//Query for Listing count
$sql = "SELECT id from tblvehicles";
$query = $dbh -> prepare($sql);
$query->bindParam(':vhid',$vhid, PDO::PARAM_STR);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=$query->rowCount();
?>
<p><span><?php echo htmlentities($cnt);?> Listings</span></p>
</div>
</div>
40
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $result)
{ ?>
<div class="product-listing-m gray-bg">
<div class="product-listing-img"><img src="admin/img/vehicleimages/<?php echo
htmlentities($result->Vimage1);?>" class="img-responsive" alt="Image" /> </a>
</div>
<div class="product-listing-content">
<h5><a href="vehical-details.php?vhid=<?php echo htmlentities($result->id);?>"><?php echo
htmlentities($result->BrandName);?> , <?php echo htmlentities($result->VehiclesTitle);?></a></h5>
<p class="list-price">$<?php echo htmlentities($result->PricePerDay);?> Per Day</p>
<ul>
<li><i class="fa fa-user" aria-hidden="true"></i><?php echo htmlentities($result-
>SeatingCapacity);?> seats</li>
<li><i class="fa fa-calendar" aria-hidden="true"></i><?php echo htmlentities($result-
>ModelYear);?> model</li>
<li><i class="fa fa-car" aria-hidden="true"></i><?php echo htmlentities($result-
>FuelType);?></li>
</ul>
<a href="vehical-details.php?vhid=<?php echo htmlentities($result->id);?>" class="btn">View
Details <span class="angle_arrow"><i class="fa fa-angle-right" aria-hidden="true"></i></span></a>
</div>
</div>
<?php }} ?>
</div>
<!--Side-Bar-->
<aside class="col-md-3 col-md-pull-9">
<div class="sidebar_widget">
<div class="widget_heading">
<h5><i class="fa fa-filter" aria-hidden="true"></i> Find Your Car </h5>
</div>
<div class="sidebar_filter">
<form action="search-carresult.php" method="post">
<div class="form-group select">
<select class="form-control" name="brand">
<option>Select Brand</option>
41
<div class="form-group select">
<select class="form-control" name="fueltype">
<option>Select Fuel Type</option>
<option value="Petrol">Petrol</option>
<option value="Diesel">Diesel</option>
<option value="CNG">CNG</option>
</select>
</div>
<div class="form-group">
<button type="submit" class="btn btn-block"><i class="fa fa-search" aria-
hidden="true"></i> Search Car</button>
</div>
</form>
</div>
</div>
<div class="sidebar_widget">
<div class="widget_heading">
<h5><i class="fa fa-car" aria-hidden="true"></i> Recently Listed Cars</h5>
</div>
<div class="recent_addedcars">
<ul>
<?php $sql = "SELECT tblvehicles.*,tblbrands.BrandName,tblbrands.id as bid from tblvehicles join
tblbrands on tblbrands.id=tblvehicles.VehiclesBrand order by id desc limit 4";
$query = $dbh -> prepare($sql);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $result)
{ ?>
<li class="gray-bg">
<div class="recent_post_img"> <a href="vehical-details.php?vhid=<?php echo
htmlentities($result->id);?>"><img src="admin/img/vehicleimages/<?php echo htmlentities($result-
>Vimage1);?>" alt="image"></a> </div>
<div class="recent_post_title"> <a href="vehical-details.php?vhid=<?php echo
htmlentities($result->id);?>"><?php echo htmlentities($result->BrandName);?> , <?php echo
htmlentities($result->VehiclesTitle);?></a>
<p class="widget_price">$<?php echo htmlentities($result->PricePerDay);?> Per Day</p>
</div>
</li>
<?php }} ?>
</ul>
</div>
</div>
</aside>
<!--/Side-Bar-->
</div>
</div>
</section>
<!-- /Listing-->
<!--Footer -->
<?php include('includes/footer.php');?>
42
<!-- /Footer-->
<!--Back to top-->
<div id="back-top" class="back-top"> <a href="#top"><i class="fa fa-angle-up" aria-
hidden="true"></i> </a> </div>
<!--/Back to top-->
<!--Login-Form -->
<?php include('includes/login.php');?>
<!--/Login-Form -->
<!--Register-Form -->
<?php include('includes/registration.php');?>
<!--/Register-Form -->
<!--Forgot-password-Form -->
<?php include('includes/forgotpassword.php');?>
</body>
</html>
43
6.3 Check Availability
<?php
require_once("includes/config.php");
// code user email availablity
if(!empty($_POST["emailid"])) {
$email= $_POST["emailid"];
if (filter_var($email, FILTER_VALIDATE_EMAIL)===false) {
?>
44
6.4 Contact Us
<?php
session_start();
error_reporting(0);
include('includes/config.php');
if(isset($_POST['send']))
{
$name=$_POST['fullname'];
$email=$_POST['email'];
$contactno=$_POST['contactno'];
$message=$_POST['message'];
$sql="INSERT INTO tblcontactusquery(name,EmailId,ContactNumber,Message)
VALUES(:name,:email,:contactno,:message)";
$query = $dbh->prepare($sql);
$query->bindParam(':name',$name,PDO::PARAM_STR);
$query->bindParam(':email',$email,PDO::PARAM_STR);
$query->bindParam(':contactno',$contactno,PDO::PARAM_STR);
$query->bindParam(':message',$message,PDO::PARAM_STR);
$query->execute();
$lastInsertId = $dbh->lastInsertId();
if($lastInsertId)
{
$msg="Query Sent. We will contact you shortly";
}
else
{
$error="Something went wrong. Please try again";
}
}
?>
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="keywords" content="">
<meta name="description" content="">
<title>CarForYou - Responsive Car Dealer HTML5 Template</title>
<!--Bootstrap -->
<link rel="stylesheet" href="assets/css/bootstrap.min.css" type="text/css">
<!--Custome Style -->
<link rel="stylesheet" href="assets/css/style.css" type="text/css">
<!--OWL Carousel slider-->
<link rel="stylesheet" href="assets/css/owl.carousel.css" type="text/css">
<link rel="stylesheet" href="assets/css/owl.transitions.css" type="text/css">
<!--slick-slider -->
<link href="assets/css/slick.css" rel="stylesheet">
<!--bootstrap-slider -->
<link href="assets/css/bootstrap-slider.min.css" rel="stylesheet">
<!--FontAwesome Font Style -->
<link href="assets/css/font-awesome.min.css" rel="stylesheet">
45
<!-- SWITCHER -->
<link rel="stylesheet" id="switcher-css" type="text/css"
href="assets/switcher/css/switcher.css" media="all" />
<link rel="alternate stylesheet" type="text/css" href="assets/switcher/css/red.css"
title="red" media="all" data-default-color="true" />
<link rel="alternate stylesheet" type="text/css" href="assets/switcher/css/orange.css"
title="orange" media="all" />
<link rel="alternate stylesheet" type="text/css" href="assets/switcher/css/blue.css"
title="blue" media="all" />
<link rel="alternate stylesheet" type="text/css" href="assets/switcher/css/pink.css"
title="pink" media="all" />
<link rel="alternate stylesheet" type="text/css" href="assets/switcher/css/green.css"
title="green" media="all" />
<link rel="alternate stylesheet" type="text/css" href="assets/switcher/css/purple.css"
title="purple" media="all" />
<!--Header-->
<?php include('includes/header.php');?>
<!-- /Header -->
46
<!--Page Header-->
<section class="page-header contactus_page">
<div class="container">
<div class="page-header_wrap">
<div class="page-heading">
<h1>Contact Us</h1>
</div>
<ul class="coustom-breadcrumb">
<li><a href="#">Home</a></li>
<li>Contact Us</li>
</ul>
</div>
</div>
<!-- Dark Overlay-->
<div class="dark-overlay"></div>
</section>
<!-- /Page Header-->
<!--Contact-us-->
<section class="contact_us section-padding">
<div class="container">
<div class="row">
<div class="col-md-6">
<h3>Get in touch using the form below</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="contact_form gray-bg">
<form method="post">
<div class="form-group">
<label class="control-label">Full Name <span>*</span></label>
<input type="text" name="fullname" class="form-control white_bg" id="fullname" required>
</div>
<div class="form-group">
<label class="control-label">Email Address <span>*</span></label>
<input type="email" name="email" class="form-control white_bg" id="emailaddress" required>
</div>
<div class="form-group">
<label class="control-label">Phone Number <span>*</span></label>
<input type="text" name="contactno" class="form-control white_bg" id="phonenumber" required>
</div>
<div class="form-group">
<label class="control-label">Message <span>*</span></label>
<textarea class="form-control white_bg" name="message" rows="4" required></textarea>
</div>
<div class="form-group">
<button class="btn" type="submit" name="send" type="submit">Send Message <span
class="angle_arrow"><i class="fa fa-angle-right" aria-hidden="true"></i></span></button>
</div>
</form>
</div>
</div>
<div class="col-md-6">
<h3>Contact Info</h3>
<div class="contact_detail">
47
<?php
$pagetype=$_GET['type'];
$sql = "SELECT Address,EmailId,ContactNo from tblcontactusinfo";
$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)
{ ?>
<ul>
<li>
<div class="icon_wrap"><i class="fa fa-map-marker" aria-hidden="true"></i></div>
<div class="contact_info_m"><?php echo htmlentities($result->Address); ?></div>
</li>
<li>
<div class="icon_wrap"><i class="fa fa-phone" aria-hidden="true"></i></div>
<div class="contact_info_m"><a href="tel:61-1234-567-90"><?php echo htmlentities($result-
>EmailId); ?></a></div>
</li>
<li>
<div class="icon_wrap"><i class="fa fa-envelope-o" aria-hidden="true"></i></div>
<div class="contact_info_m"><a href="mailto:contact@exampleurl.com"><?php echo
htmlentities($result->ContactNo); ?></a></div>
</li>
</ul>
<?php }} ?>
</div>
</div>
</div>
</div>
</section>
<!-- /Contact-us-->
<!--Footer -->
<?php include('includes/footer.php');?>
<!-- /Footer-->
<!--Back to top-->
<div id="back-top" class="back-top"> <a href="#top"><i class="fa fa-angle-up" aria-hidden="true"></i>
</a> </div>
<!--/Back to top-->
<!--Login-Form -->
<?php include('includes/login.php');?>
<!--/Login-Form -->
<!--Register-Form -->
<?php include('includes/registration.php');?>
<!--/Register-Form -->
<!--Forgot-password-Form -->
48
<?php include('includes/forgotpassword.php');?>
<!--/Forgot-password-Form -->
</body>
49
6.5 Database
-- phpMyAdmin SQL Dump
-- version 4.2.7.1
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: Jul 06, 2017 at 08:10 PM
-- Server version: 5.6.20
-- PHP Version: 5.5.15
--
-- Database: `carrental`
--
-- --------------------------------------------------------
--
-- Table structure for table `admin`
--
--
-- Dumping data for table `admin`
--
-- --------------------------------------------------------
--
-- Table structure for table `tblbooking`
--
50
`FromDate` varchar(20) DEFAULT NULL,
`ToDate` varchar(20) DEFAULT NULL,
`message` varchar(255) DEFAULT NULL,
`Status` int(11) DEFAULT NULL,
`PostingDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
--
-- Dumping data for table `tblbooking`
--
INSERT INTO `tblbooking` (`id`, `userEmail`, `VehicleId`, `FromDate`, `ToDate`, `message`, `Status`,
`PostingDate`) VALUES
(1, 'test@gmail.com', 2, '22/06/2017', '25/06/2017', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
exercitation ullamco', 1, '2017-06-19 20:15:43'),
(2, 'test@gmail.com', 3, '30/06/2017', '02/07/2017', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
exercitation ullamco', 2, '2017-06-26 20:15:43'),
(3, 'test@gmail.com', 4, '02/07/2017', '07/07/2017', 'Lorem ipsumLorem ipsumLorem ipsumLorem
ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ', 0, '2017-06-26 21:10:06'),
(4, 'test1@gmail.com', 1, '11/07/2017', '12/07/2018', 'ddddddddddd', 0, '2017-06-29 18:20:45'),
(5, 'php@gmail.com', 6, '11/07/2017', '12/07/2017', 'i want to hire this taxi for few hours', 1, '2017-07-05
11:09:18');
-- --------------------------------------------------------
--
-- Table structure for table `tblbrands`
--
--
-- Dumping data for table `tblbrands`
--
-- --------------------------------------------------------
--
-- Table structure for table `tblcontactusinfo`
--
51
CREATE TABLE IF NOT EXISTS `tblcontactusinfo` (
`id` int(11) NOT NULL,
`Address` tinytext,
`EmailId` varchar(255) DEFAULT NULL,
`ContactNo` char(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
--
-- Dumping data for table `tblcontactusinfo`
--
-- --------------------------------------------------------
--
-- Table structure for table `tblcontactusquery`
--
--
-- Dumping data for table `tblcontactusquery`
--
-- --------------------------------------------------------
--
-- Table structure for table `tblpages`
--
52
`type` varchar(255) NOT NULL DEFAULT '',
`detail` longtext NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=22 ;
--
-- Dumping data for table `tblpages`
--
53
(2, 'Privacy Policy', 'privacy', '<span style="color: rgb(0, 0, 0); font-family: "Open Sans", Arial,
sans-serif; font-size: 14px; text-align: justify;">At vero eos et accusamus et iusto odio dignissimos ducimus
qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint
occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum
et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta
nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis
voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut
rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque
earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut
perferendis doloribus asperiores repellat</span>'),
(3, 'About Us ', 'aboutus', '<span style="color: rgb(0, 0, 0); font-family: "Open Sans", Arial, sans-
serif; text-align: justify;">At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis
praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati
cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum
fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est
eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas
assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum
necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum
rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis
doloribus asperiores repellat</span>'),
(11, 'FAQs', 'faqs', '
-- --------------------------------------------------------
--
-- Table structure for table `tblsubscribers`
--
--
-- Dumping data for table `tblsubscribers`
--
-- --------------------------------------------------------
--
-- Table structure for table `tbltestimonial`
--
54
`status` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
--
-- Dumping data for table `tbltestimonial`
--
-- --------------------------------------------------------
--
-- Table structure for table `tblusers`
--
--
-- Dumping data for table `tblusers`
--
INSERT INTO `tblusers` (`id`, `FullName`, `EmailId`, `Password`, `ContactNo`, `dob`, `Address`, `City`,
`Country`, `RegDate`, `UpdationDate`) VALUES
(1, 'Anuj Kumar', 'demo@gmail.com', 'f925916e2754e5e03f75dd58a5733251', '2147483647', NULL,
NULL, NULL, NULL, '2017-06-17 19:59:27', '2017-06-26 21:02:58'),
(2, 'AK', 'anuj@gmail.com', 'f925916e2754e5e03f75dd58a5733251', '8285703354', NULL, NULL, NULL,
NULL, '2017-06-17 20:00:49', '2017-06-26 21:03:09'),
(3, 'Anuj Kumar', 'webhostingamigo@gmail.com', 'f09df7868d52e12bba658982dbd79821', '09999857868',
'03/02/1990', 'New Delhi', 'New Delhi', 'New Delhi', '2017-06-17 20:01:43', '2017-06-17 21:07:41'),
(4, 'Anuj Kumar', 'test@gmail.com', '5c428d8875d2948607f3e3fe134d71b4', '9999857868', '', 'New Delhi',
'Delhi', 'Delhi', '2017-06-17 20:03:36', '2017-06-26 19:18:14'),
(5, 'test', 'test1@gmail.com', '827ccb0eea8a706c4c34a16891f84e7b', '9015501898', NULL, NULL, NULL,
NULL, '2017-06-29 18:19:08', NULL),
(6, 'php', 'php@gmail.com', '202cb962ac59075b964b07152d234b70', '9015501898', NULL, NULL, NULL,
NULL, '2017-07-05 11:06:55', '2017-07-05 11:08:02');
-- --------------------------------------------------------
--
-- Table structure for table `tblvehicles`
55
--
--
-- Dumping data for table `tblvehicles`
--
56
ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem
ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem
ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem
ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem
ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsum', 563, 'CNG', 2012, 5, 'featured-
img-3.jpg', 'dealer-logo.jpg', 'img_390x390.jpg', 'listing_img3.jpg', '', 1, 1, 1, 1, 1, 1, NULL, 1, 1, NULL,
NULL, NULL, '2017-06-19 16:18:20', '2017-06-20 18:40:11'),
(4, 'Lorem ipsum', 1, 'Lorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem
ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem
ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem
ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem
ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem
ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem
ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsum', 5636, 'CNG', 2012, 5, 'featured-
img-3.jpg', 'featured-img-1.jpg', 'featured-img-1.jpg', 'featured-img-1.jpg', '', 1, 1, 1, 1, 1, 1, 1, 1, 1, NULL,
NULL, NULL, '2017-06-19 16:18:43', '2017-06-20 18:44:12'),
(5, 'ytb rvtr', 5, 'vtretrvet', 345345, 'Petrol', 3453, 7, 'car_755x430.png', NULL, NULL, NULL, NULL, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, '2017-06-20 17:57:09', '2017-06-21 16:56:43'),
(6, 'Waganor Taxi', 8, 'Its Well matintaied', 10, 'Petrol', 2017, 4, 'Koala.jpg', 'Desert.jpg', 'Hydrangeas.jpg',
'Jellyfish.jpg', '', 1, 1, 1, NULL, 1, 1, NULL, 1, 1, 1, NULL, 1, '2017-07-05 11:04:18', NULL);
--
-- Indexes for dumped tables
--
--
-- Indexes for table `admin`
--
ALTER TABLE `admin`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `tblbooking`
--
ALTER TABLE `tblbooking`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `tblbrands`
--
ALTER TABLE `tblbrands`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `tblcontactusinfo`
--
ALTER TABLE `tblcontactusinfo`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `tblcontactusquery`
--
ALTER TABLE `tblcontactusquery`
ADD PRIMARY KEY (`id`);
--
57
-- Indexes for table `tblpages`
--
ALTER TABLE `tblpages`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `tblsubscribers`
--
ALTER TABLE `tblsubscribers`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `tbltestimonial`
--
ALTER TABLE `tbltestimonial`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `tblusers`
--
ALTER TABLE `tblusers`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `tblvehicles`
--
ALTER TABLE `tblvehicles`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `admin`
--
ALTER TABLE `admin`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=2;
--
-- AUTO_INCREMENT for table `tblbooking`
--
ALTER TABLE `tblbooking`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=6;
--
-- AUTO_INCREMENT for table `tblbrands`
--
ALTER TABLE `tblbrands`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=9;
--
-- AUTO_INCREMENT for table `tblcontactusinfo`
--
ALTER TABLE `tblcontactusinfo`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=2;
--
-- AUTO_INCREMENT for table `tblcontactusquery`
--
58
ALTER TABLE `tblcontactusquery`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=2;
--
-- AUTO_INCREMENT for table `tblpages`
--
ALTER TABLE `tblpages`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=22;
--
-- AUTO_INCREMENT for table `tblsubscribers`
--
ALTER TABLE `tblsubscribers`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=2;
--
-- AUTO_INCREMENT for table `tbltestimonial`
--
ALTER TABLE `tbltestimonial`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=4;
--
-- AUTO_INCREMENT for table `tblusers`
--
ALTER TABLE `tblusers`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=7;
--
-- AUTO_INCREMENT for table `tblvehicles`
--
ALTER TABLE `tblvehicles`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=7;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
59
OUTPUT SCREEN-SHOTS
60
7.3 Subscription Page
61
CONCLUSION
Car rental business has emerged with a new goodies compared to the past experience where
every activity concerning car rental business is limited to a physical location only. Even
though the physical location has not been totally eradicated; the nature of functions and
how these functions are achieved has been reshaped by the power of internet. Nowadays,
customers can reserve cars online, rent car online, and have the car brought to their door
step once the customer is a registered member or go to the office to pick the car.
The web based car rental system has offered an advantage to both customers as well as Car
Rental Company to efficiently and effectively manage the business and satisfies customers’
need at the click of a button.
62