0% found this document useful (0 votes)
10 views

PHP MICROPROJECT

The document outlines a micro-project for an online art gallery that allows artists to exhibit their works virtually and customers to purchase art online. It details the rationale behind the project, the benefits of making art accessible, and the methodology followed to develop the system. Additionally, it includes code snippets for login, registration, and art display functionalities, along with a billing page for order confirmation.

Uploaded by

vinaymane1325
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)
10 views

PHP MICROPROJECT

The document outlines a micro-project for an online art gallery that allows artists to exhibit their works virtually and customers to purchase art online. It details the rationale behind the project, the benefits of making art accessible, and the methodology followed to develop the system. Additionally, it includes code snippets for login, registration, and art display functionalities, along with a billing page for order confirmation.

Uploaded by

vinaymane1325
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/ 18

Aims/Benefits of the Micro-Project:

An art gallery exhibits the works of many artists. Each artist is given a specified space on the
online webpage. The artists are charged for the space allotted to them on daily basis. The
charges vary in different months. Jan to April and August to December the charges are Rs 200
per day per exhibit, from May to July charges are Rs 300 per day per exhibit. Each exhibit has
a name and style of painting. The exhibits can be bought by the online customers who need to
register with the art gallery. The painting is sent to the customer, when customer orders
painting. The system keeps track of the status of delivery of the painting to the customer. This
status can also be seen by the customer.

1.0Rationale

The art gallery is where the arts or art crafts of the artists can be displayed for the visitors’ view.
People additionally comment on arts that artist’s show so that there will be some scope of
improvement of the arts that is displayed. Online Art gallery project However, these days
because of the busy schedule of the people, they don’t have time schedule-wise to visit the art
gallery to view the paintings of the famous artist. Online Art gallery project Yet, imagine a
scenario where the artist display is available on the online Indeed, it is conceivable. The online
art gallery is the application that enables the clients to transfer their paintings and make it
available to the visitors’ view.

2.0 Aim /Benefits of Micro-Project:

1. To make art gallery


available virtually.
2. Helps to make user
order creative art
online.

3.0 Course Outcomes Addressed:


1. Develop program using control statement. (CO605.1)
2. Perform operations based on arrays and graphics. (CO605.2)
3. Use form controls with validation to collect user’s input. (CO605.4)
4. Perform database operations in PHP. (CO605.5)

1
4.0 Literature Review:
In today’s world where mankind is moving towards automation to increase the efficiency
of their work, there should be system to motivate artists to make better art. People nowadays
hardly want to move from their places for shopping and not even for eating this is because of
their hectic schedule. In such circumstances, we have decided to create a system for online
purchase of arts.
The existing traditional system of art gallery has large number of drawbacks such as time
consuming procedure, formation of crowd in malls, problem of bargaining, etc. This problems
waste time of customers and manpower of artist and also de-motivates them. Hence to
overcome this problem the decided to introduce Online Art Gallery.

5.0Methodology followed

5.1Step wise work done:

1. In this micro project, first of all we have focused on selection of appropriate topic for the
micro-project.
2. We have decided our topic i.e. “Art Gallery”
3. Then we did literature survey on our topic and gained knowledge about existing and
proposed system.
4. Then we gathered all information based on the topic of micro-project.
5. We executed our code.
6. We have done analysis and study of our topic in detail.
7. By doing all the above methodologies we have successfully done our micro project

2
Code:
1.Login Page

<html>
<head>
<title>Login</title>
<style>
body{

margin-top: 100px;
margin-bottom: 100px;
margin-right: 150px;
margin-left: 80px;
background-color: azure ;
color: palevioletred;
font-family: verdana;
font-size: 100%

}
h1 {
color: indigo;
font-family: verdana;
font-size: 100%; }
h3 {
color: indigo;
font-family: verdana;
font-size: 100%;
} </style>
</head>
<body>
<center><h1>WELCOME TO ONLINE ART GALLERY</h1></center>
<p><a href="register.php">Register</a> | <a href="login.php">Login</a></p>
<center><h3>Login Form</h3> </center>
<form action="" method="POST">
<legend><fieldset><center>
Username: <input type="text" name="user"><br><br>
Password: <input type="password" name="pass"><br><br>
<input type="submit" value="Login" name="submit" onclick="cart.php" style="background-
color:
lightblue; color: darkblue" >
</center></fieldset></legend></form>
<?php
if(isset($_POST["submit"])){
if(!empty($_POST['user']) && !empty($_POST['pass'])) {
$user=$_POST['user'];
$pass=$_POST['pass'];

3
$con=mysqli_connect('localhost','root','','product2') or die(mysql_error());
//mysqli_select_db('product2',$con) or die("cannot select DB");
$query=mysqli_query($con,"SELECT * FROM user WHERE name='".$user."' AND
password='".
$pass."'");
$numrows=mysqli_num_rows($query);
if($numrows!=0)
{
while($row=mysqli_fetch_assoc($query))
{
$dbusername=$row['name'];
$dbpassword=$row['password'];
}

if($user == $dbusername && $pass == $dbpassword)


{
session_start();
$_SESSION['sess_user']=$user;

/* Redirect browser */
header("Location: cart.php");
}
} else {
echo "Invalid username or password!";
} } else {
echo "All fields are required!"; }
} ?>
</body>
</html>

4
2.Registration Page

<html>
<head>
<title>Register</title>
<style>
body{
margin-top: 100px;
margin-bottom: 100px;
margin-right: 150px;
margin-left: 80px;
background-color: azure ;
color: palevioletred;
font-family: verdana;
font-size: 100%

}
h1 {
color: indigo;
font-family: verdana;
font-size: 100%;
}
h2 {
color: indigo;
font-family: verdana;
font-size: 100%;
}</style>
</head>
<body>
<p><a href="register.php">Register</a> | <a
href="login.php">Login</a></p>
<center><h2>Registration Form</h2></center>
<form action="" method="POST">
<legend>
<fieldset>
<table border="1px" cellpadding="5px" align="center" style="color: black; text-
align: center; background
color: lightgrey"><br/>
<tr>
<td>NAME:</td>
<td><input type=text name=user size=30></td>
5
</tr>
<tr>
<td>CONTACT:</td>
<td><input type=text name=contact size=30></td>
</tr>
<tr>
<td>E-MAIL:</td>
<td><input type=email name=email size=30></td>
</tr>
<tr>
<td>CITY:</td>
<td><input type=text name=city size=30></td>
</tr>
<tr>
<td>PASSWORD:</td>
<td><input type=password name=pass size=30></td>
</tr>
<tr>
<td><input type=submit value="REGISTER" name="submit"
style="background-color: white; color: darkblue"></td>
<td><input type=reset style="background-color : white; color:
darkblue"></td>
</tr>
</table>
</fieldset>
</legend>
</form>
<?php
if(isset($_POST["submit"])){
if(!empty($_POST['user']) && !empty($_POST['contact'])
&& !empty($_POST['email']) && !
empty($_POST['city']) && !empty($_POST['pass']) ) {
$user=$_POST['user'];
$num=$_POST['contact'];
$email=$_POST['email'];
$city=$_POST['city'];
$pass=$_POST['pass'];
$con=mysqli_connect('localhost','root','','product2') or die(mysql_error());
//mysqli_select_db('user_registration') or die("cannot select DB");

$query=mysqli_query($con,"SELECT name='".$user."'");
6
$numrows=mysqli_num_rows($query);
if($numrows==0)
{
$sql="INSERT INTO user(name,contact,email,city,password)
VALUES('$user','$num','$email','$city','$pass')";

$result=mysqli_query($con,$sql);
if($result){
echo "Account Successfully Created";
} else {
echo "Failure!";
}

} else {
echo "That username already exists! Please try again with another.";
}

} else {
echo "All fields are required!";
}
}
?>
</body>
</html>

7
3.Art Page

<?php
session_start();
$connect = mysqli_connect("localhost", "root", "", "product2");
$tot=0;
if(isset($_POST["add_to_cart"]))
{
if(isset($_SESSION["shopping_cart"]))
{
$item_array_id = array_column($_SESSION["shopping_cart"], "item_id");
if(!in_array($_GET["id"], $item_array_id))
{
$count = count($_SESSION["shopping_cart"]);
$item_array = array(
'item_id' => $_GET["id"],
'item_name' => $_POST["hidden_name"],
'item_price' => $_POST["hidden_price"],
'item_quantity' => $_POST["quantity"]
);
$_SESSION["shopping_cart"][$count] = $item_array;
}else{
echo '<script>alert("Item Already Added")</script>';}
}else{
$item_array = array(
'item_id' => $_GET["id"],
'item_name' => $_POST["hidden_name"],
'item_price' => $_POST["hidden_price"],
'item_quantity' => $_POST["quantity"]
);
$_SESSION["shopping_cart"][0] = $item_array;}}
if(isset($_GET["action"]))
{if($_GET["action"] == "delete") {
foreach($_SESSION["shopping_cart"] as $keys => $values)
{if($values["item_id"] == $_GET["id"])
{
unset($_SESSION["shopping_cart"][$keys]);
echo '<script>alert("Item Removed")</script>';
//echo '<script>window.location="cart.php"</script>';
}} }}
if(isset($_POST["submit"]))
8
{
header("Location:bill.php");
}
?>
<html><head></head><body>
<h2>Welcome, <?=$_SESSION['sess_user'];?>!
<a href="logout.php">Logout</a></h2>
<br/><br/><br/><br/>
<h3 align="center"><title="Online Art Gallery">Online Art Gallery</h3><br
/><br/><br />
<?php
$query = "SELECT * FROM tbl_product ORDER BY id ASC";
$result = mysqli_query($connect, $query);
if(mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_array($result))
{
?>
<div class="col-md-4">
<form method="post" action="cart.php?action=add&id=<?php echo $row["id"];
?>">
<div style="border:1px solid #555; background-color:#f2f2f2; border-
radius:5px; padding:16px;"
align="center">
<img src="images/<?php echo $row["image"]; ?>" class="img-responsive"
width="200"
height="200"/><br />
<h4><?php echo $row["name"]; ?></h4>
<h4><?php echo $row["price"]; ?></h4>
<input type="text" name="quantity" value="1" class="form
control" />
<input type="hidden" name="hidden_name" value="<?php
echo $row["name"]; ?>" />
<input type="hidden" name="hidden_price" value="<?php
echo $row["price"]; ?>" /<input type="submit" name="add_to_cart"
style="margin-top:5px;" class="btn
btn-success" value="Add to Cart" />
</div></form></div><?php }}
?>
<div style="clear:both"></div> <br />
<h3>Order Details</h3>

9
<div class="table-responsive">
<div style="border:1px solid #555; background-color:#f2f2f2; border-
radius:5px;
padding:16px;" align="center">
<table class="table table-bordered">
<tr>
<th>Item Name</th>
<th>Quantity</th>
<th>Price</th>
<th>Total</th>
<th>Action</th>
</tr>
<?php
if(!empty($_SESSION["shopping_cart"]))
{
$total = 0;
foreach($_SESSION["shopping_cart"] as $keys => $values)
{
?>
<tr>
<td><?php echo $values["item_name"]; ?></td>
<td><?php echo $values["item_quantity"]; ?></td>
<td><?php echo $values["item_price"]; ?></td>
<td><?php echo number_format($values["item_quantity"] *
$values["item_price"], 2);?></td>
<td><a href="cart.php?action=delete&id=<?php echo $values["item_id"];
?>"><span class="text
danger">Remove</span></a></td></tr>
<?php
$total = $total + ($values["item_quantity"] * $values["item_price"]);
$_SESSION["tot"]=$total;
}
?>
<tr>
<td colspan="3" align="right">Total</td>
<td align="right"> <?php echo number_format($total, 2); ?></td>
</tr>
<?php
?>
</table><form method="post"><input type="submit" value="Proceed to
Checkout"
10
name="submit"></form></div></div></div></body></html>
4. Billing page
<?php
session_start();
$connect = mysqli_connect("localhost", "root", "", "product2");
$query=mysqli_query($connect,"SELECT
name='".$_SESSION['sess_user']."'");
$numrows=mysqli_num_rows($query);
$name=$num=$em=$city=" ";
if($numrows!=0)
{
while($row=mysqli_fetch_assoc($query)) {
$name=$row['name'];
$num=$row['contact'];
$em=$row['email'];
$city=$row['city'];
} }
$total=$_SESSION['tot'];
?>
<html> <head> <title>Bill</title> <style>
body{
margin-top: 100px;
margin-bottom: 100px;
margin-right: 150px;
margin-left: 80px;
background-color: azure ;
color: palevioletred;
font-family: verdana;
font-size: 100% }
h1 {
color: indigo;
font-family: verdana;
font-size: 100%;
}
h2 {
color: indigo;
font-family: verdana;
font-size: 100%;
}</style>
</head>
<body>
11
<form action="" method="POST">
<table border="1px" cellpadding="5px" align="center" style="color: black; text-
align: center;
background-color: lightgrey"><br/>
<tr>
<td>NAME:</td>
<td><input type=text name=user size=30 value=<?php echo $name;?> ></td
</tr>
<tr>
<td>CONTACT:</td>
<td><input type=text name=contact size=30 value=<?php echo $num;?>></td>
</tr>
<tr>
<td>E-MAIL:</td>
<td><input type=email name=email size=30 value=<?php echo $em;?>></td>
</tr>
<tr>
<td>CITY:</td>
<td><input type=text name=city size=30 value=<?php echo $city;?>></td>
</tr>
<tr>
<td>Total Amount:</td>
<td><?php echo "Rs.".$_SESSION['tot'];?></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Confirm Order"
name="submit"></td>
</tr></table></form></body></html>
<?php
if(isset($_POST["submit"]))
{
$n=$_POST["user"];
$c=$_POST["contact"];
$e=$_POST["email"];
$ci=$_POST["city"];
require_once('C:\xampp\lib\class.phpmailer.php');
require_once('C:\xampp\lib\class.smtp.php');
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Host = "smtp.gmail.com";
12
$mail->Port = 25;
$mail->Username ="[email protected]";
$mail->Password ="asmeeta2001 @";
$mail->setFrom('[email protected]');
$mail->addAddress($e);
$mail->IsHTML(true);
$mail->Subject='Your order has been placed successfully.';
$mail->Body = "
<html>
<body>
<table style='width:600px;'>
<tbody>
<tr>
<td style='width:150px'><strong>Name: </strong></td>
<td style='width:400px'>$n</td>
</tr>
<tr>
<td style='width:150px'><strong>Email ID: </strong></td>
<td style='width:400px'>$e</td>
</tr>
<tr>
<td style='width:150px'><strong>Mobile No: </strong></td>
<td style='width:400px'>$c</td>
</tr>
<tr>
<td style='width:150px'><strong>Address: </strong></td>
<td style='width:400px'>$ci</td>
</tr>
<tr>
<td style='width:150px'><strong>Total Bill: </strong></td>
<td style='width:400px'>$total</td>
</tr>
<tr>
<td style='width:150px'><strong>Arrival Date: </strong></td>
<td style='width:400px'><strong>It will arrive in 2 to 3
days</strong></td>
</tr>
</tbody>
</table>
</body>
</html>
13
";
if(!$mail->send())
{
echo "ERROR: ".$mail->ErrorInfo;
}
else
{
$connect = mysqli_connect("localhost", "root", "", "product2");
$sql = "INSERT INTO
order_place(name,contact,email,city,total)VALUES('$n','$c','$e','$ci','$total')";
$retval = mysqli_query($connect, $sql);
if($retval ) {
//echo "New Record Inserted";
echo "Order Successfully Placed";}
else echo "Error" .$sql."<br>".mysqli_error($connect);
}}
?

Outout:

Fig 1: Login Page

14
Fig 2: Registration Page

Fig 3: Online Art Gallery

15
Fig 4: Order Details

Fig 5: Billing Details

16
Fig 6: Order Confirmation Mail

Skill Developed / Learning outcome of this Micro-Project:


1. Able to perform different operations using array and graphics.
2. Able to implement different kinds of control statements.
3. Able to perform form validation using user input.
4. Able to perform operation based on database and sent mail.

Applications
1. This project can be used by artist to introduce their art online and connect with
people.
2. Can be used by people to buy online art of their interest.

Conclusion:
With the help of the project we learned different new concept of PHP. We got
knowledge about different built
in features available in PHP. We learnt how to implement online art gallery
system, how to establish
communication between server and host system.

17
References:

1. https://projectworlds.in/free-projects/php-projects/online-art-gallery-project-on-php/
2. https://www.kashipara.com/project/php/2875/art-gallery-managemet
3. https://www.freeprojectz.com/php-mysql-project/art-gallery-management-system
4. https://www.freestudentprojects.com/java-projects/online-art-gallery/
5. https://sourceforge.net/directory/os:windows/?q=online+art+gallery

18

You might also like