⬅ Back to Projects
Gallery Project — Source Code
db.php
<?php
$host = "localhost";
$user = "root";
$pwd = "";
$dbname = "mygallery";
$conn = mysqli_connect($host, $user, $pwd, $dbname);
if (!$conn) {
die("Database Connection Failed: " . mysqli_connect_error());
}
?>
signup.php
<?php
include 'db.php';
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$name = $_POST['name'];
$email = $_POST['email'];
$password = $_POST['password'];
$check = mysqli_query($conn, "SELECT * FROM users WHERE email='$email'");
if (mysqli_num_rows($check) == 0) {
mysqli_query($conn, "INSERT INTO users(name,email,password) VALUES('$name','$email','$password')");
echo "Signup successful! <a href='login.php'>Login here</a>";
} else {
echo "Email already exists!";
}
}
?>
<form method="POST">
<input type="text" name="name" placeholder="Name" required><br>
<input type="email" name="email" placeholder="Email" required><br>
<input type="password" name="password" placeholder="Password" required><br>
<button type="submit">Signup</button>
</form>
login.php
<?php
include 'db.php';
session_start();
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$email = $_POST['email'];
$password = $_POST['password'];
$result = mysqli_query($conn, "SELECT * FROM users WHERE email='$email' AND password='$password'");
if (mysqli_num_rows($result) == 1) {
$row = mysqli_fetch_assoc($result);
$_SESSION['user'] = $row['name'];
$_SESSION['email'] = $row['email'];
header('Location: upload.php');
} else {
echo "Invalid email or password!";
}
}
?>
<form method="POST">
<input type="email" name="email" placeholder="Email" required><br>
<input type="password" name="password" placeholder="Password" required><br>
<button type="submit">Login</button>
</form>
upload.php
<?php
include 'db.php';
session_start();
if (!isset($_SESSION['user'])) {
echo "<a href='login.php'>Login first</a>";
exit;
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$access = $_POST['access'];
$comment = $_POST['comment'];
$file = $_FILES['file']['name'];
$tmp = $_FILES['file']['tmp_name'];
$path = 'uploads/' . basename($file);
if (move_uploaded_file($tmp, $path)) {
$name = $_SESSION['user'];
$email = $_SESSION['email'];
mysqli_query($conn, "INSERT INTO image(filename, access_type, comment, user_name, user_email) VALUES('$file','$access','$comment','$name','$email')");
echo "File uploaded successfully!";
} else {
echo "Upload failed!";
}
}
?>
<form method="POST" enctype="multipart/form-data">
<select name="access">
<option value="public">Public</option>
<option value="private">Private</option>
</select><br>
<input type="file" name="file" required><br>
<textarea name="comment" placeholder="Description"></textarea><br>
<button type="submit">Upload</button>
</form>
<br><a href='display.php'>View Uploaded Images</a> | <a href='logout.php'>Logout</a>
display.php
<?php
include 'db.php';
session_start();
echo "<h3>Public Images</h3>";
$public = mysqli_query($conn, "SELECT * FROM image WHERE access_type='public'");
while ($row = mysqli_fetch_assoc($public)) {
echo "<div><img src='uploads/{$row['filename']}' width='150'><br>{$row['comment']}<br></div>";
}
if (isset($_SESSION['user'])) {
echo "<h3>Your Private Images</h3>";
$email = $_SESSION['email'];
$private = mysqli_query($conn, "SELECT * FROM image WHERE access_type='private' AND user_email='$email'");
while ($row = mysqli_fetch_assoc($private)) {
echo "<div><img src='uploads/{$row['filename']}' width='150'><br>{$row['comment']}<br><a href='delete.php?id={$row['id']}'>Delete</a></div>";
}
}
?>
delete.php
<?php
include 'db.php';
session_start();
if (!isset($_SESSION['user'])) {
echo "Login first!";
exit;
}
$id = $_GET['id'];
$email = $_SESSION['email'];
$result = mysqli_query($conn, "SELECT * FROM image WHERE id='$id' AND user_email='$email'");
if (mysqli_num_rows($result) == 1) {
$row = mysqli_fetch_assoc($result);
unlink('uploads/' . $row['filename']);
mysqli_query($conn, "DELETE FROM image WHERE id='$id'");
echo "Deleted successfully! <a href='display.php'>Back</a>";
} else {
echo "Unauthorized delete!";
}
?>
logout.php
<?php
session_start();
session_destroy();
header('Location: login.php');
?>