[go: up one dir, main page]

0% found this document useful (0 votes)
148 views80 pages

Student Project: Online Furniture Store

Uploaded by

Monikaramesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
148 views80 pages

Student Project: Online Furniture Store

Uploaded by

Monikaramesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 80

WEB STORE FOR HOME

FURNISHING

A PROJECT REPORT

Submitted by

RANJITHKUMAR S 2021L02
GOKULAKRISHNAN G K 2021T302

in partial fulfillment for the award of the degree


of

BACHELOR OF ENGINEERING
in

COMPUTER SCIENCE AND ENGINEERING

GOVERNMENT COLLEGE OF ENGINEERING, SALEM


(An Autonomous Institution Affiliated to Anna University, Chennai, NACC Accredited)

ANNA UNIVERSITY: CHENNAI - 600 025

MAY 2023
GOVERNMENT COLLEGE OF ENGINEERING, SALEM-11
(An Autonomous Institution Affiliated to Anna University, Chennai, NAAC Accredited)

ANNA UNIVERSITY: CHENNAI – 600 025

BONAFIDE CERTIFICATE

Certified that this project report “WEB STORE FOR HOME


FURNISHING” is the Bonafide work of “RANJITHKUMAR (2021L02),
GOKULAKRISHNAN G K (2021T302)” who carried out the project work
under my supervision during the academic year 2022-2023.

SIGNATURE SIGNATURE

Dr. A. M. KALPANA M.E., Ph.D. Dr. P. THARANI M.E., Ph.D.


PROFESSOR & ASSISTANT PROFESSOR &
HEAD OF THE DEPARTMENT, SUPERVISOR
Computer Science and Engineering, Computer Science and
Engineering, Engineering,
Government College of Engineering, Government College of
Engineering, Engineering,
Salem-11. Salem-11.

Submitted for the project Viva-Voce examination held at the


Government College of Engineering, Salem-11 on __________

INTERNAL EXAMINER EXTERNAL EXAMINER


ACKNOWLEDGEMENT

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.

We also acknowledge with a deep sense of reverence and gratitude towards


my project guide Mr. Niresh D & Mr. Deepak B Founder at Developers Qode,
who supported us for the successful completion of the project.
ABSTRACT

The “WEB STORE FOR HOME FURNISHING” is developed

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

purchase products from their home.

The website offers a wide selection of furniture items and allowing

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

purchases in a timely and convenient manner. With its user-friendly interface,

comprehensive product information, and exceptional customer service, this

online furniture shopping website provides a seamless shopping experience for

customers looking to furnish their homes or offices.

iv
TABLE OF CONTENTS

CHAPTER.NO TITLE PAGE.NO

ABSTRACT iv

LIST OF TABLES viii

LIST OF FIGURES ix

LIST OF ABBREVIATIONS x

1 INTRODUCTION 1

1.1 Online Furniture Shop 1

2 SYSTEM ANALYSIS 2
2.1 EXISTING SYSTEM 2
2.1.1 Drawbacks of existing System 2

2.2 PROPOSED SYSTEM


2.2.1 Features 3

2.3 FEASIBILITY STUDY


2.3.1 Economic Feasibility 3

2.3.2 Technical Feasibility


2.3.3 Operational Feasibility

3 SYSTEM SPECIFICATION 7

3.1 HARDWARE REQUIREMENTS 7

3.2 SOFTWARE REQUIREMENTS 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

5.2 ARCHITECTURE DIAGRAM 14

5.3 DATA FLOW DIAGRAMS 15

5.3.1 Level 0 DFD 15

5.4 UML DIAGRAMS 16

5.4.1 Use Case Diagram 16

5.5 INPUT DESIGN 19

5.6 OUTPUT DESIGN 19

6 MODULES 20

6.1 MODULE DESCRIPTION 20

6.1.1 User Module 20

6.1.2 Admin Module 21

7 SYSTEM TESTING 25

7.1 INTRODUCTION TO TESTING 25

7.2 UNIT TESTING 25

7.3 INTEGRATION TESTING 26

vi
8 CONCLUSION AND FUTURE 28

ENHANCEMENTS

8.1 CONCLUSION 28

8.2 FUTURE ENHANCEMENTS 29


APPENDIX-1 (SOURCE CODE) 31

APPENDIX-2(SCREENSHOTS) 62

REFERENCES 70

vii
LIST OF TABLES

TABLE.NO TITLE PAGE.NO

6.1 Registration Details 20

6.2 Login Details 20

6.3 Category Details 21

6.4 Brand Details 22

6.5 Category Details 22

6.6 Sub-Category Details 22

6.7 Product Details 23

6.8 Total Order Details 23

6.9 Page Details 23

6.10 Registered User Details 24

viii
LIST OF FIGURES

FIGURE.NO TITLE PAGE.NO

5.1 Architecture Diagram 14

5.2 Level 0 DFD 15

5.3 Use Case Diagram (User) 17

5.4 Use Case Diagram (Admin) 18

ix
LIST OF ABBREVIATIONS

DFD Data Flow Diagram

GPU Graphics Processing Unit

GUI Graphical User Interface

MYSQL My Structured Query Language

PHP Hypertext Preprocessor

UML Unified Modelling Language

UNIX UNiplexed Information Computer System

WAMP Windows, Apache, MySQL and PHP

x
CHAPTER 1

INTRODUCTION

1.1 ONLINE FURNITURE SHOP

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

business world is the quick availability and processing of information using

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

for both buyer and seller to make furniture deals.

1
CHAPTER 2

SYSTEM ANALYSIS

2.1. EXISTING SYSTEM

The Maintenance of the details in a furniture retail outlet has become a

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

format. It is initial stage so parallel computerization is taking place. The furniture

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.

2.1.1 DRAWBACKS OF EXISTING SYSTEM

• High labour cost

• No Secrecy

• The data are maintained manually in a not efficient manner

• Accessing of information in very slow

• Frauds cannot be easily identified.

• Cash Collection and Processing are difficult one

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

manually by the manager and staffs.

The proposed system will help them to manage day to day operation very

smoothly. It is having different modules to pull fill the requirement of the

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

to meet the following requirements.

2.2.1 ADVANTAGES

• Easy to generate report for any transaction.

• Cash Collection and Payment are done transparently.

• Track purchases.

• Efficient Monitoring Mechanism.

• Leads to fast completion of work.

3
2.3. FEASIBILITY STUDY

Feasibility is the determination of whether or not a project is worth doing.


Feasibility study is the test of system proposal according to its workability
impact on the organization ability to meet user’s needs, and effective use of
resources. The result of feasibility is a formal proposal.

Three key considerations are involved in the feasibility analysis,


● Economic feasibility
● Technical feasibility
● Operational feasibility

2.3.1. Economic Feasibility

Economic analysis is the most frequently used method for evaluating the

effectiveness of a new system. More commonly known as cost/benefit analysis, 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

made to design and implement the system.

Implementation of this system will be a lifetime investment, which will ensure

returns to the store of good services and market value throughout the future. So, the

system is found economically feasible.

2.3.2. Technical feasibility

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

of system requirements in terms of Input, Processes, Output, Fields, Programs,

and Procedures. This can be quantified in terms of volumes of data, trends,

frequency of updating, etc. in order to estimate whether the new system will

perform adequately or not.

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

technology. Thus, it is important to check the system to be technically feasible.

2.3.3. Operational feasibility

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

the requirements identified in the requirements analysis phase of system

development.

Operational feasibility covers two aspects. One is the technical performance

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

job restructuring and retraining may be needed to implement the system.

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

able to work on the system further development is waste.

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

was operationally feasible

6
CHAPTER 3

SYSTEM SPECIFICATION

3.1 HARDWARE REQUIREMENTS


The Hardware Interfaces Required are:
• RAM: Minimum 2GB or higher
• Processor: Intel Pentium 4 or higher
• HDD: 4.3GB or higher
• Floppy Disk: 1.44 MB
• CD Drive
• Mouse: Scroll or Optical Mouse or Touch Pad
• Monitor: 15” or 17” color monitor
• Keyboard: Standard 110 keys keyboard

3.2. SOFTWARE REQUIREMENTS


When comes to software requirements the proposed system require Windows 10.

1. OS: Windows 10 or 11
2. PHP Triad:
• PHP
• MYSQL
• PhpMyAdmin
• Apache Webserver

7
CHAPTER 4

SOFTWARE SPECIFICATION

4.1. PHP

PHP (Hypertext Preprocessor) is a widely used, general-purpose scripting

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

generates the web page document. As a general-purpose programming language,

PHP code is processed by an interpreter application in command-line mode

performing desired operating system operations and producing program output on

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

on most operating systems and computing platforms.

PHP stores whole numbers in a platform-dependent range. This range is

typically that of 32-bit signed integers. Unsigned integers are converted to signed

values in certain situations. This behavior is different from other programming

languages. Integer variables can be assigned using decimal (positive and

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

forms of scientific notation.

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

open source (free).

• User friendly

• GUI

• Separation of work (designing & coding)

• Written once run anywhere

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-

thinking corporate IT Managers because it eliminates the major problems associated

with downtime, maintenance and administration for modern, online applications.

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,

and packaged software including industry leaders such as Yahoo!, Alcatel-Lucent,

Google, Nokia, YouTube, Wikipedia, and Booking.com.

The flagship MySQL offering is MySQL Enterprise, a comprehensive set of

production-tested software, proactive monitoring tools, and premium support

services available in an affordable annual subscription.

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

WAMP as an alternative to expensive proprietary software stacks because of its

lower cost and freedom from platform lock-in.

4.3 PhpMyAdmin

PhpMyAdmin is an open-source tool written in PHP intended to handle the

administration of MySQL over the World Wide Web. phpMyAdmin supports a

wide range of operations with MySQL. Currently it can create and drop databases,

create/drop/alter tables, delete/edit/add fields, execute any SQL statement, manage

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

server (needs a super-user) as well as a single database. To accomplish the latter,

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:

• browse and drop databases, tables, views, fields and indexes.

• create, copy, drop, rename and alter databases, tables, fields and

indexes.

• maintenance server, databases and tables, with proposals on server

configuration.

• execute, edit and bookmark any SQL-statement, even batch-queries

• load text files into tables.

• create and read dumps of tables.

• export data to various formats: CSV, XML, PDF, ISO/IEC 26300 -

OpenDocument Text and Spreadsheet, Word, Excel and LATEX

formats.

• administer multiple servers.

• manage MySQL users and privileges.

• create PDF graphics of your Database layout.

• search globally in a database or a subset of it.

• support MySQL, the improved MySQL extension.

11
4.4. Apache Web server

Often referred to as simply Apache, a public-domain open-source Web server

developed by a loosely-knit group of programmers. The first version of Apache, based

on the NCSA httpd Web server, was developed in 1995.

Core development of the Apache Web server is performed by a group of about

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

large public library of Apache add-ons. In many respects, development of Apache is

similar to development of the Linux operating system.

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

in warfare. A common misunderstanding is that it was named as Apache because it was

developed from existing NCSA code plus various patches, hence the name a patchy

server, or Apache server.

Apache consistently rates as the world’s most popular Web server according

to analyst surveys. Apache has attracted so much interest because it is full-featured,

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-

style software. Instead of using a point-and-click graphic user interface (GUI) or

Windows Registry keys as most other modern software packages, Apache generally

relies on simple text files for its configuration settings.

13
CHAPTER 5

SYSTEM DESIGN

5.1 DEFINITION

System design is the process of defining the elements of a system such as

architecture, modules and components, the different interfaces of those components

and the data that goes through that system.

5.2 ARCHITECTURE DIAGRAM

Figure 5.1 Architecture diagram

14
5.3 DATA FLOW DIAGRAMS

A data-flow diagram (DFD) is a way of representing a flow of a data of a

process or a system (usually an information system). The DFD also provides

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

processed and identify or improve certain aspects.

5.3.1 Level 0 DFD

FD Level Template a level 0 DFD, also known as a context diagram, shows

as a whole and emphasizes the way it interacts with external entities.

Customer Category
Management Management
Shopping
Management
Report
Management

Order
Management
Online Furniture Payment
Shopping Portal Management

Brand
Management
Products
Management

Login Subcategory Cart


Management Management Management

Figure 5.2 Level 0 DFD

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.

5.4.1 Use Case Diagram


Use Case Diagram is a group of actors. It is a methodology used in system
analysis to identify, clarify and organize system requirements.
It is made up of a set of possible sequences of interaction between system
and users in a particular environment and related to a particular goal.

16
Visit Website

View Furniture
Details

Signup

Login

Do Order

USER

View Order Details

Update Profile

Change Password

Logout

Figure 5.3 Use case diagram (User)

17
Login

Dashboard

Add Products/Brand/
Category/Subcategory

Manage Orders

Manage
ADMIN Reports/Pages

Search Orders

Update Profile

Change Password

Logout

Figure 5.3 Use case diagram (Admin)

18
5.5 INPUT DESIGN

Input design is the process of converting user-originated inputs to a computer-

based format. Input design is one of the most expansive phases of the operation of a

computerized system and is often the major problem of a system. It is important to

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.

5.6 OUTPUT DESIGN

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

maintain the database and will perform Product seller process.

19
CHAPTER 6

MODULES

6.1 MODULES DESCRIPTION

6.1.1 User Module

• User Registration: In this section, user can register on the system and get

his online account on site.

Table 6.1 Registration Details

• User Login: In this section, user can login to system and check various

products.

Table 6.2 Login Details

• 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.

• Cancel Order: In this section, user can cancel their order.

• 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

own password and logout from accounts.

• 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

view about us page, contact us page and which product is available if

anybody want to order the product they must registered.

6.1.2 Admin Module

Admin is the super user of the website who can manage everything on the

website. Admin can log in through the login page.

• 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

add or update the Brand.

Table 6.4 Brand Details

• Category: In this section, admin can manage furniture Category that is

admin can add or update the category.

Table 6.5 Category Details

• Sub-Category: In this section, admin can manage furniture Sub-Category

that is admin can add or update the Sub-Category.

Table 6.6 Sub-Category Details

22
• Products. In this section, admin can manage furniture Products that is

admin can add or update the products.

Table 6.7 Product Details

• Orders: In this section admin can view the order details and they have also

right to change order status according to current status.

Table 6.8 Total Order Details

• Pages: In this section, admin can manage about us and contact us pages.

Table 6.9 Page Details

23
• Reports: In this section, admin can view order details, order counts and

sales report according to dates.

• Reg Users: In this section, admin can view register users.

Table 6.10 Registered User Details

• 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

7.1 INTRODUCTION TO TESTING

Testing is a process of creating a program with the explicit intention of

finding errors making the program fail. Successful test is the one that reports

discovered errors. As an additional benefit, testing demonstrates that software

function appears to be working to the specification. The testing has several

purposes. They are:

• To affirm the quality of the project.

• To find and eliminate any error in the program.

• To validate the software and to eliminate the operational reliability of

system

The development process involves various types of testing. Each test type

addresses a specific testing requirement. Some types of testing involved in the

development process are described below.

7.2. UNIT TESTING

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.

• The module is small enough that we can attempt to test it in some

demonstrably exhaustive fashion.

• Confusing interactions of multiple errors in widely different parts of software

are eliminated.

7.3 INTEGRATION TESTING

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 &

utilization. There are 3 types of integration testing;

• Top-Down Approach- Top-Down integration proceeds down the invocation

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.

• Sandwich Strategy – A sandwich strategy runs from top and bottom

simultaneously.

27
CHAPTER 8

CONCLUSION AND FUTURE ENHANCEMENTS

8.1 CONCLUSION

The Online Furniture Shopping Portal has successfully addressed the

evolving needs and preferences of consumers in the digital age. By offering a

convenient and user-friendly platform, the website has provided customers with

a wide range of furniture options, enabling them to browse and purchase

products from the comfort of their own homes.

It has effectively leveraged technology to enhance the overall shopping

experience. With features such as detailed product descriptions, high-quality

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

safely and confidently complete their transactions.

Overall, the Online Furniture Shopping Portal has successfully bridged

the gap between traditional furniture shopping and the digital world, providing

customers with a seamless and enjoyable experience. With its user-friendly

interface, extensive product offerings, secure transactions, reliable delivery, and

28
exceptional customer support, the website has positioned itself as a trusted and

convenient destination for furniture shopping.

8.2 FUTURE ENHANCEMENTS

In the future, online furniture shopping websites are likely to incorporate

several enhancements to provide an immersive and convenient shopping

experience for customers. Here are some potential future enhancements;

Augmented Reality (AR) Integration: Online furniture shopping

websites can integrate AR technology to allow customers to virtually place

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.

Virtual Showrooms: Creating virtual showrooms or simulated home

environments where customers can virtually explore and interact with different

furniture pieces can be a game-changer. It provides a more immersive

experience, allowing customers to visualize how furniture items would look in

a complete room setting.

Customization Options: Offering extensive customization options can

cater to individual customer preferences. Providing choices for fabric, color,

finishes, and other design elements enables customers to personalize furniture

items to suit their specific tastes and requirements.

29
Social Integration and User Reviews: Incorporate social media

integration, allowing customers to share their purchases, room designs, and

reviews on social platforms. This not only enhances engagement but also

provides valuable feedback and recommendations from other users.

These enhancements are speculative and based on current trends and

technologies. The actual future enhancements may vary based on advancements

in technology and customer expectations.

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);

foreach($value as $pdid=> $qty){


$sql="insert into
tblorderdetails(UserId,OrderNumber,ProductId,ProductQty)values(:userid,:ordernu
mber,:pdid,:qty)";
$query=$dbh->prepare($sql);
$query->bindParam(':ordernumber',$ordernumber,PDO::PARAM_STR);
$query->bindParam(':userid',$userid,PDO::PARAM_STR);
$query->bindParam(':pdid',$pdid,PDO::PARAM_STR);
$query->bindParam(':qty',$qty,PDO::PARAM_STR);
$query->execute();
}

echo '<script>alert("Your Order Has Been Placed.")</script>';


unset($_SESSION["cart_item"]);
unset($_SESSION['tprice']);
echo "<script>window.location.href ='index.php'</script>";
}
else
{
echo '<script>alert("Something Went Wrong. Please try again")</script>';
}
40
}
?>
<!DOCTYPE HTML>
<html>
<head>
<title>Online Furniture Store Management System|| Cart 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' />
<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'>
41
<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 src="js/responsiveslides.min.js"></script>
<script>
$(function () {
// Slideshow 1
$("#slider1").responsiveSlides({
auto: true,
nav: true,
speed: 500,
namespace: "callbacks",
});
});
</script>
</head>
<body>
<!-- header -->
<?php include_once('includes/header.php');?>
<div class="cart_main">
<div class="container">
<ol class="breadcrumb">
<li><a href="men.html">Home</a></li>
<li class="active">Cart</li>
</ol>
42
<div class="cart-items">
<h2>My Shopping Bag</h2>

<form action="" method="post">


<div id="shopping-cart">

<?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>

<input type="hidden" value="<?php echo $item['quantity']; ?>"


name="quantity[<?php echo $item['code']; ?>]">

<td style="text-align:right;"><?php echo "Rs. ".


number_format($item_price,2); ?></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">

<a class="continue" href="index.php">Continue to basket</a>


<div class="price-details">
<h3>Price Details</h3>
<span>Total</span>
<span class="total"><?php echo "Rs. ".number_format($total_price, 2);
?></span>

<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)
{

echo "<script>alert('You have signup Scuccessfully');</script>";


}
else
{

echo "<script>alert('Something went wrong.Please try again');</script>";


}
}
else
{

echo "<script>alert('Email-id already exist. Please try again');</script>";


}
}
if(isset($_POST['login']))
{
$email=$_POST['email'];
$password=md5($_POST['password']);
$sql ="SELECT ID FROM tbluser WHERE Email=:email and
Password=:password";
$query=$dbh->prepare($sql);
$query->bindParam(':email',$email,PDO::PARAM_STR);
$query-> bindParam(':password', $password, PDO::PARAM_STR);
$query-> execute();
56
$results=$query->fetchAll(PDO::FETCH_OBJ);
if($query->rowCount() > 0)
{
foreach ($results as $result) {
$_SESSION['ofsmsuid']=$result->ID;
}
$_SESSION['login']=$_POST['email'];
echo "<script type='text/javascript'> document.location ='index.php'; </script>";
} else{
echo "<script>alert('Invalid Details');</script>";
}
}
?>
<!DOCTYPE HTML>
<html>
<head>
<title>Online Furniture Management System | login/Signup 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'>

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) {
}

var send = document.getElementById('register-submit');


if(send) {
send.onclick = function () {
this.innerHTML = '...Sending';
}})();
</script>
<div class="registration_form">

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:

In this page, user can see about the total of orders.

69
REFERENCES

1. Scott, A. J ,2006, “The Changing Global Geography of Low-technology”, Labour

Intensive Industry: Clothing, Footwear, and Furniture. WD, 34(9).

2. Ratnasingam, J., & Ioras F, 2003, “The Sustainability of the Asian

Wooden Furniture Industry”, HolzalsRoh-und Werkstoff, 61(3), 233-237.

3. Phillips, H., & Bradshaw R,1993, “How Customers Actually Shop: Customer
Interaction” .Market Research Society. Journal., 35(1), 1-10.

4. Wijaya, C., & Kusumarini Y, 2015, Perancangan Portable Folding Furniture

Untuk Interior Apartment Type Studio. Intra, 3(2), 9-17.

5. Li H, Hu, R, Alhashim I & Zhang H ,2015, Foldabilizing furniture.

ACM Trans. Graph., 34(4), 90-91.

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

You might also like