206P - MCA - Project Document
206P - MCA - Project Document
206P - MCA - Project Document
In this modern world of competition there is a race of existence in which those are efficient to
come forward to succeed. Project is like a bridge between theoretical and practical .So, I have
joined this particular project. Today after completing my project I feel great relief and
satisfaction, now when I look back, I still remember the day when I was assigned this project
“CAR RENTAL SYSTEM”
I was somewhat puzzled and a bit nervous and curious where to begin from. This was a new
exposure for us. At this juncture of time when my project is completed, I would like to thank
the people who provided their power to complete this work and to my parents who always
inspired and encouraged me throughout my life. Once again, I would like to convey my
sincere and special thanks to the Faculty of Computer Science & Applications, for there kind
cooperation and knowledge assistance in giving shape to this project and great regards for all
the College staff members who gave me the practical knowledge of all. I believe that without
their guidance the successful completion of this project “CAR RENTAL SYSTEM” was not
possible.
I am very thankful to everyone who all supported me, for I have completed my project
effectively and moreover, on time. I am equally grateful to my teacher “Dr.Susil Kumar
Sahoo” Head of the Department of Computer Science & Applications & my Respective
teacher “Mrs. K.Kalai Selvi”. She gave us moral support and guided me in different matters
regarding the topic. She has been very kind and patient, whilst suggesting about the outlines
of this project, and correcting my doubts. I thank her for her overall support.
Last but not the least, I would like to thank my parents who has helped me a lot in gathering
different information, collecting data and guiding me from time to time in completing this
project. Despite their busy schedules, they gave me different ideas to help make this project
unique.
CONTENTS Page No.
1. Introduction……………………………………………………………2
1.1 Abstsract………………………………………………………...2
3. Design Specifications…………………………………………………21
4. Implementation Details………………………………………………..27
5. Testing…………………………………………………………………89
6. Conclusion……………………………………………………………..93
7. Bibliography……………………………………………………………95
CAR RENTAL SYSTEM
INTRODUCTION
1. ABSTRACT
The domain chosen by me to practice the database customization and creation is “Car Rental
System”. This project is designed to be used by a car rental company specializing in rentals to
cars to customer. It is an online system through which customers can view available cars,
register, view profile and book car. The advancement in information technology and internet
penetration has greatly enhanced various business process and communication between the
companies (service provider) and their customers of which car rental industry is not left out. A
car rental is a vehicle that can be used temporarily for a free during a specified period. Getting
a rental car helps people get around despite that 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 contact us for a vehicle. The system increases customer retention and
simplify vehicle and staff management. 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. This online car rental
solution is fully functional and flexible.It is very easy to use.This online car rental system helps
in back office administration by streamlining and standardizing the procedures.It saves a lot of
time, money and labour.Eco-friendly: The monitoring of the vehicle activity and the overall
becomes easy and includes the least of paper work.The software acts as an office that is open
24/7.It increases the efficiency of the management at offering quality services to the
customers.It provides custom features development and support with the software.
Introduction:
The car rental system is being developed for customers so that they can book their book their
vehicles from any part of the world. This application takes information from the customers
through filling their details. A customer being registered in the web site has the facility to book
a vehicle which he requires .The proposed system is completely integrated online systems. It
automates manual procedure in an effective and efficient way. This automated system
facilitates customer and provides to fill up the details according to their requirements. It
includes type of vehicle they are trying to hire. The pupose of this system is to develop a
website for the people who can book their vehicles along with requirements from any part of
the world.
Domain Study:
Problem Statement:
A car rental is a vehicle that can be used temporarily for a free during a specified period.
Getting a rental car helps people get around despite that 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 contact us for a vehicle. The system increases customer retention and
simplify vehicle and staff management.
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.
SYSTEM
REQUIREMENT
SPECIFICATIONS
Since the actual processing of the data takes place on the remote client the data has to be
transported over the network, which requires a secured format of the transfer method. How to
conduct transactions is to be controlled by the client and advanced techniques implementing
the cryptographic standards in the executing the data transfer transactions. Present day
transactions are considered to be "un-trusted" in terms of security, i.e. they are relatively easy
to be hacked. And also we have to consider the transfer the large amount of data through the
network will give errors while transferring. Nevertheless, sensitive data transfer is to be carried
out even if there is lack of an alternative. Network security in the existing system is the
motivation factor for a new system with higher-level security standards for the information
exchange.
Proposed System:
The proposed system should have the following features. The transactions should take place in
a secured format between various clients in the network. It provides flexibility to the user to
transfer the data through the network very easily by compressing the large amount of file. It
should also identify the user and provide the communication according to the prescribed level
of security with transfer of the file requested and run the required process at the server if
necessary. In this system the data will be sending through the network as an audio file. The
user who received the file will do the operations like de embedding, decryption, and
decompress in their level of hierarchy etc.
Functional Requirements:
Requirement analysis is a software engineering technique that is composed of the various tasks
that determine the needs or conditions that are to be met for a new or altered product, taking
into consideration the possible conflicting requirements of the various users.
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 to made or new customer registered.
Whenever there is new reservation or new registration, the system should be able to
update the database without any additional efforts from the admin.
d. Feedback to customers: It should provide means for customers to leave feedback.
Non-Functional Requirements:
It describes 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 date
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 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 for less
complicated task.
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.
System Specification:
Tools /platform, Hardware and Software Requirements specifications:
For setting this ecommerce portal, it requires certain technical requirements to be met for the
store to operate property. First, a web server must be created to make the ecommerce store
publicly available on the web. Domain names and hosting services can easily be purchased for
an affordable price. When selecting a hosting service, you should check to see that these server
requirements are provided and installed on their web servers:
The above PHP extensions should be available by almost all hosting providers. During the
install processes it will check you have them all enabled. You should contact your hosting
provider if one is missing.
Tool Survey:
Introduction to PHP:
PHP can be used in three primary ways:
Server-side scripting
PHP was originally designed to create dynamic web content, and it is still best suited for
that task. To generate HTML, you need the PHP parser and a web server through which to
send the coded documents. PHP has also become popular for generating XML documents,
graphics, Flash animations, PDF files, and so much more.
Command-line scripting
PHP can run scripts from the command line, much like Perl, awk, or the Unix shell. You
might use the command-line scripts for system administration tasks, such as backup and
log parsing; even some CRON job type scripts can be done this way (nonvisual PHP
tasks).
Configuration Page:
The PHP function phpinfo() creates an HTML page full of information on how PHP was
installed and is currently configured. You can use it to see whether you have particular
extensions installed, or whether the php.ini file has been customized.
HTTP Basics:
The Web runs on HTTP, or Hyper Text Transfer Protocol. This protocol governs how web
browsers request files from web servers and how the servers send the files back.
When a web browser requests a web page, it sends an HTTP request message to a web
server. The request message always includes some header information, and it some- times
also includes a body. The web server responds with a reply message, which always includes
header information and usually contains a body. The first line of an HTTP request looks
like this:
GET /index.html HTTP/1.1
This line specifies an HTTP command, called a method, followed by the address of a
document and the version of the HTTP protocol being used. In this case, the request is
using the GET method to ask for the index.html document using HTTP 1.1. After this
initial line, the request can contain optional header information that gives the server
additional data about the request. For example:
User-Agent: Mozilla/5.0 (Windows 2000; U) Opera 6.0 [en] Accept: image/gif,
image/jpeg, text/*, */*
Variables
$_COOKIE
Contains any cookie values passed as part of the request, where the keys of the array are
the names of the cookies
$_GET
Contains any parameters that are part of a GET request, where the keys of the array are the
names of the form parameters
$_POST
Contains any parameters that are part of a POST request, where the keys of the array are
the names of the form parameters
$_FILES
Contains useful information about the web server, as described in the next section
$_ENV
Contains the values of any environment variables, where the keys of the array are the
names of the environment variables
These variables are not only global, but are also visible from within function definitions. The
$_REQUEST array is also created by PHP automatically. The $_REQUEST array contains the
elements of the $_GET, $_POST, and $_COOKIE arrays all in one array variable.
Xml
XML, the Extensible Markup Language, is a standardized data format. It looks a little like
HTML, with tags (<example>like this</example>) and entities (&). Unlike HTML,
however, XML is designed to be easy to programmatically parse, and there are rules for
what you can and cannot do in an XML document. XML is now the standard data format in
fields as diverse as publishing, engineering, and medicine. It’s used for remote procedure
calls, databases, purchase orders, and much more.
There are many scenarios where you might want to use XML. Because it is a common
format for data transfer, other programs can emit XML files for you to either extract
information from (parse) or display in HTML (transform).
Recently, XML has been used in remote procedure calls (XML-RPC). A client encodes a
function name and parameter values in XML and sends them via HTTP to a server. The
server decodes the function name and values, decides what to do, and returns a response
value encoded in XML. XML-RPC has proved a useful way to integrate application
components written in different languages.
Generating XML:
Just as PHP can be used to generate dynamic HTML, it can also be used to generate
dynamic XML. You can generate XML for other programs to make use of based on forms,
database queries, or anything else you can do in PHP. One application for dynamic XML is
Rich Site Summary (RSS), a file format for syndicating news sites. You can read an article’s
information from a database or from HTML files and emit an XML summary file based on
that information.
Generating an XML document from a PHP script is simple. Simply change the MIME type
of the document, using the header() function, to "text/xml". To emit the
<?xml ... ?> declaration without it being interpreted as a malformed PHP tag, simply
echo the line from within PHP code:
echo '<?xml version="1.0" encoding="ISO-8859-1" ?>';
Apache server has a very powerful, but slightly complex, configuration system of its own.
Learn more about it at the Apache Web site: www.apache.org
The following section describes settings in httpd.conf that affect PHP directly and cannot be
set elsewhere. If you have standard installation, then httpd.conf will be found at
/etc/httpd/conf:
Timeout
This value sets the default number of seconds before any HTTP request will time out. If you
set PHP's max_execution_time to longer than this value, PHP will keep grinding away but the
user may see a 404 error. In safe mode, this value will be ignored; you must use the timeout
value in php.ini instead
DocumentRoot
DocumentRoot designates the root directory for all HTTP processes on that server. It looks
something like this on Unix:
DocumentRoot ./usr/local/apache_1.3.6/htdocs.
You can choose any directory as document root.
AddType
The PHP MIME type needs to be set here for PHP files to be parsed. Remember that you can
AddType application/x-httpd-php
.php AddType application/x-httpd-
phps .phps
AddType application/x-httpd-php3 .php3 .phtml
AddType application/x-httpd-php .html
associate any file extension with PHP like .php3, .php5 or .htm.
Action
You must uncomment this line for the Windows apxs module version of Apache with shared
object support:
AddModule
You must uncomment this line for the static module version of Apache.
AddModule mod_php4.c
The configuration file is well commented and thorough. Keys are case sensitive, keyword
values are not; whitespace, and lines beginning with semicolons are ignored. Booleans can
be represented by 1/0, Yes/No, On/Off, or True/False. The default values in php.ini-dist will
result in a reasonable PHP installation that can be tweaked later.
short_open_tag = Off
Short open tags look like this: <? ?>. This option must be set to Off if you want to use XML
functions.
safe_mode = Off
If this is set to On, you probably compiled PHP with the --enable-safe-mode flag. Safe
mode is most relevant to CGI use. See the explanation in the section "CGI compile-time
options". earlier in this chapter.
safe_mode_exec_dir = [DIR]
This option is relevant only if safe mode is on; it can also be set with the --with-exec-dir flag
during the Unix build process. PHP in safe mode only executes external binaries out of this
directory. The default is /usr/local/bin. This has nothing to do with serving up a normal
PHP/HTML Web page.
safe_mode_allowed_env_vars = [PHP_]
This option sets which environment variables users can change in safe mode. The default is
only those variables prepended with "PHP_". If this directive is empty, most variables are
alterable.
safe_mode_protected_env_vars = [LD_LIBRARY_PATH]
This option sets which environment variables users can't change in safe mode, even if
safe_mode_allowed_env_vars is set permissively.
error_prepend_string = [""]
With its bookend, error_append_string, this setting allows you to make error messages a
different color than other text, or what you have.
warn_plus_overloading = Off
This setting issues a warning if the + operator is used with strings, as in a form value.
variables_order = EGPCS
This configuration setting supersedes gpc_order. Both are now deprecated along with
register_globals. It sets the order of the different variables: Environment, GET, POST,
COOKIE, and SERVER (aka Built-in).
You can change this order around. Variables will be overwritten successively in left-to-right
order, with the rightmost one winning the hand every time. This means if you left the default
setting and happened to use the same name for an environment variable, a POST variable,
and a COOKIE variable, the COOKIE variable would own that name at the end of the
process. In real life, this doesn't happen much.
register_globals = Off
This setting allows you to decide whether you wish to register EGPCS variables as global.
This is now deprecated, and as of PHP4.2, this flag is set to Off by default. Use superglobal
arrays instead. All the major code listings in this book use superglobal arrays.
gpc_order = GPC
This setting has been GPC Deprecated.
magic_quotes_gpc = On
This setting escapes quotes in incoming GET/POST/COOKIE data. If you use a lot of forms
which possibly submit to themselves or other forms and display form values, you may need
to set this directive to On or prepare to use addslashes() on string-type data.
magic_quotes_runtime = Off
This setting escapes quotes in incoming database and text strings. Remember that SQL adds
slashes to single quotes and apostrophes when storing strings and does not strip them off
when returning them. If this setting is Off, you will need to use stripslashes() when outputting
any type of string data from a SQL database. If magic_quotes_sybase is set to On, this must
be Off.
magic_quotes_sybase = Off
This setting escapes single quotes in incoming database and text strings with Sybase-style
single quotes rather than backslashes. If magic_quotes_runtime is set to On, this must be
Off.
auto-prepend-file = [path/to/file]
If a path is specified here, PHP must automatically include() it at the beginning of every PHP
file. Include path restrictions do apply.
auto-append-file = [path/to/file]
If a path is specified here, PHP must automatically include() it at the end of every PHP
file.unless you escape by using the exit() function. Include path restrictions do apply.
include_path = [DIR]
If you set this value, you will only be allowed to include or require files from these
directories. The include directory is generally under your document root; this is mandatory
if you.re running in safe mode. Set this to . in order to include files from the same directory
your script is in. Multiple directories are separated by colons:
.:/usr/local/apache/htdocs:/usr/local/lib.
doc_root = [DIR]
If you.re using Apache, you.ve already set a document root for this server or virtual host in
httpd.conf. Set this value here if you.re using safe mode or if you want to enable PHP only on
a portion of your site (for example, only in one subdirectory of your Web root).
file_uploads = [on/off]
Turn on this flag if you will upload files using PHP script.
upload_tmp_dir = [DIR]
Do not uncomment this line unless you understand the implications of HTTP uploads!
session.save-handler = files
Except in rare circumstances, you will not want to change this setting. So don't touch it.
ignore_user_abort = [On/Off]
This setting controls what happens if a site visitor clicks the browser.s Stop button. The default
is On, which means that the script continues to run to completion or timeout. If the setting is
changed to Off, the script will abort. This setting only works in module mode, not CGI.
mysql.default_host = hostname
The default server host to use when connecting to the database server if no other host is
specified.
mysql.default_user = username
The default user name to use when connecting to the database server if no other name is
specified.
mysql.default_password = password
The default password to use when connecting to the database server if no other password is
specified.
Syntax of PHP:
Canonical PHP tags
The most universally effective PHP tag style is:
<?php...?>
If you use this style, you can be positive that your tags will always be correctly interpreted.
<?...?>
Short tags are, as one might expect, the shortest option You must do one of two things to
enable PHP to recognize the tags:
Set the short_open_tag setting in your php.ini file to on. This option must be disabled to
parse XML with PHP because the same syntax is used for XML tags.
ASP-style tags
ASP-style tags mimic the tags used by Active Server Pages to delineate code blocks. ASP-
<%...%>
style tags look like this:
To use ASP-style tags, you will need to set the configuration option in your php.ini file.
DESIGN
SPECIFICATIONS
Design Specification:
System purpose:
The company wants to find a solution to reduce its operating costs. The system being
developed is a system to handle the business needs of renting out vehicles to customers.
Maintaining records and data on vehicle fleet, operating the customer portal website, and
reporting the state of the system to the company. The system does not fulfill any other needs
of the business.
System scope:
The functional scope of the system is represented in four different aspects of the system.
Customer ServiceModule( CS). WebPortal Module(WP), Fleet Management Module(FM)
and Reports and Analytics Module(RA).
The scope of the Fleet Management module is keeping track of the rental vehicle
fleet. This module’s purpose will be to contain the data on the vehicle fleet and
information about the specific vehicles. The Fleet Management module will not
handle the renting of the vehicles.
The scope of the Customers Web Portal is to rent vehicles to customers online in the
absence of an employee. The module will interface with the fleet management module
but will not perform any of that module’s duties. The same goes for theCustomer
Service module.
The scope of the Customer Service Module is to provide a clear and easy to use layout
for employees and customers to follow along with as they work out rental. As
mentioned above the module will interface with the fleet management module but will
not perform any of that module’s duties.
The scope of the Reports and Analytics Module is to provide a predetermined spot
that will contain all of the reports made from employees on car rentals. It will help the
store managers and corporate office when they need to file reports and check on
rentals.
System Context:
The system has been designed with four modules in mind. These modules are the customer
service module. The web portal module, the fleet management module, and the reports and
analytics module. These four modules will make up the structure of the system. The
customer service module will be the part of the system that is supposed to provide the
employee with everything they need to perform their duties. The web portal module will be
the part of the system that handles the website where the customers will be able to go through
an automated process to rent cars. The fleet management module will do as its name suggests
and manage the rental fleet. The reports and analytics module will be the part of the system
that will be used to generate reports from the remaining three modules for the purpose
organizing the data on the status of the company. The system will be able to interact with
outside systems to process payment on behalf of the company.
System functions:
This system will be able to rent our vehicles. The system will be able to accept payments.
The system will keep track of the rental fleet. The system will generate reports for the
employees.
System Analysis:
The analysis model is a concise, precise abstraction of what the desired system must do, and
not how it will be done after the study of the existing system is completed. This basically
includes system study and the requirement analysis. Interacting with the clients regarding
their requirements and expectations from the system does requirement analysis.
Class diagram:
Sequence diagram:
IMPLEMENTATION
DETAILS
Implementation Details:
Implementation Methodology:
Model View Controller (MVC) as it is popularly called, is a software design pattern for
developing web application. A Model View Controller pattern made up of the following
three parts:
Model – The lowest level of the pattern which is responsible for maintaining the data
View - This is responsible for displaying all or portion of the data to the user
Controller – Software Code that controls the interaction between the Model and View
MVC is popular as it isolates the application logic from the user interface layer and supports
separation of concerns. Here the controller receives all requests for the application and then
works with the Model to prepare any data needed by the View. The view then uses the data
prepared by the controller to generate a final presentable response. The MVC abstraction can
be graphically represented as follows.
Data Security System: The data security system will allow data to be securely transmitted
between the various components of the portal. This includes transmission of product,
merchant and customer information from the content management system to the website, and
also the transmission of data from the website to the content management system.
Folder Security using .htaccess: The .htaccess file in your sites directory is a configuration
file you can use to override the settings on your web server. With the right commands, you
can enable / disable extra functionality and features to protect your site from spammers,
hackers and other threats.
Prevent Directory Browsing: Protecting directories from being listed is, at best, security by
obscurity. That is, its hiding your stuff from view, preventing meddling visitors from
browsing through your directories. Really, is the web equivalent of hiding your cash under
your mattress. Still, it’s good practice to prevent directory browsing, along with
implementing other measures to secure your site. To disable browsing of your directories,
add this to your .htaccess file: Options All – Indexes.
Source Code:
Index Page:
<?php
session_start();
include('includes/config.php');
error_reporting(0);
?>
<!DOCTYPE HTML>
<html lang="en">
<head>
<!--Bootstrap -->
<link href="https://fonts.googleapis.com/css?family=Lato:300,400,700,900"
rel="stylesheet">
</head>
<body>
<?php include('includes/colorswitcher.php');?>
<!--Header-->
<?php include('includes/header.php');?>
<div class="container">
<div class="div_zindex">
<div class="row">
<div class="banner_content">
</div>
</div>
</div>
</div>
</section>
<div class="container">
<p>We aren't addicted to oil, but our cars are.Self-driving cars are the natural extension of
active safety and obviously something we should do.A racing car is an animal with a
thousand adjustments.Race cars, no matter what size or shape they are, they do the same
things. It is not complicated.</p>
</div>
<div class="row">
<div class="recent-tab">
</ul>
</div>
<div class="tab-content">
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
foreach($results as $result)
?>
<div class="col-list-3">
<div class="recent-car-list">
<ul>
</ul>
</div>
<div class="car-title-m">
</div>
<div class="inventory_info_m">
</div>
</div>
</div>
<?php }}?>
</div>
</div>
</div>
</section>
<section class="fun-facts-section">
<div class="row">
<div class="fun-facts-m">
<div class="cell">
<p>Years In Business</p>
</div>
</div>
</div>
<div class="fun-facts-m">
<div class="cell">
</div>
</div>
</div>
<div class="fun-facts-m">
<div class="cell">
</div>
</div>
</div>
<div class="fun-facts-m">
<div class="cell">
<p>Satisfied Customers</p>
</div>
</div>
</div>
</div>
</div>
<div class="dark-overlay"></div>
</section>
<!--Testimonial -->
</div>
<div class="row">
<div id="testimonial-slider">
<?php
$tid=1;
$query->bindParam(':tid',$tid, PDO::PARAM_STR);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
foreach($results as $result)
{ ?>
<div class="testimonial-m">
<div class="testimonial-content">
<div class="testimonial-heading">
</div>
</div>
</div>
<?php }} ?>
</div>
</div>
</div>
<div class="dark-overlay"></div>
</section>
<!-- /Testimonial-->
<!--Footer -->
<?php include('includes/footer.php');?>
<!-- /Footer-->
<!--Back to top-->
<!--/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 -->
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/bootstrap.min.js"></script>
<script src="assets/js/interface.js"></script>
<!--Switcher-->
<script src="assets/switcher/js/switcher.js"></script>
<!--bootstrap-slider-JS-->
<script src="assets/js/bootstrap-slider.min.js"></script>
<!--Slider-JS-->
<script src="assets/js/slick.min.js"></script>
<script src="assets/js/owl.carousel.min.js"></script>
</body>
</html>
Profile page:
<?php
session_start();
error_reporting(0);
include('includes/config.php');
if(strlen($_SESSION['login'])==0)
header('location:index.php');
else{
if(isset($_POST['updateprofile']))
$name=$_POST['fullname'];
$mobileno=$_POST['mobilenumber'];
$dob=$_POST['dob'];
$adress=$_POST['address'];
$city=$_POST['city'];
$country=$_POST['country'];
$email=$_SESSION['login'];
$query = $dbh->prepare($sql);
$query->bindParam(':name',$name,PDO::PARAM_STR);
$query->bindParam(':mobileno',$mobileno,PDO::PARAM_STR);
$query->bindParam(':dob',$dob,PDO::PARAM_STR);
$query->bindParam(':adress',$adress,PDO::PARAM_STR);
$query->bindParam(':city',$city,PDO::PARAM_STR);
$query->bindParam(':country',$country,PDO::PARAM_STR);
$query->bindParam(':email',$email,PDO::PARAM_STR);
$query->execute();
?>
<!DOCTYPE HTML>
<html lang="en">
<head>
<!--Bootstrap -->
<!--slick-slider -->
<!--bootstrap-slider -->
<link href="https://fonts.googleapis.com/css?family=Lato:300,400,700,900"
rel="stylesheet">
<style>
.errorWrap {
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
.succWrap{
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
</style>
</head>
<body>
<?php include('includes/colorswitcher.php');?>
<!--Header-->
<?php include('includes/header.php');?>
<!--Page Header-->
<div class="container">
<div class="page-header_wrap">
<div class="page-heading">
<h1>Your Profile</h1>
</div>
<ul class="coustom-breadcrumb">
<li><a href="#">Home</a></li>
<li>Profile</li>
</ul>
</div>
</div>
<div class="dark-overlay"></div>
</section>
<?php
$useremail=$_SESSION['login'];
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
foreach($results as $result)
{ ?>
<div class="container">
</div>
<div class="dealer_info">
</div>
</div>
<div class="row">
<?php include('includes/sidebar.php');?>
<div class="profile_wrap">
<?php
<form method="post">
<div class="form-group">
</div>
<?php if($result->UpdationDate!=""){?>
<div class="form-group">
</div>
<?php } ?>
<div class="form-group">
</div>
<div class="form-group">
</div>
<div class="form-group">
</div>
<div class="form-group">
</div>
<div class="form-group">
</div>
<div class="form-group">
<label class="control-label">Country</label>
</div>
<div class="form-group">
<label class="control-label">City</label>
</div>
<?php }} ?>
<div class="form-group">
</div>
</form>
</div>
</div>
</div>
</div>
</section>
<!--/Profile-setting-->
<<!--Footer -->
<?php include('includes/footer.php');?>
<!-- /Footer-->
<!--Back to top-->
<!--/Back to top-->
<!--Login-Form -->
<?php include('includes/login.php');?>
<!--/Login-Form -->
<!--Register-Form -->
<?php include('includes/registration.php');?>
DEPARTMENT OF COMPUTER SCIENCE AND APPLICATIONS Page 45
CAR RENTAL SYSTEM
<!--/Register-Form -->
<!--Forgot-password-Form -->
<?php include('includes/forgotpassword.php');?>
<!--/Forgot-password-Form -->
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/bootstrap.min.js"></script>
<script src="assets/js/interface.js"></script>
<!--Switcher-->
<script src="assets/switcher/js/switcher.js"></script>
<!--bootstrap-slider-JS-->
<script src="assets/js/bootstrap-slider.min.js"></script>
<!--Slider-JS-->
<script src="assets/js/slick.min.js"></script>
<script src="assets/js/owl.carousel.min.js"></script>
</body>
</html>
<?php } ?>
Car Listing:
<?php
session_start();
include('includes/config.php');
error_reporting(0);
?>
<!DOCTYPE HTML>
<html lang="en">
<head>
<!--Bootstrap -->
<!--slick-slider -->
<!--bootstrap-slider -->
<link href="https://fonts.googleapis.com/css?family=Lato:300,400,700,900"
rel="stylesheet">
</head>
<body>
<?php include('includes/colorswitcher.php');?>
<!--Header-->
<?php include('includes/header.php');?>
<!--Page Header-->
<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>
<div class="dark-overlay"></div>
</section>
<!--Listing-->
<section class="listing-page">
<div class="container">
<div class="row">
<div class="result-sorting-wrapper">
<div class="sorting-count">
<?php
$query->bindParam(':vhid',$vhid, PDO::PARAM_STR);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=$query->rowCount();
?>
</div>
</div>
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
foreach($results as $result)
{ ?>
</div>
<div class="product-listing-content">
<ul>
</ul>
</div>
</div>
<?php }} ?>
</div>
<!--Side-Bar-->
<div class="sidebar_widget">
<div class="widget_heading">
</div>
<div class="sidebar_filter">
<option>Select Brand</option>
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
foreach($results as $result)
{ ?>
<?php }} ?>
</select>
</div>
<option value="Petrol">Petrol</option>
<option value="Diesel">Diesel</option>
<option value="CNG">CNG</option>
</select>
</div>
<div class="form-group">
</div>
</form>
</div>
</div>
<div class="sidebar_widget">
<div class="widget_heading">
</div>
<div class="recent_addedcars">
<ul>
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
foreach($results as $result)
{ ?>
<li class="gray-bg">
</div>
</li>
<?php }} ?>
</ul>
</div>
</div>
</aside>
<!--/Side-Bar-->
</div>
</div>
</section>
<!-- /Listing-->
<!--Footer -->
<?php include('includes/footer.php');?>
<!-- /Footer-->
<!--Back to top-->
<!--/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');?>
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/bootstrap.min.js"></script>
<script src="assets/js/interface.js"></script>
<!--Switcher-->
<script src="assets/switcher/js/switcher.js"></script>
<!--bootstrap-slider-JS-->
<script src="assets/js/bootstrap-slider.min.js"></script>
<!--Slider-JS-->
<script src="assets/js/slick.min.js"></script>
<script src="assets/js/owl.carousel.min.js"></script>
</body></html>
require_once("includes/config.php");
if(!empty($_POST["emailid"])) {
$email= $_POST["emailid"];
if (filter_var($email, FILTER_VALIDATE_EMAIL)===false) {
else {
$query-> execute();
$cnt=1;
echo "<script>$('#submit').prop('disabled',true);</script>";
} else{
echo "<script>$('#submit').prop('disabled',false);</script>";
}}}?>
Testimonials page:
<?php
session_start();
error_reporting(0);
include('includes/config.php');
if(strlen($_SESSION['alogin'])==0)
header('location:index.php');
else{
if(isset($_REQUEST['eid']))
$eid=intval($_GET['eid']);
$status="0";
$query = $dbh->prepare($sql);
if(isset($_REQUEST['aeid']))
$aeid=intval($_GET['aeid']);
$status=1;
$query = $dbh->prepare($sql);
?>
<!doctype html>
<head>
<meta charset="UTF-8">
<style>
.errorWrap {
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
.succWrap{
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
</style>
</head>
<body>
<?php include('includes/header.php');?>
<div class="ts-main-content">
<?php include('includes/leftbar.php');?>
<div class="content-wrapper">
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<div class="panel-body">
<thead>
<tr>
<th>#</th>
<th>Name</th>
<th>Email</th>
<th>Testimonials</th>
<th>Posting date</th>
<th>Action</th>
</tr>
</thead>
<tfoot>
<tr>
<th>#</th>
DEPARTMENT OF COMPUTER SCIENCE AND APPLICATIONS Page 60
CAR RENTAL SYSTEM
<th>Name</th>
<th>Email</th>
<th>Testimonials</th>
<th>Posting date</th>
<th>Action</th>
</tr>
</tfoot>
<tbody>
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
foreach($results as $result)
?>
<tr>
{
DEPARTMENT OF COMPUTER SCIENCE AND APPLICATIONS Page 61
CAR RENTAL SYSTEM
</td>
<?php } ?></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap-select.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/jquery.dataTables.min.js"></script>
<script src="js/dataTables.bootstrap.min.js"></script>
<script src="js/Chart.min.js"></script>
<script src="js/fileinput.js"></script>
<script src="js/chartData.js"></script>
Update-contactinfo page:
<?php
session_start();
error_reporting(0);
include('includes/config.php');
if(strlen($_SESSION['alogin'])==0)
header('location:index.php');
else{
if(isset($_POST['submit']))
$address=$_POST['address'];
$email=$_POST['email'];
$contactno=$_POST['contactno'];
$query = $dbh->prepare($sql);
$query->bindParam(':address',$address,PDO::PARAM_STR);
$query->bindParam(':email',$email,PDO::PARAM_STR);
$query->bindParam(':contactno',$contactno,PDO::PARAM_STR);
$query->execute();
?>
<!doctype html>
<head>
<meta charset="UTF-8">
<style>
.errorWrap {
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
.succWrap{
padding: 10px;
margin: 0 0 20px 0;
background: #fff;
</style>
</head>
<body>
<?php include('includes/header.php');?>
<div class="ts-main-content">
<?php include('includes/leftbar.php');?>
<div class="content-wrapper">
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<div class="row">
<div class="col-md-10">
<div class="panel-body">
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
foreach($results as $result)
?>
<div class="form-group">
<div class="col-sm-8">
</div>
</div>
<div class="form-group">
<div class="col-sm-8">
</div>
</div>
<div class="form-group">
<div class="col-sm-8">
</div>
</div>
<?php }} ?>
<div class="hr-dashed"></div>
<div class="form-group">
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap-select.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/jquery.dataTables.min.js"></script>
<script src="js/dataTables.bootstrap.min.js"></script>
<script src="js/Chart.min.js"></script>
<script src="js/fileinput.js"></script>
<script src="js/chartData.js"></script>
<script src="js/main.js"></script>
</body>
</html>
<?php } ?>
Logout page:
<?php
session_start();
$_SESSION = array();
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
unset($_SESSION['login']);
header("location:index.php");
?>
Screen Shots:
Home page
Home page
Login page
User settings
Car view
Car listing
Car listing
Car listing
Car listing
Car booking
Users booking
User testimonial
Subscribers
Admin settings
Admin login
Admin dashboard
Tables
Admin table
Booking table
Brands table
Contact us table
Pages table
Subscribers table
Testimonial table
TESTING
System Testing:
The purpose of testing is to discover errors. Testing is the process of trying to discover every
conceivable fault or weakness in a work product. It provides a way to check the functionality
of components, sub assemblies, assemblies and/or a finished product It is the process of
exercising software with the intent of ensuring that the
Software system meets its requirements and user expectations and does not fail in an
unacceptable manner. There are various types of test. Each test type addresses a specific
testing requirement.
Type of tests:
Unit testing
Unit testing involves the design of test cases that validate that the internal program logic is
functioning properly, and that program inputs produce valid outputs. All decision branches
and internal code flow should be validated. It is the testing of individual software units of the
application .it is done after the completion of an individual unit before integration. This is a
structural testing, that relies on knowledge of its construction and is invasive. Unit tests
perform basic tests at component level and test a specific business process, application,
and/or system configuration. Unit tests ensure that each unique path of a business process
performs accurately to the documented specifications and contains clearly defined inputs and
expected results.
Integration testing
Integration tests are designed to test integrated software components to determine if they
actually run as one program. Testing is event driven and is more concerned with the basic
outcome of screens or fields. Integration tests demonstrate that although the components were
individually satisfaction, as shown by successfully unit testing, the combination of
components is correct and consistent. Integration testing is specifically aimed at exposing
the problems that arise from the combination of components.
Functional test
Functional tests provide systematic demonstrations that functions tested are available as
specified by the business and technical requirements, system documentation, and user
manuals.
System Test
System testing ensures that the entire integrated software system meets requirements. It
tests a configuration to ensure known and predictable results. An example of system testing is
the configuration oriented system integration test. System testing is based on process
descriptions and flows, emphasizing pre-driven process links and integration points.
Unit Testing:
Unit testing is usually conducted as part of a combined code and unit test phase of the
software lifecycle, although it is not uncommon for coding and unit testing to be conducted as
two distinct phases.
Test objectives
All field entries must work properly.
Pages must be activated from the identified link.
The entry screen, messages and responses must not be delayed.
Features to be tested
Verify that the entries are of the correct format
No duplicate entries should be allowed
All links should take the user to the correct page.
Integration Testing
Software integration testing is the incremental integration testing of two or more integrated
software components on a single platform to produce failures caused by interface defects.
The task of the integration test is to check that components or software applications, e.g.
components in a software system or – one step up – software applications at the company
level – interact without error.
Test Results: All the test cases mentioned above passed successfully. No defects
encountered.
Acceptance Testing
User Acceptance Testing is a critical phase of any project and requires significant
participation by the end user. It also ensures that the system meets the functional
requirements.
Test Results: All the test cases mentioned above passed successfully. No defects
encountered.
CONCLUSION
Conclusion:
Car rental business has emerged with a new goodies compared to past experience where
every activity concerning car rental business is limited to a physical location only. Even
through the physical location has not been totally exadicated , 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 to go 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.
Today, the market place is flooded with several car rental options for shoppers to choose
from. A variety of innovative products and services are being offered spoiling customers for
choice. Online Car Rental System is no more a privilege enjoyed by your friends and family.
Today, it is a reality in India. In the last couple of years, the growth of car rental system
industry in India has been phenomenal as more shoppers have started discovering the benefits
of using this platform. There is enough scope for online businesses in the future if they
understand the Indian shoppers psyche and cater to their needs.
BIBLIOGRAPHY
Bibliography:
Websites: www.Google.com