-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathshape_add.php
More file actions
87 lines (79 loc) · 3.46 KB
/
shape_add.php
File metadata and controls
87 lines (79 loc) · 3.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php
// shape_add.php
include 'header.php';
include 'sidebar.php';
// Prevent customers from accessing write endpoints
if (isset($_SESSION['role']) && $_SESSION['role'] === 'customer') {
header('HTTP/1.1 403 Forbidden');
echo 'Forbidden';
exit;
}
$add_message = '';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$shape_name = trim($_POST['shape_name']);
$status = trim($_POST['status']);
$image_path = '';
// --- Image Upload Logic ---
if (isset($_FILES["image"]) && $_FILES["image"]["error"] == 0) {
$target_dir = "assets/images/shapes/";
// Create directory if it doesn't exist
if (!file_exists($target_dir)) {
mkdir($target_dir, 0777, true);
}
$target_file = $target_dir . basename($_FILES["image"]["name"]);
// Move the uploaded file
if (move_uploaded_file($_FILES["image"]["tmp_name"], $target_file)) {
$image_path = $target_file;
} else {
$add_message = "<div class='bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded'>Sorry, there was an error uploading your file.</div>";
}
}
if (empty($add_message)) {
$sql = "INSERT INTO shapes (shape_name, image, status) VALUES (?, ?, ?)";
if ($stmt = $conn->prepare($sql)) {
$stmt->bind_param("sss", $shape_name, $image_path, $status);
if ($stmt->execute()) {
$add_message = "<div class='bg-green-100 border border-green-400 text-green-700 px-4 py-3 rounded'>New shape added successfully!</div>";
} else {
$add_message = "<div class='bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded'>Error: " . $stmt->error . "</div>";
}
$stmt->close();
}
}
$conn->close();
}
?>
<!-- Main Content -->
<div class="bg-white p-8 rounded-lg shadow-md w-full">
<h4 class="text-2xl font-bold text-gray-700 mb-6">Add New Shape</h4>
<?php echo $add_message; ?>
<!-- Add enctype for file uploads -->
<form action="shape_add.php" method="post" enctype="multipart/form-data">
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
<div>
<label class="block text-gray-700 text-sm font-bold mb-2">Shape Name</label>
<input type="text" name="shape_name" required
class="shadow border rounded w-full py-2 px-3 text-gray-700">
</div>
<div>
<label class="block text-gray-700 text-sm font-bold mb-2">Status</label>
<select name="status" class="shadow border rounded w-full py-2 px-3 text-gray-700">
<option value="Enable">Enable</option>
<option value="Disable">Disable</option>
</select>
</div>
<div class="md:col-span-2">
<label class="block text-gray-700 text-sm font-bold mb-2">Image</label>
<input type="file" name="image" accept="image/*"
class="shadow border rounded w-full py-2 px-3 text-gray-700">
</div>
</div>
<div class="mt-8 flex justify-end">
<a href="shape_master.php"
class="bg-gray-500 hover:bg-gray-600 text-white font-bold py-2 px-4 rounded mr-2">Back to List</a>
<button type="submit" class="bg-pink-600 hover:bg-pink-700 text-white font-bold py-2 px-4 rounded">Add
Shape</button>
</div>
</form>
</div>
<?php include 'footer.php'; ?>