Student Project: Online Furniture Store
Student Project: Online Furniture Store
FURNISHING
A PROJECT REPORT
Submitted by
RANJITHKUMAR S 2021L02
GOKULAKRISHNAN G K 2021T302
BACHELOR OF ENGINEERING
in
MAY 2023
GOVERNMENT COLLEGE OF ENGINEERING, SALEM-11
(An Autonomous Institution Affiliated to Anna University, Chennai, NAAC Accredited)
BONAFIDE CERTIFICATE
SIGNATURE SIGNATURE
First of all, we extend our heart-felt gratitude to the almighty for providing
us with enough strength, courage and ideas for successful completion of the
project. Behind every achievement lies an unfathomable sea of gratitude to those
who are behind it.
We convey our heartfelt gratitude to the honorable and respected Principal
Dr. R. MALAYALAMURTHI, M.E., Ph.D. his encouragement and support for
the successful completion of the project.
We are ineffably indebted to the Head of the Department, Computer
Science and Engineering, Dr. A. M. KALPANA, M. E., Ph. D. who took keen
interest till the completion of our project work by providing all the necessary
information for developing a good system.
We are thankful to our project guide Dr. P. THARANI, M. E., Ph.D.
Assistant Professor, Computer Science and Engineering for her remarkable
guidance and the incessant help in all possible ways from the beginning to
accomplish the project successfully.
We are grateful to our project coordinator Prof. K. MANIMALA, M.E.,
and faculty members of our department for their valuable suggestions and
immediate counselling throughout the completion of the project. We also extend
our gratitude to the non-teaching staff for their timely support.
We also acknowledge with a deep sense of reverence and gratitude towards
our parents, family members and friends, who supported us for the successful
completion of the project.
according the current need in different Fields. This is online shopping Website
which provides facility for purchasing furniture. By using this Online Furniture
Shopping Portal, users which want to purchase some products will first Register
an account on this portal then Login through their Username and Password, and
then Select items which they want to purchase and add them to cart and finally
checkout by giving payment details. So, by using this portal users can easily
customers to quickly find what they are looking for. Customers can view product
images, read detailed descriptions and make informed decisions about their
purchases. The website also provides flexible payment options, including secure
online transactions, and delivery options to ensure that customers receive their
iv
TABLE OF CONTENTS
ABSTRACT iv
LIST OF FIGURES ix
LIST OF ABBREVIATIONS x
1 INTRODUCTION 1
2 SYSTEM ANALYSIS 2
2.1 EXISTING SYSTEM 2
2.1.1 Drawbacks of existing System 2
3 SYSTEM SPECIFICATION 7
4 SOFTWARE SPECIFICATION 8
4.1 PHP 8
4.2 MYSQL 9
4.3PHPMYADMIN 10
v
4.4 APACHE WEBSERVER 12
5 SYSTEM DESIGN 14
5.1 DEFINITION 14
6 MODULES 20
7 SYSTEM TESTING 25
vi
8 CONCLUSION AND FUTURE 28
ENHANCEMENTS
8.1 CONCLUSION 28
APPENDIX-2(SCREENSHOTS) 62
REFERENCES 70
vii
LIST OF TABLES
viii
LIST OF FIGURES
ix
LIST OF ABBREVIATIONS
x
CHAPTER 1
INTRODUCTION
Computer plays an important role in our daily life. Anything we want we can
get only in one mouse click. A very important and basic need of today’s modern
computer. One can easily get the type of required information within a fraction of a
second.
An online furniture shop that allows users to check for various furniture
available at the online store and purchase it. The project consists of list of furniture
products displayed in various models and designs. The user may browse through
these products as per categories. If the user likes a product, he may add it to his
shopping cart. Once user wishes to checkout, he must register on the site first. He
can then login using same id password next time. The user may paythrough a credit
card or cash on delivery. Once the user makes a successful transaction, then the user
gets a copy of the shopping receipt through the registered email id. Thus, the online
furniture shopping project brings an entire furniture shop online and makes it easy
1
CHAPTER 2
SYSTEM ANALYSIS
more complicated task. Because the data and customer are in high level. This
information’s in furniture retail sector is done by the managers and staffs manually
which is a difficult process. At present all records are maintained in Excel sheet
information was processes maintained in work sheets format for its ledgers and files.
This will have a lot of confusion in future references and producing report.
• No Secrecy
2
2.2. PROPOSED SYSTEM
This project titled “Online Furniture Shopping Portal” has been aimed
to design and computerized system that can handle various activities are been carried
out for customer by the sales team at the furniture sales unit. In this website,
activities in the furniture shop are carried out systematically. In the existing system
all the activities and record maintenance of the furniture showroom are done
The proposed system will help them to manage day to day operation very
organization. The user is given necessary guideline so that even a person with least
computer interlay will able to entry the transactions. This Project will be developed
2.2.1 ADVANTAGES
• Track purchases.
3
2.3. FEASIBILITY STUDY
Economic analysis is the most frequently used method for evaluating the
procedure is to determine the benefits and savings that are expected from a candidate
system and compare them with costs. If benefits outweigh costs, then the decision is
returns to the store of good services and market value throughout the future. So, the
This involves questions such as whether the technology needed for the
system exists, how difficult it will be to build, and whether the firm has enough
4
experience using that technology. The assessment is based on an outline design
frequency of updating, etc. in order to estimate whether the new system will
The technical feasibility in the proposed system deals with the technology
used in the system. It deals with the hardware and software used in the system
whether they are of latest technology or not. It happens that after a system is
prepared a new technology arises and the user wants the system based on that
It is a measure of how well a proposed system solves the problems, and takes
advantages of the opportunities identified during scope definition and how it satisfies
development.
aspect and other is the acceptance within the organization. Operational feasibility
determines how the proposed system will fit the current operations and what, if any
5
In the system operational feasibility checks, whether the user who is going to
use the system is able to work with the software with which the system id coded and
also the mind of the user going to use system. If the user does not understand or is
The system is easy to learn and it will require a very short time to learn the
operation of the system for a person having knowledge in accounting. So that system
6
CHAPTER 3
SYSTEM SPECIFICATION
1. OS: Windows 10 or 11
2. PHP Triad:
• PHP
• MYSQL
• PhpMyAdmin
• Apache Webserver
7
CHAPTER 4
SOFTWARE SPECIFICATION
4.1. PHP
language that was originally designed for web development to produce dynamic
web pages. For this purpose, PHP code is embedded into the HTML source
document and interpreted by a web server with a PHP processor module, which
its standard output channel. It may also function as a graphical application. PHP is
available as a processor for most modern web servers and as standalone interpreter
typically that of 32-bit signed integers. Unsigned integers are converted to signed
negative), octal, and hexadecimal notations. Point numbers are also stored in a
8
platform-specific range. They can be specified using floating point notation, or two
Why PHP?
PHP is one of the most popular server-side scripting languages running today. It is
used for creating dynamic Webpages that interact with the user offering customized
information. PHP offers many advantages; it is fast, stable, secure, easy to use and
• User friendly
• GUI
4.2. MYSQL
MySQL is the world's most popular open-source database software, with over
100 million copies of its software downloaded or distributed throughout its history.
With its superior speed, reliability, and ease of use, MySQL has become the
preferred choice for Web, Web 2.0, SaaS, ISV, Telecom companies and forward-
9
Many of the world's largest and fastest-growing organizations use MySQL to save
time and money powering their high-volume Web sites, critical business systems,
MySQL is a key part of WAMP (Window, Apache, MySQL, PHP), the fast-
growing open-source enterprise software stack. More and more companies are using
4.3 PhpMyAdmin
wide range of operations with MySQL. Currently it can create and drop databases,
users and permissions, and manage keys on fields. while you still have the ability
to directly execute any SQL statement. phpMyAdmin can manage a whole MySQL
10
you’ll need a properly set up MySQL user who can read/write only the desired
database. It’s up to you to look up the appropriate part in the MySQL manual.
PhpMyAdmin can:
• create, copy, drop, rename and alter databases, tables, fields and
indexes.
configuration.
formats.
11
4.4. Apache Web server
20 volunteer programmers, called the Apache Group. However, because the source
code is freely available, anyone can adapt the server for specific needs, and there is a
The original version of Apache was written for UNIX, but there are now
versions that run under OS/ 2, Windows and other platforms. The name is a tribute to
the Native American Apache Indian tribe, a tribe well known for its endurance and skill
developed from existing NCSA code plus various patches, hence the name a patchy
Apache consistently rates as the world’s most popular Web server according
reliable, and free. Originally developed for UNIX™ operating systems, Apache has
been updated to run on Windows, OS/2, and other platforms. One aspect of Apache
12
that some site administrators find confusing, especially those unfamiliar with UNIX-
Windows Registry keys as most other modern software packages, Apache generally
13
CHAPTER 5
SYSTEM DESIGN
5.1 DEFINITION
14
5.3 DATA FLOW DIAGRAMS
information about the outputs and inputs of each entity and the process itself. This
type of diagram helps business development and design teams visualize how data is
Customer Category
Management Management
Shopping
Management
Report
Management
Order
Management
Online Furniture Payment
Shopping Portal Management
Brand
Management
Products
Management
15
5.4 UML DIAGRAMS
A UML diagram is a diagram based on the UML (Unified Modeling
Language) with the purpose of visually representing a system along with its main
actors, roles, actions, artifacts or classes, in order to better understand, alter,
maintain, or document information about the system.
The UML architecture is based on the Meta object facility, which defines the
foundation for creating modeling language. They are precise enough to generate the
entire application. UML is designed to enable users to develop an expressive, ready
to use visual modeling development concepts such as framework, pattern and
collaboration.
The need arose for a more unified way to visually represent those systems and
as a result, in 1994-1996, the UML was developed by three software engineers
working at Rational Software. It was later adopted as the standard in 1997 and has
remained the standard ever since, receiving only a few updates.
There are seven types of UML diagrams they are Use Case diagram, Class
diagram, Collaboration diagram, Activity diagram, State diagram, Component
diagram, Deployment diagram.
16
Visit Website
View Furniture
Details
Signup
Login
Do Order
USER
Update Profile
Change Password
Logout
17
Login
Dashboard
Add Products/Brand/
Category/Subcategory
Manage Orders
Manage
ADMIN Reports/Pages
Search Orders
Update Profile
Change Password
Logout
18
5.5 INPUT DESIGN
based format. Input design is one of the most expansive phases of the operation of a
design appropriate data input methods to prevent errors while entering data. These
methods depend on whether the data is entered by customers in forms manually and
later entered by data entry operators. In this application input is given as user/login
id and password.
The design of output is the most important task of any system. During output
design, developers identify the type of outputs needed, and consider the necessary
output controls and prototype report layouts. Output design generally refers to the
results and information that are generated by the system of many end-users: output
is the main reason for developing the system and the basics on which they evaluate
the usefulness of the application. In this application the output will be displayed as
registered user can access website and can use the services, administrator will
19
CHAPTER 6
MODULES
• User Registration: In this section, user can register on the system and get
• User Login: In this section, user can login to system and check various
products.
• Product Categories: In this section, the products are arranged and can be
viewed in categories.
20
Table 6.3 Category Details
• Add to cart: In this section, user can add furniture products to cart.
• My Accounts: In this section user view and update his/her profile, view the
products which is added in the cart, view order details, can change his/her
• User has also a facility to view his/her invoice and cancel order if he/her
wants to cancel.
• Brief Information about homepage:On this page guest user can only
Admin is the super user of the website who can manage everything on the
• Dashboard: In this section, admin can see all detail in brief like the total
new order, total confirmed order, total delivered order, total cancelled order,
21
Total Order, Total Product Products, Total Brand and Total Registered
Users
• Brand: In this section, admin can manage furniture Brand that is admin can
22
• Products. In this section, admin can manage furniture Products that is
• Orders: In this section admin can view the order details and they have also
• Pages: In this section, admin can manage about us and contact us pages.
23
• Reports: In this section, admin can view order details, order counts and
• Search: In this section, admin can search particular order with the help of
order number.
• Admin can also update his profile, change the password and recover the
password.
24
CHAPTER 7
SYSTEM TESTING
finding errors making the program fail. Successful test is the one that reports
system
The development process involves various types of testing. Each test type
Unit testing focuses on the modules independently locate the errors. This
enables the tester to detect errors in coding. It is the process of taking a module and
running it in isolation from rest of the software product by using prepared test cases
25
and comparing the actual result with the result redirected with the specifications and
design of the module. One purpose of testing is to find and remove as many errors
in the software as practical. There are number of reasons in support of unit testing-:
• The size of module single module is small that we can locate an error fairly
easily.
are eliminated.
This is a systematic technique for constructing the program structure while at the
same time to uncover the errors associated with the interface. The objective is to take
unit tested module and build a program structure that has been detected by designing.
The main purpose of integration testing is to determine that the interfaces between
modules are correct or not. One specific target of integration testing is the interface:
whether parameter matches on both sides as to type, permissible ranges, meaning &
hierarchy, adding one module at a time until an entire tree level is generated.
26
• Bottom-Up Approach – The Bottom-up strategy works similarly from the
bottom to up.
simultaneously.
27
CHAPTER 8
8.1 CONCLUSION
convenient and user-friendly platform, the website has provided customers with
images, and the website has empowered users to make informed decisions and
have a clear understanding of the furniture they are interested in. Additionally,
the implementation of a secure payment gateway has ensured that customers can
the gap between traditional furniture shopping and the digital world, providing
28
exceptional customer support, the website has positioned itself as a trusted and
furniture items in their own living spaces. This feature enables customers to
visualize how the furniture will look and fit in their homes before making a
purchase.
environments where customers can virtually explore and interact with different
29
Social Integration and User Reviews: Incorporate social media
reviews on social platforms. This not only enhances engagement but also
30
APPENDIX 1
(SOURCE CODE)
index.php :
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
?>
<!DOCTYPE HTML>
<html>
<head>
<title>Online Furniture Store Management System|| Main Page</title>
<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />
<script type='text/javascript' src="js/jquery-1.11.1.min.js"></script>
<link href="css/style.css" rel='stylesheet' type='text/css' />
<script type="application/x-javascript"> addEventListener("load", function() {
setTimeout(hideURLbar, 0); }, false); function hideURLbar(){
window.scrollTo(0,1); } </script>
<link
href='http://fonts.googleapis.com/css?family=Montserrat|Raleway:400,200,300,50
0,600,700,800,900,100' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Playfair+Display:400,700,900'
rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Aladin' rel='stylesheet'
type='text/css'>
<link href="css/megamenu.css" rel="stylesheet" type="text/css" media="all" />
31
<script type="text/javascript" src="js/megamenu.js"></script>
<script>$(document).ready(function(){$(".megamenu").megamenu();});</script>
<script src="js/menu_jquery.js"></script>
<script src="js/simpleCart.min.js"> </script>
<script src="js/responsiveslides.min.js"></script>
<script>
$(function () {
// Slideshow 1
$("#slider1").responsiveSlides({
auto: true,
nav: true,
speed: 500,
namespace: "callbacks",
});
});
</script>
</head>
<body>
<?php include_once('includes/header.php');?>
<div class="content">
<div class="container">
<div class="slider">
<ul class="rslides" id="slider1">
<li><img src="images/banner2.jpg" alt=""></li>
<li><img src="images/banner1.jpg" alt=""></li>
<li><img src="images/banner3.jpg" alt=""></li>
32
</ul>
</div>
</div>
</div>
<div class="bottom_content">
<div class="container">
<div class="sofas">
<div class="col-md-6 sofa-grid">
<img src="images/t1.jpg" alt=""/>
<h3>IMPORTED DINING SETS</h3>
</div>
<div class="col-md-6 sofa-grid sofs">
<img src="images/t2.jpg" alt=""/>
<h3>SPECIAL DESIGN SOFAS</h3>
</div>
<div class="clearfix"></div>
</div>
</div>
</div>
<br />
<div class="top-sellers">
<div class="container">
<h3>TOP - SELLERS</h3>
<div class="seller-grids">
<?php
$sql="SELECT * from tblproducts order by rand() limit 12";
$query = $dbh -> prepare($sql);
33
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $row)
{ ?>
<div class="col-md-3 seller-grid" style="height:300px;">
<a href="single-product-detail.php?proid=<?php echo
$row->ID;?>"><img src="admin/images/<?php echo $row->Image;?>" alt=""
width="100" height="100"/></a>
<h4><a href="single-product-detail.php?proid=<?php
echo $row->ID;?>"><?php echo $row->ProductTitle;?></a></h4>
<span>ID: <?php echo $row->ProductID;?></span>
<p>Rs. <?php echo $row->RegularPrice;?>/-</p>
</div><?php $cnt=$cnt+1;}}?
<div class="clearfix"></div>
</div>
</div>
</div>
<div class="recommendation">
</div>
<?php include_once('includes/footer.php');?>
</body>
</html>
Products.php:
<?php
34
session_start();
error_reporting(0);
include('includes/dbconnection.php');
?>
<!DOCTYPE HTML>
<html>
<head>
<title>Online Furniture Management System | Products</title>
<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />
<script type='text/javascript' src="js/jquery-1.11.1.min.js"></script>
<link href="css/style.css" rel='stylesheet' type='text/css' />
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="Furnyish Store Responsive web template,
Bootstrap Web Templates, Flat Web Templates, Andriod Compatible web template,
Smartphone Compatible web template, free webdesigns for Nokia, Samsung, LG,
SonyErricsson, Motorola web design" />
<script type="application/x-javascript"> addEventListener("load", function() {
setTimeout(hideURLbar, 0); }, false); function hideURLbar(){
window.scrollTo(0,1); } </script>
<link
href='http://fonts.googleapis.com/css?family=Montserrat|Raleway:400,200,300,50
0,600,700,800,900,100' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Playfair+Display:400,700,900'
rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Aladin' rel='stylesheet'
type='text/css'>
35
<link href="css/megamenu.css" rel="stylesheet" type="text/css" media="all" />
<script type="text/javascript" src="js/megamenu.js"></script>
<script>$(document).ready(function(){$(".megamenu").megamenu();});</script>
<script src="js/menu_jquery.js"></script>
<script src="js/simpleCart.min.js"> </script>
<link href="css/form.css" rel="stylesheet" type="text/css" media="all" />
</head>
<body>
<?php include_once('includes/header.php');?>
<div class="product-model">
<div class="container">
<ol class="breadcrumb">
<li><a href="index.html">Home</a></li>
<li class="active">Products</li>
</ol>
<h2>OUR PRODUCTS</h2>
<?php
$sql="SELECT * from tblproducts";
$query = $dbh -> prepare($sql);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $row)
{ ?>
36
<a href="single-product.php?pid=<?php echo $row->ID;?>"><div
class="product-grid love-grid">
<div class="more-product"><span> </span></div>
<div class="product-img b-link-stripe b-animate-go thickbox">
<img src="admin/images/<?php echo $row->Image;?>" height="200"/>
<div class="b-wrapper">
<h4 class="b-animate b-from-left b-delay03">
<button class="btns"><span class="glyphicon glyphicon-eye-open" aria-
hidden="true"></span>Quick View</button>
</h4>
</div>
</div></a>
<div class="product-info simpleCart_shelfItem">
<div class="product-info-cust">
<h4><?php echo substr($row->ProductTitle,-20);?></h4>
<p>ID: <?php echo $row->ProductID;?></p>
<span class="item_price">Rs. <?php echo $row->SalePrice;?></span>
<input type="text" class="item_quantity" name="quantity" value="1" />
<input type="submit" class="item_add items" value="ADD">
</div>
<div class="clearfix"> </div>
</div>
</div>
<?php }} ?>
</div>
<?php include_once('includes/footer.php');?>
</body>
37
</html>
Cart.php :
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
if (strlen($_SESSION['ofsmsuid']==0)) {
header('location:logout.php');
} else{
if(!empty($_GET["action"])) {
switch ($_GET["action"]) {
case "empty":
unset($_SESSION["cart_item"]);
unset($_SESSION['tprice']);
header('location:cart.php');
break;
}
}
if(isset($_POST['submit']))
{
$fname=$_POST['fname'];
$cnumber=$_POST['cnumber'];
$fnaobno=$_POST['flatbldgnumber'];
38
$street=$_POST['streename'];
$area=$_POST['area'];
$lndmark=$_POST['landmark'];
$city=$_POST['city'];
$zcode=$_POST['zipcode'];
$state=$_POST['state'];
$userid=$_SESSION['ofsmsuid'];
$patype=$_POST['paytype'];
$ordernumber=mt_rand(100000000, 999999999);
$sql="insert into
tblorder(OrderNumber,UserID,FullName,ContactNumber,FlatNo,StreetName,Area
,Landmark,City,Zipcode,State,payType)values(:ordernumber,:userid,:fname,:cnum
ber,:fnaobno,:street,:area,:lndmark,:city,:zcode,:state,:patype)";
$query=$dbh->prepare($sql);
$query->bindParam(':ordernumber',$ordernumber,PDO::PARAM_STR);
$query->bindParam(':userid',$userid,PDO::PARAM_STR);
$query->bindParam(':fname',$fname,PDO::PARAM_STR);
$query->bindParam(':cnumber',$cnumber,PDO::PARAM_STR);
$query->bindParam(':fnaobno',$fnaobno,PDO::PARAM_STR);
$query->bindParam(':street',$street,PDO::PARAM_STR);
$query->bindParam(':area',$area,PDO::PARAM_STR);
$query->bindParam(':lndmark',$lndmark,PDO::PARAM_STR);
$query->bindParam(':city',$city,PDO::PARAM_STR);
$query->bindParam(':zcode',$zcode,PDO::PARAM_STR);
$query->bindParam(':state',$state,PDO::PARAM_STR);
$query->bindParam(':patype',$patype,PDO::PARAM_STR);
$query->execute();
39
$LastInsertId=$dbh->lastInsertId();
if ($LastInsertId>0) {
$quantity=$_POST['quantity'];
$pdd=$_SESSION['pid'];
$value=array_combine($pdd,$quantity);
<?php
if(isset($_SESSION["cart_item"])){
$total_quantity = 0;
$total_price = 0;
?>
<a id="btnEmpty" href="cart.php?action=empty" style="color:red">Empty
Cart</a>
<table class="table table-bordered" cellpadding="10" cellspacing="1">
<tbody>
<tr>
<th style="text-align:left;">Product Image</th>
<th style="text-align:left;">Product Name</th>
<th style="text-align:left;">Code</th>
<th style="text-align:right;" width="5%">Quantity</th>
<th style="text-align:right;" width="10%">Unit Price</th>
<th style="text-align:right;" width="10%">Price</th>
</tr>
<?php
$pdtid=array();
foreach ($_SESSION["cart_item"] as $item){
$item_price = $item["quantity"]*$item["price"];
43
array_push($pdtid,$item['code']);
?>
<tr>
<td><img src="admin/images/<?php echo $item["image"]; ?>"
height='100' width='200'/></td><td><?php echo $item["name"]; ?></strong></td>
<td><?php echo $pd=$item["code"];
$_SESSION['pid']=$pdtid;
?></td>
<td style="text-align:right;"><?php echo $item["quantity"]; ?></td>
<td style="text-align:right;"><?php echo "Rs. ".$item["price"]; ?></td>
</tr>
<?php
$total_quantity += $item["quantity"];
$total_price += ($item["price"]*$item["quantity"]);
}
$_SESSION['tprice']=$total_price;
?>
44
<tr>
<td colspan="3" align="right">Total:</td>
<td align="right"><?php echo $total_quantity; ?></td>
<td align="right" colspan="2"><strong><?php echo
"Rs".number_format($total_price, 2); ?></strong></td>
<td></td>
</tr>
</tbody>
</table>
<div class="cart-total">
<div class="clearfix"></div>
</div>
<h4 class="last-price" style="padding-bottom: 20px">TOTAL</h4>
<span class="total final"><?php echo "Rs. ".number_format($total_price,
2); ?></span>
<div class="clearfix"></div>
<input type="submit" value="Place Order" class="btn btn-primary"
name="submit" id="submit">
45
</div>
<?php
} else {
?>
<div class="no-records">Your Cart is Empty</div>
<?php
}
?>
</div>
<?php
if(isset($_SESSION["cart_item"])){ ?>
<p style="color: red;padding-bottom: 20px">Fill The Following Detail</p>
<div style="padding-bottom:20px;">
<label>
Payment Type :<br />
<input type="radio" value="Cash on Delivery" required name="paytype">
COD (Cash on Delivery)
</label>
<hr />
<label>
46
<input type="text" class="form-control" placeholder="Full
Name" name="fname" id="fname" required="true" style="border:1px #000 solid;
width:80%;">
</label>
</div>
<div>
<label>
<input type="text" class="form-control form-control-alternative"
placeholder="Contact Number" name="cnumber" id="cnumber" required="true"
style="border:1px #000 solid;" maxlength="10" pattern="[0-9]+">
</label>
</div>
</br>
<div style="padding-bottom:20px">
<label>
<input type="text" class="form-control form-control-alternative"
placeholder="Flat or Building Number" name="flatbldgnumber"
id="flatbldgnumber" required="true" style="border:1px #000 solid;">
</label>
</div>
<div style="padding-bottom:20px">
<label>
47
<input type="text" class="form-control form-control-alternative"
placeholder="Street Name" name="streename" id="streename" required="true"
style="border:1px #000 solid;">
</label>
</div>
<div style="padding-bottom:20px">
<label>
<input type="text" class="form-control form-control-alternative"
placeholder="Area" name="area" id="area" required="true" style="border:1px
#000 solid;">
</label>
</div>
<div style="padding-bottom:20px">
<label>
<input type="text" class="form-control form-control-alternative"
placeholder="Landmark" name="landmark" id="landmark" required="true"
style="border:1px #000 solid;">
</label>
</div>
<div style="padding-bottom:20px">
<label>
<input type="text" class="form-control form-control-alternative"
placeholder="City" name="city" id="city" required="true" style="border:1px #000
solid;">
</label>
</div>
48
<div style="padding-bottom:20px">
<label>
<input type="text" class="form-control form-control-alternative"
placeholder="Zip Code" name="zipcode" id="zipcode" required="true"
style="border:1px #000 solid;">
</label>
</div>
<div style="padding-bottom:20px">
<label>
<input type="text" class="form-control form-control-alternative"
placeholder="State" name="state" id="state" required="true" style="border:1px
#000 solid;">
</label>
</div>
<?php } ?>
</form>
</div>
</div>
<br />
<?php include_once('includes/footer.php');?>
</div>
</body>
</html>
<?php } ?>
Profile.php :
49
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
if (strlen($_SESSION['ofsmsuid']==0)) {
header('location:logout.php');
} else{
if(isset($_POST['submit']))
{
$uid=$_SESSION['ofsmsuid'];
$AName=$_POST['fname'];
$mobno=$_POST['mobno'];
$email=$_POST['email'];
$sql="update tbluser set FullName=:name,MobileNumber=:mobilenumber where
ID=:uid";
$query = $dbh->prepare($sql);
$query->bindParam(':name',$AName,PDO::PARAM_STR);
$query->bindParam(':mobilenumber',$mobno,PDO::PARAM_STR);
$query->bindParam(':uid',$uid,PDO::PARAM_STR);
$query->execute();
echo '<script>alert("Profile has been updated")</script>';
}
?>
<!DOCTYPE HTML>
<html>
<head>
50
<title>Online Furniture Management System | Profile</title>
<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />
<script type='text/javascript' src="js/jquery-1.11.1.min.js"></script>
<link href="css/style.css" rel='stylesheet' type='text/css' />
<script type="application/x-javascript"> addEventListener("load", function() {
setTimeout(hideURLbar, 0); }, false); function hideURLbar(){
window.scrollTo(0,1); } </script>
<link
href='http://fonts.googleapis.com/css?family=Montserrat|Raleway:400,200,300,50
0,600,700,800,900,100' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Playfair+Display:400,700,900'
rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Aladin' rel='stylesheet'
type='text/css'>
<link href="css/megamenu.css" rel="stylesheet" type="text/css" media="all" />
<script type="text/javascript" src="js/megamenu.js"></script>
<script>$(document).ready(function(){$(".megamenu").megamenu();});</script>
<script src="js/menu_jquery.js"></script>
<script src="js/simpleCart.min.js"> </script>
</head>
<body>
<?php include_once('includes/header.php');?>
<div class="container">
<ol class="breadcrumb">
<li><a href="index.php">Home</a></li>
<li class="active">Account</li>
</ol>
51
<div class="registration">
<div class="registration_left">
<h2>View Your Profile !!!!!!</h2>
<script>
(function() {
var inputs = document.createElement('input');
var supports = {};
supports.autofocus = 'autofocus' in inputs;
supports.required = 'required' in inputs;
supports.placeholder = 'placeholder' in inputs;
if(!supports.autofocus) {
}
if(!supports.required) {
}
if(!supports.placeholder) {
}
var send = document.getElementById('register-submit');
if(send) {
send.onclick = function () {
this.innerHTML = '...Sending';
}
}
})();
</script>
<div class="registration_form">
<form action="" method="post">
52
<?php
$uid=$_SESSION['ofsmsuid'];
$sql="SELECT * from tbluser where ID=:uid";
$query = $dbh -> prepare($sql);
$query->bindParam(':uid',$uid,PDO::PARAM_STR);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $row)
{ ?>
<div>
<strong>Full name:</strong><br />
<label>
<input value="<?php echo $row->FullName;?>" name="fname" type="text"
tabindex="1" required='true'>
</label>
</div>
<div>
<strong>Mobile Number:</strong><br />
<label>
<input type="text" tabindex="3" required='true' maxlength="10" pattern="[0-9]+"
value="<?php echo $row->MobileNumber;?>" name="mobno">
</label>
</div>
<div>
53
<strong>Email Address:</strong><br />
<label>
<input type="email" tabindex="3" required='true' value="<?php echo $row-
>Email;?>" name="email" readonly="true">
</label>
</div>
<div>
<strong>Registration Date:</strong><br />
<label>
<input type="text" tabindex="3" readonly="true" value="<?php echo $row-
>RegDate;?>" name="">
</label>
</div><div>
<input type="submit" value="Update" id="" name="submit">
</div>
<?php $cnt=$cnt+1;}} ?>
</form>
</div>
</div>
<div class="clearfix"></div>
</div>
</div>
<?php include_once('includes/footer.php');?>
</div>
</body>
</html><?php } ?>
Signup.php:
54
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
if(isset($_POST['submit']))
{
$fname=$_POST['fname'];
$mobno=$_POST['mobno'];
$email=$_POST['email'];
$password=md5($_POST['password']);
$ret="select Email from tbluser where Email=:email";
$query= $dbh -> prepare($ret);
$query-> bindParam(':email', $email, PDO::PARAM_STR);
$query-> execute();
$results = $query -> fetchAll(PDO::FETCH_OBJ);
if($query -> rowCount() == 0)
{
$sql="Insert Into
tbluser(FullName,MobileNumber,Email,Password)Values(:fname,:mobno,:email,:
password)";
$query = $dbh->prepare($sql);
$query->bindParam(':fname',$fname,PDO::PARAM_STR);
$query->bindParam(':email',$email,PDO::PARAM_STR);
$query->bindParam(':mobno',$mobno,PDO::PARAM_INT);
$query->bindParam(':password',$password,PDO::PARAM_STR);
$query->execute();
$lastInsertId = $dbh->lastInsertId();
55
if($lastInsertId)
{
57
<link href='http://fonts.googleapis.com/css?family=Playfair+Display:400,700,900'
rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Aladin' rel='stylesheet'
type='text/css'>
<link href="css/megamenu.css" rel="stylesheet" type="text/css" media="all" />
<script type="text/javascript" src="js/megamenu.js"></script>
<script>$(document).ready(function(){$(".megamenu").megamenu();});</script>
<script src="js/menu_jquery.js"></script>
<script src="js/simpleCart.min.js"> </script>
<script type="text/javascript">
function checkpass()
{
if(document.signup.password.value!=document.signup.repeatpassword.value)
{
alert('Password and Repeat Password field does not match');
document.signup.repeatpassword.focus();
return false;
}
return true;
}
</script>
</head>
<body>
<?php include_once('includes/header.php');?>
<div class="container">
<ol class="breadcrumb">
<li><a href="index.php">Home</a></li>
58
<li class="active">Account</li>
</ol>
<div class="registration">
<div class="registration_left">
<h2>new user? <span> create an account </span></h2>
<script>
(function() {
var inputs = document.createElement('input');
var supports = {};
supports.autofocus = 'autofocus' in inputs;
supports.required = 'required' in inputs;
supports.placeholder = 'placeholder' in inputs;
if(!supports.autofocus) {
}
if(!supports.required) {
}
if(!supports.placeholder) {
}
59
<form id="signup" name="signup" action="" method="post" onsubmit="return
checkpass();">
<div>
<input placeholder="password" type="password" tabindex="4" name="password"
required="true" id="password">
</label>
</div>
<div>
<label>
<input placeholder="retype password" type="password" tabindex="4"
name="repeatpassword" required="true" id="repeatpassword">
</label>
</div>
<div>
<input type="submit" value="create an account" id="" name="submit">
</div>
</form>
</div>
</div>
<div class="registration_left">
<h2>existing user</h2>
<div class="registration_form">
<form id="registration_form" action="" name="login" method="post">
<div>
<label>
<input placeholder="email:" type="email" tabindex="3" required="true"
name="email" id="email">
60
</label>
</div>
<div>
<label>
<input placeholder="password" type="password" tabindex="4" name="password"
id="password" required="true">
</label>
</div>
<div>
<input type="submit" value="sign in" name="login" id="login">
</div>
<div class="forget">
<a href="forgot-password.php">forgot your password</a>
</div></form></div> </div> <div class="clearfix"></div></div></div>
<?php include_once('includes/footer.php');?>
</div>
</body>
</html>
</body>
</html>
61
APPENDIX-2
(SCREENSHOTS)
Home Page :
The home page is the first user interface that pops up.
62
Products View:
In this page, user can see the products which is available in the market with
categories.
63
Single Product Page:
In this page, user can see the detailed description about the product.
64
My Cart:
In this page, user can enter the personal details to order the product.
65
User Profile:
In this page, user can see about their account.
66
About Us:
In this page, user can see the detailed description about the company.
67
Order Detail Page:
In this page, user can see the detailed description about the order.
68
View Single Order Detail:
69
REFERENCES
3. Phillips, H., & Bradshaw R,1993, “How Customers Actually Shop: Customer
Interaction” .Market Research Society. Journal., 35(1), 1-10.
6. For PHP
https://www.w3schools.com/php/default.asp
https://www.php.net/
7. For MySQL
https://www.mysql.com/
http://www.mysqltutorial.org
8. For XAMPP
https://www.apachefriends.org/download.html
70