House Rental Management System Report
House Rental Management System Report
By
MCA – I, SEM – I
A.Y. 2023-24
To
Savitribai Phule Pune University,Pune
Batch 2023-2025
Date:-
1
CERTIFICATE
This is to certify that Miss. Nidhi Argulewar And Miss. Sejal Pranay Rahood , has
System” in partial fulfillment of MCA – I Semester-I program for the year A.Y. 2023-
Examiner 1 Examiner 2
Date :
Place :
2
Acknowledgment
We are the student of MCA first year. Here by we express our thanks to our project guide for
allowing us to do the project on House Rental Management System. This project work has been
the most exciting part of our learning experience which would be an asset for our future carrier.
We would especially like to thank our guide and mentor Prof. Poonam Lalwani, who constantly
guided us in developing, pushing us to search for more answers to her numerous questions.
Also I would like to thank Dr. Rupali Dahake , project coordinators for her support. As a
building block of MCA Department, I thank Dr. Manisha Kumbhar, HOD, MCA Department
for her continuous support and help. We are grateful to many classmates who contributed their
suggestions. Their hard work and examples push us to limits of our capability and encourage us
daily.
Thank You
Nidhi Argulewar
Sejal Rahood
3
Index
4
Chapter 1: INTRODUCTION
5
1.1 Existing System
An existing house rental management system is a web page that helps rental house
businesses manage their property listing, tenant management, maintenance requests,
rent collection, document management, reporting and analytics and communication.
These systems typically include features for:
Property Listing:
o Landlords can easily list their properties for rent, providing detailed information
such as location, rental price, amenities, and photographs.
Tenant Management:
o The system facilitates the management of tenants by allowing landlords to keep
track of tenant information, lease agreements, rent payments, and communication
history.
Maintenance Requests:
o Tenants can submit maintenance requests through the system, which are
automatically routed to the appropriate maintenance personnel for resolution.
Landlords can track the status of maintenance requests and ensure timely
resolution.
Rent Collection:
o The system enables automated rent collection, allowing landlords to set up
recurring payment schedules and receive rent payments electronically. It also
sends reminders to tenants for upcoming rent payments, reducing the risk of late
payments.
Document Management:
6
o Important documents such as lease agreements, rental applications, and inspection
reports can be stored securely within the system. This ensures easy access to
documentation when needed and reduces the reliance on paper-based processes.
7
1.2 Need for System
The need for a House Rental Management System arises from several
challenges and inefficiencies inherent in traditional methods of managing rental
properties. Here are some key reasons why such a system is essential:
Streamlining Processes:
o Traditional methods of managing rental properties often involve manual
paperwork, phone calls, and in-person interactions. This can be time-consuming
and prone to errors. A rental management system streamlines these processes by
digitizing documentation, automating tasks such as rent collection and
maintenance requests, and providing a centralized platform for communication.
Tenant Management:
o Managing tenants effectively is crucial for landlords to ensure timely rent
payments, address maintenance issues promptly, and maintain positive
relationships. A rental management system provides tools for managing tenant
information, tracking lease agreements, communicating with tenants, and
handling maintenance requests efficiently.
Financial Management:
o Keeping track of rental income, expenses, and financial records manually can be
challenging and error-prone. A rental management system automates financial
processes such as rent collection, generates financial reports, and provides
insights into the financial performance of rental properties, helping landlords
make informed decisions and optimize their rental income.
Maintenance Management:
o Property maintenance is an ongoing responsibility for landlords, and addressing
maintenance issues promptly is essential for tenant satisfaction. A rental
management system enables tenants to submit maintenance requests online,
8
facilitates communication between landlords and maintenance personnel, tracks
the status of maintenance requests, and ensures timely resolution of issues.
Documentation Management:
o Rental properties involve a significant amount of documentation, including lease
agreements, rental applications, inspection reports, and communication records.
Managing these documents manually can be cumbersome and inefficient. A rental
management system provides a secure and centralized repository for storing and
organizing documentation, ensuring easy access when needed and reducing
reliance on paper-based processes.
9
1.3 Operating Environment Hardware and Software
PHP
HTML
CSS
Jquery
XAMPP
My SQL
VS code
Google chrome
Operating System:-Windows-11 or Later
PHP
PHP is an open-source, interpreted, and object-oriented scripting language that can be executed
at the server-side. PHP is well suited for web development. Therefore, it is used to develop web
applications (an application that executes on the server and generates the dynamic page.).
Feature of PHP
o Simplicity: PHP's organized structure and pre-defined functions make it easy to learn
and use, even for beginners.
o Flexibility: PHP scripts run on any device and integrate seamlessly with various
databases and web servers.
o Object-Oriented Support: PHP supports object-oriented programming,
enabling the development of complex, reusable web pages.
10
o Interpreted Language: PHP's interpreter executes code line by line, ensuring
platform independence and dynamic typing.
o Efficiency and Performance: PHP offers efficient memory management and
faster script execution, enhancing user experience.
o Cost-Effectiveness: Being open-source, PHP is free to use, making it a budget-
friendly choice for developers.
o Security Features: PHP provides robust encryption functions and security
measures to protect against vulnerabilities.
o Platform Independence: PHP runs on multiple operating systems and integrates
with diverse databases and servers.
o Loose Typing: PHP supports variable declaration without data type specification,
simplifying coding.
o Community Support: PHP benefits from a vibrant community of developers,
ensuring continuous improvement and availability of resources.
HTML
Doctypes are not just used for HTML, they can apply to the creation of any
document that uses SGML (Standard Generalized Markup Language). SGML is a
standard for specifying a specific markup language being used. HTML is one of several
markup languages that SGML and doctype declarations apply to.
The other critical requirement for creating an HTML file is saving it with a .html
file extension. Whereas the doctype declaration signals HTML to the computer from the
inside of the file, the file extension signals HTML to the computer from the outside of
the file. By having both, a computer can tell that it's an HTML file whether it's reading
the file or not. This becomes especially important when uploading the files to the web,
because the web server needs to know what to do with the files before it can send them
to a client computer for the inner contents to be read.
After writing the doctype and saving as an HTML file, a user can implement all
the other syntactic tools of HTML to customize a web page. Once finished, they will
likely have several HTML files corresponding to various pages of the website. It's
important that the user uploads these files in the same hierarchy that they saved them in,
as each page references the specific file paths of the other pages, enabling links between
them. Uploading them in a different order will cause links to break and pages to be lost,
because the specified file paths will not match the pages.
CSS
12
Cascading Style Sheets (CSS) is a style sheet language used for describing the
presentation of a document written in a markup language like HTML. CSS is a
cornerstone technology of the World Wide Web, alongside HTML and JavaScript.
Separation of formatting and content also makes it feasible to present the same
markup page in different styles for different rendering methods, such as on-screen, in
print, by voice (via speech-based browser or screen reader), and on Braille-based tactile
devices. CSS also has rules for alternate formatting if the content is accessed on a
mobile device. The name cascading comes from the specified priority scheme to
determine which declaration applies if more than one declaration of a property match a
particular element. This cascading priority scheme is predictable.
The CSS specifications are maintained by the World Wide Web Consortium
(W3C). Internet media type (MIME type) text/css is registered for use with CSS by
RFC 2318 (March 1998). The W3C operates a free CSS validation service for CSS
documents.
13
jQuery
XAMPP
XAMPP is a free and open source cross-platform web server solution stack
package developed by Apache Friends, consisting mainly of the Apache HTTP Server,
MariaDB database, and interpreters for scripts written in the PHP and Perl programming
languages. XAMPP stands for Cross-Platform (X), Apache (A), MariaDB (M), PHP (P)
and Perl (P). It is a simple, lightweight Apache distribution that makes it extremely easy
for developers to create a local web server for testing and deployment purposes.
Everything needed to set up a web server – server application (Apache), database
(MariaDB), and scripting language (PHP) – is included in an extractable file. XAMPP is
also cross-platform, which means it works equally well on Linux, Mac and Windows.
Since most actual web server deployments use the same components as XAMPP, it
makes transitioning from a local test server to a live server extremely easy as well.
XAMPP, which stands for Cross-Platform, Apache, MySQL, PHP, and Perl, is a
free platform that allows developers to test their code locally on their own computers.
This platform provides the experience of having your own mini web server at home,
compatible with both Windows (WAMP) and Linux (LAMP) environments. It is a safe
space to experiment and perfect code before it goes live.
XAMPP also works with Bitnami, a software installer, allowing you to easily
add web applications like OpenSSL, WordPress, and Joomla to your local server. If
you're aiming to become or you are a web developer, XAMPP is a useful tool to help
you practice and enhance your coding skills.
14
XAMPP is simply a local host or server.
This local server runs on your personal computer, whether it’s a desktop or a laptop.
It is used to test clients or websites before publishing them to a remote web server.
On a local computer, the XAMPP server software provides a suitable environment for
testing MYSQL, PHP, Apache, and Perl projects. Because most real-world web server
deployments share the same components as XAMPP, moving from a local test server to
a live server is straightforward.
My SQL
MySQL is currently the most popular database management system software used for
managing the relational database. It is open-source database software, which is
supported by Oracle Company. It is fast, scalable and easy to use database management
system in comparison with Microsoft SQL Server and Oracle Database. It is commonly
used in conjunction with PHP scripts for creating powerful and dynamic server-side or
web-based enterprise applications.
A relational database stores data in separate tables rather than putting all the data
in one big storeroom. The database structure is organized into physical files optimized
for speed. The logical data model, with objects such as data tables, views, rows, and
columns, offers a flexible programming environment. You set up rules governing the
relationships between different data fields, such as one to one, one to many, unique,
required, or optional, and “pointers” between different tables. The database enforces
these rules so that with a well-designed database your application never sees data that’s
inconsistent, duplicated, orphaned, out of date, or missing.
The “SQL” part of “MySQL” stands for “Structured Query Language.” SQL is
the most common standardized language used to access databases. Depending on your
programming environment, you might enter SQL directly (for example, to generate
15
reports), embed SQL statements into code written in another language, or use a
language-specific API that hides the SQL syntax.
Structured Query Language (SQL) is a specialized programming language
used for managing and manipulating relational databases. Developed in the 1970s, SQL
has become the standard language for interacting with and managing data in relational
database management systems (RDBMS). Its primary functions include querying and
updating data, defining and modifying the structure of databases, and controlling access
to data.
Data Querying: SQL allows users to retrieve specific data from a database using
queries. The SELECT statement is fundamental for this purpose, enabling the retrieval
of data based on specified conditions.
Data Definition: SQL is used to define and modify the structure of a database.
Commands like CREATE TABLE, ALTER TABLE, and DROP TABLE are employed
to create, modify, or delete tables, respectively.
Data Integrity: SQL includes mechanisms for enforcing data integrity through
constraints such as primary keys, foreign keys, unique constraints, and check
constraints. These ensure the accuracy and consistency of the data stored in a database.
16
Data Security: SQL provides features for controlling access to databases and their
objects. This includes granting or revoking privileges on tables, views, and other
database elements.
Vs code
VS Code, short for Visual Studio Code, is a powerful and popular code editor
developed by Microsoft. It's known for its versatility, ease of use, and extensive
customization options.
17
CHAPTER 2 : PROPOSED SYSTEM
Reduced costs:
o The system will help to identify areas where costs can be reduced.
Increased revenue:
o The system's upselling and pricing optimization features will help to increase revenue.
o Users (admins, owners, customers, tenants) can register and log in securely.
o Access permissions are granted based on user roles.
Property Management:
o Owners can list their properties for rent, including details like location, size, amenities,
and rental price.
o Admins can review and approve property listings.
o Properties can be categorized and filtered for easier search.
18
Booking and Reservation System:
o Customers and tenants can leave reviews and ratings for properties.
o Owners can respond to reviews and address concerns.
o Ratings and reviews contribute to property reputation and trustworthiness.
o Centralized dashboard for admins to manage users, properties, bookings, and system
configurations.
o Settings for customizing features, notifications, and permissions
19
2.2 Modules Specification (Scope)
Owner Module:
Customer Module:
Tenant Module:
20
Admin Module:
Booking Module:
Rating Module:
Houses Module:
21
o Integration with mapping services for location visualization.
o Centralize property information, including details such as addresses, rental prices, lease
agreements, and maintenance records.
o Enable property owners/managers to easily add, edit, and delete property listings, as
well as track property availability.
o Ensure the rental house management system complies with relevant laws and
regulations, including data privacy laws and landlord-tenant regulations.
o Maintain accurate records of lease agreements, tenant information, and financial
transactions to meet legal requirements.
22
Enhanced Security and Data Protection:
o Design the system to accommodate the growth of rental properties, tenants, and
transactions over time.
o Ensure scalability and adaptability to integrate new features, technologies, and third-
party services as needed to meet evolving business requirements.
o Reduce manual tasks and paperwork associated with property management, tenant
communication, and financial administration.
o Increase operational efficiency and productivity for property owners/managers by
automating repetitive tasks and optimizing workflow processes.
23
CHAPTER 3 : ANALYSIS & DESIGN
System
24
Admin
25
Tenants:
26
Customer:
27
Booking:
28
Rating:
29
3.2 Activity Diagram:
30
3.3 Sequence Diagram
31
3.4 Class Diagram
32
3.5 Modular Hierarchy Diagram:
33
3.3 Table Specification (Data Design)
34
Booking: Booking structure table this stores the data of booking
35
Owner: Owner structure table this stores the data of Owners
36
Tenant: Tenant structure table this stores the data of tenants
37
Customer: Customer structure table this stores the data of customers
38
Rating: Rating structure table this stores the details of ratings
39
CHAPTER 4 : USER MANUAL
Index Page:
40
41
Admin Login:
42
Sign-in:
43
Sign-Up:
44
Home Page
45
Admin Panel
46
Add Admin
47
Manager Owner:
48
Manage Tenants:
49
Manage Customer:
50
Houses:
51
Booking:
52
Owner Table
53
Tenant Table
54
Ratings:
55
4.3 Test Case:
56
57
4.4 Sample Code :
Index:
<?php
include('includes/[Link]');
include('includes/[Link]');
?>
<!-- Begin Page Content -->
<div class="container-fluid">
<!-- Page Heading -->
<div class="d-sm-flex align-items-center justify-content-between
mb-4">
<h1 class="h3 mb-0 text-gray-800">Dashboard</h1>
<!-- <a href="#" class="d-none d-sm-inline-block btn btn-sm
btn-primary shadow-sm"><i
class="fas fa-download fa-sm text-white-50"></i> Generate
Report</a> -->
</div>
<!-- Content Row -->
<div class="row">
<!-- Earnings (Monthly) Card Example -->
<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-primary shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-primary
text-uppercase mb-1">Total Registered Admin</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">
<h4>Total Admin: *</h4>
<?php
require ('[Link]');
$query = "SELECT id FROM admin ORDER BY id";
$query_run = mysqli_query($connection,$query);
58
$row = mysqli_num_rows($query_run);
echo '<h1>'.$row.'</h1>';
?>
</div>
</div>
<div class="col-auto">
<i class="fas fa-calendar fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
<!-- Earnings (Monthly) Card Example -->
<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-success shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-success
text-uppercase mb-1">Total Owner Registered</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">
<?php
require ('[Link]');
$query = "SELECT id FROM owner ORDER BY o_id";
$query_run = mysqli_query($connection,$query);
$row = mysqli_num_rows($query_run);
echo '<h1>'.$row.'</h1>';
?>
</div>
</div>
<div class="col-auto">
<i class="fas fa-dollar-sign fa-2x text-gray-
300"></i>
59
</div>
</div>
</div>
</div>
</div>
<!-- Earnings (Monthly) Card Example -->
<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-info shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-info text-
uppercase mb-1">Existing Tenants</div>
<div class="row no-gutters align-items-center">
<div class="col-auto">
<div class="h5 mb-0 mr-3 font-weight-bold text-
gray-800">
<?php
require ('[Link]');
$query = "SELECT * FROM tenant WHERE id ='$t_id' ";
$query_run = mysqli_query($connection,$query);
$row = mysqli_num_rows($query_run);
echo '<h1>'.$row.'</h1>';
?>
</div>
</div>
<div class="col">
<div class="progress progress-sm mr-2">
<div class="progress-bar bg-info"
role="progressbar" style="width: 50%" aria-valuenow="50"
aria-valuemin="0" aria-valuemax="100"></div>
</div>
</div>
</div>
</div>
<div class="col-auto">
<i class="fas fa-clipboard-list fa-2x text-gray-
300"></i>
60
</div>
</div>
</div>
</div>
</div>
<!-- Pending Requests Card Example -->
<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-warning shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-warning
text-uppercase mb-1">Customers</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">
<?php
require ('[Link]');
$query = "SELECT * FROM customer WHERE id ='$c_id' ";
$query_run = mysqli_query($connection,$query);
$row = mysqli_num_rows($query_run);
echo '<h1>'.$row.'</h1>';
?>
</div>
</div>
<div class="col-auto">
<i class="fas fa-comments fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Content Row -->
61
<?php
include('includes/[Link]');
include('includes/[Link]');
?>
Admin:
<?php
session_start();
include('includes/[Link]');
?>
<div class="container">
if(isset($_SESSION['status']) &&
$_SESSION['status'] !='')
{
echo '<h2 class="bg-danger text-white"> '.
$_SESSION['status'].' </h2>';
unset($_SESSION['status']);
}
?>
</div>
62
<form class="user" action="[Link]"
method="POST">
<div class="form-group">
<input type="email" name="emaill" class="form-
control form-control-user" placeholder="Enter Email Address...">
</div>
<div class="form-group">
<input type="password" name="passwordd"
class="form-control form-control-user" placeholder="Password">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<?php
include('includes/[Link]');
?>
Admin Dashboard:
<?php
include('includes/[Link]');
include('includes/[Link]');
?>
63
<!-- Begin Page Content -->
<div class="container-fluid">
require ('[Link]');
$row = mysqli_num_rows($query_run);
echo '<h1>'.$row.'</h1>';
?>
</div>
</div>
<div class="col-auto">
<i class="fas fa-calendar fa-2x text-gray-300"></i>
</div>
64
</div>
</div>
</div>
</div>
require ('[Link]');
$row = mysqli_num_rows($query_run);
echo '<h1>'.$row.'</h1>';
?>
</div>
</div>
<div class="col-auto">
<i class="fas fa-dollar-sign fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
65
<div class="text-xs font-weight-bold text-info text-
uppercase mb-1">Existing Tenants</div>
<div class="row no-gutters align-items-center">
<div class="col-auto">
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-
800">
<h4>Total Tenants: *</h4>
<?php
require ('[Link]');
$row = mysqli_num_rows($query_run);
echo '<h1>'.$row.'</h1>';
?>
</div>
</div>
<div class="col">
<div class="progress progress-sm mr-2">
<div class="progress-bar bg-info" role="progressbar"
style="width: 50%" aria-valuenow="50"
aria-valuemin="0" aria-valuemax="100"></div>
</div>
</div>
</div>
</div>
<div class="col-auto">
<i class="fas fa-clipboard-list fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
66
<div class="text-xs font-weight-bold text-warning text-
uppercase mb-1">Customers</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">
<h4>Total Customers: *</h4>
<?php
require ('[Link]');
$row = mysqli_num_rows($query_run);
echo '<h1>'.$row.'</h1>';
?>
</div>
</div>
<div class="col-auto">
<i class="fas fa-comments fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
</div>
<?php
include('includes/[Link]');
include('includes/[Link]');
?>
67
Admin Login :
<?php
session_start();
include('includes/[Link]');
?>
<div class="container">
if(isset($_SESSION['status']) &&
$_SESSION['status'] !='')
{
echo '<h2 class="bg-danger text-white"> '.
$_SESSION['status'].' </h2>';
unset($_SESSION['status']);
}
?>
</div>
68
<div class="form-group">
<input type="email" name="emaill" class="form-control
form-control-user" placeholder="Enter Email Address...">
</div>
<div class="form-group">
<input type="password" name="passwordd" class="form-
control form-control-user" placeholder="Password">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<?php
include('includes/[Link]');
?>
69
Connection :
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "house_rental";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: ". mysqli_connect_error());
}
echo "Connected successfully";
?>
Booking:
<?php
session_start();
include("[Link]");
$tenantid=$_GET['t'];
$customerid=$_GET['c'];
$houseid=$_GET['h'];
$booking_date=$_GET['b'];
$period=$_GET['p'];
$price=$_GET['pr'];
$agreement=$_GET['a'];
if($_GET['submit'])
{
if($tenantid!="" && $houseid!="" && $booking_date!="" &&
$agreement!="" && $price!="")
{
$query="insert into
booking(t_id,h_id,booking_date,period,price,agreement)
values('$tenantid','$houseid','$booking_date','$period','$price','$
agreement')";
$data=mysqli_query($conn,$query);
if($data)
70
{
echo "<script
type='text/javascript'>alert('Tenant's House Booked Added
successfully')
[Link]='[Link]';
</script>";
}
else
{
echo "<script
type='text/javascript'>alert('Unsuccessfull Booking for Tenant')
[Link]='[Link]';
</script>";
}
}
else
{
$query="insert into
booking(c_id,h_id,booking_date,period,price,agreement)
values('$customerid','$houseid','$booking_date','$period','$price',
'$agreement')";
$data=mysqli_query($conn,$query);
if($data)
{
echo "<script
type='text/javascript'>alert('Customer's House Booked Added
successfully')
[Link]='[Link]';
</script>";
}
else
{
echo "<script
type='text/javascript'>alert('Unsuccessfull Booking for Customer')
[Link]='[Link]';
</script>";
}
}
}
?>
71
Add Customer:
<?php
session_start();
include("[Link]");
$customerid=$_GET['c'];
$fname=$_GET['f'];
$email=$_GET['e'];
$pwd=$_GET['p'];
$mobile=$_GET['m'];
$occ=$_GET['o'];
if($_GET['submit'])
{
if($customerid!="" && $fname!="")
{
$query="insert into customer
values('$fname','$email','$pwd','$mob','$occ')";
$data=mysqli_query($conn,$query);
if($data)
{
echo "<script type='text/javascript'>alert('Added
successfully')
[Link]='[Link]';
</script>";
}
else
{
echo "<script
type='text/javascript'>alert('Unsuccessfull')
[Link]='[Link]';
</script>";
}
}
}
?>
72
Add Owner:
<?php
session_start();
include("[Link]");
$name=$_GET['f'];
$email=$_GET['e'];
$pwd=$_GET['p'];
$mob=$_GET['m'];
$occ=$_GET['o'];
$nhouse=$_GET['n'];
$country=$_GET['c'];
$state=$_GET['s'];
$city=$_GET['ci'];
$add=$_GET['a'];
if($_GET['submit'])
{
if($name!="" && $email!="" && $pwd!="" && $mob!="")
{
$query="insert into
owner(name,email,pwd,mobile_no,occupation,no_of_houses,country,stat
e,city,address)
values('$name','$email','$pwd','$mob','$occ','$nhouse','$country','
$state','$city','$add')";
$data=mysqli_query($conn,$query);
if($data)
{
$_SESSION['uname']=$name;
header('location:[Link]');
}
else
{
echo "<script type='text/javascript'>alert('Sign up
unsuccessfull')
[Link]='[Link]';
</script>";
}
}
73
}
?>
Add Tenants:
<!DOCTYPE html>
<html lang="en">
<head>
<title>House Rental Management System</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="[Link]">
<meta name="viewport" content="width=device-width, initial-
scale=1">
<link rel="stylesheet"
href="[Link]
.[Link]">
<script
src="[Link]
js"></script>
<script
src="[Link]
[Link]"></script>
</head>
<body>
74
<a class="dropdown-toggle" data-toggle="dropdown"
href="#">Houses <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="[Link]">Houses</a></li>
<li><a href="[Link]">Rating</a></li>
</ul>
</li>
<li><a href="[Link]">Owners</a></li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown"
href="#">Tenants<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="[Link]">Tenants</a></li>
<li><a href="[Link]">Customers</a></li>
</ul></li>
<li><a href="[Link]">Booking</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<div class="container">
<!--<a href="[Link]" class='btn btn-primary'>Show
Customers</a>-->
<?php
if($_SESSION['ltype']=="tenant")
{
//echo "<a href='[Link]' class='btn btn-primary'>Add
Customer</a> ";
75
?>
<table border="1" id="customer">
<br><br>
<tr>
<th>Tenant ID</th>
<th>Full Name</th>
<th>Email</th>
<th>Mobile No</th>
<th>Occupation</th>
</tr>
<?php
include("[Link]");
$query="select * from tenant";
$data=mysqli_query($conn,$query);
while($result=mysqli_fetch_assoc($data))
{
echo "<tr><td>".$result['t_id']."</td><td>".
$result['fname']."</td><td>".$result['email']."</td><td>".
$result['mobile_no']."</td><td>".$result['occupation']."</td></
tr>";
}
echo "</table>";
?>
</div>
</body>
</html>
Add Rating:
<?php
session_start();
include("[Link]");
$houseid=$_GET['h'];
$tenantid=$_GET['t'];
$rating=$_GET['r'];
$comment=$_GET['c'];
if($_GET['submit'])
{
if($houseid!="" && $tenantid!="" && $rating!="")
{
$query="insert into rating(id,t_id,rating,comment)
values('$houseid','$tenantid','$rating','$comment')";
76
$data=mysqli_query($conn,$query);
if($data)
{
echo "<script type='text/javascript'>alert('Added
successfully')
[Link]='[Link]';
</script>";
}
else
{
echo "<script
type='text/javascript'>alert('Unsuccessfull')
[Link]='[Link]';
</script>";
}
}
}
?>
Add House:
<?php
session_start();
include("[Link]");
$ownerid=$_GET["o"];
$nrooms=$_GET['n'];
$rate=$_GET['ra'];
$pics=$_GET['u'];
$country=$_GET['c'];
$state=$_GET['s'];
$city=$_GET['city'];
$add=$_GET['a'];
$desc=$_GET['de'];
/*$folder="house/";
$_FILES["p"];
$pics= "images/".basename($_FILES['p']['name']);*/
if($_GET['submit'])
{
if($ownerid!="" && $nrooms!="" && $desc!="")
{
// $pics = addslashes(file_get_contents($_FILES["p"]
["tmp_name"]));
/*
77
//you keep your column name setting for insertion. I keep image
type Blob.
$query = "INSERT INTO products (id,image) VALUES('','$image')";
$qry = mysqli_query($conn, $query);*/
//$image = addslashes(file_GET_contents($_FILES['$pics']));
$query="insert into
house(owner_id,no_of_rooms,rate,pics,country,state,city,address,des
cription)
values('$ownerid','$nrooms','$rate','{$pics}','$country','$state','
$city','$add','$desc')";
$data=mysqli_query($conn,$query);
if($data)
{
echo "<script type='text/javascript'>alert('Added
successfully')
[Link]='[Link]';
</script>";
}
else
{
echo "<script
type='text/javascript'>alert('Unsuccessfull')
[Link]='[Link]';
</script>";
}
}
}
?>
78
4.6 Limitations and Bibliography
Limited mobility: Users cannot access a desktop-based system from mobile devices,
limiting the ability to manage rental operations on the go or in remote locations.
Integration Issues: Integrating the rental management system with other software
applications, such as accounting software or property management tools, may encounter
compatibility issues or require custom development, leading to delays or additional
costs.
79
Scalability Challenges: As the number of properties, users, and transactions increases,
the system's scalability may become a limiting factor, causing performance degradation
or requiring costly infrastructure upgrades.
Tenant and Owner Disputes: Disputes between tenants and property owners, such as
disagreements over lease terms, maintenance issues, or rental payments, may arise and
need to be addressed through manual intervention or legal proceedings.
Cost Considerations: The initial investment and ongoing maintenance costs associated
with implementing and operating the rental management system, including software
licensing fees, hardware expenses, and IT support, may pose budgetary constraints for
small businesses or individual property owners
80
Bibliography
References
For PHP
1. [Link]
2. [Link]
3. [Link]
4. [Link]
For MYSQL
1. [Link]
2. [Link]
Book
1. The complete reference book of java
2. PHP programming for Rental house management system - john smith
81