Загрузка данных
<?php
require "../Connect-db.php";
if (!isset($_COOKIE['saveLogin'])) {
header("Location: ../login.php");
exit;
}
$login = mysqli_real_escape_string($conn, $_COOKIE['saveLogin']);
$queryUser = mysqli_query($conn, "
SELECT * FROM users
WHERE user_email = '$login' OR user_name = '$login'
");
$user = mysqli_fetch_assoc($queryUser);
if (!$user || $user['role'] != 'admin') {
echo "<script>
alert('Доступ запрещён');
location.href='../profile.php';
</script>";
exit;
}
if (isset($_POST['addProduct'])) {
$name = mysqli_real_escape_string($conn, trim($_POST['name_item']));
$price = mysqli_real_escape_string($conn, trim($_POST['price_item']));
if ($name == '' || $price == '') {
echo "<script>alert('Заполните название и цену');</script>";
} else {
if (!isset($_FILES['img_item']) || $_FILES['img_item']['error'] != 0) {
echo "<script>alert('Выберите изображение');</script>";
} else {
$fileName = $_FILES['img_item']['name'];
$tmpName = $_FILES['img_item']['tmp_name'];
$fileExt = strtolower(pathinfo($fileName, PATHINFO_EXTENSION));
$allowedExt = ['jpg', 'jpeg', 'png', 'webp', 'svg'];
if (!in_array($fileExt, $allowedExt)) {
echo "<script>alert('Разрешены только jpg, jpeg, png, webp, svg');</script>";
} else {
$newFileName = time() . "_" . preg_replace('/[^A-Za-z0-9_\.-]/', '_', $fileName);
$uploadPath = "../image/" . $newFileName;
if (move_uploaded_file($tmpName, $uploadPath)) {
$img = mysqli_real_escape_string($conn, $newFileName);
$insert = mysqli_query($conn, "
INSERT INTO products (name_item, price_item, img_item)
VALUES ('$name', '$price', '$img')
");
if ($insert) {
echo "<script>
alert('Товар успешно добавлен');
location.href='admin.php?page=products';
</script>";
exit;
} else {
echo "Ошибка БД: " . mysqli_error($conn);
}
} else {
echo "<script>alert('Ошибка загрузки файла');</script>";
}
}
}
}
}
?>
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Добавить товар</title>
<link rel="stylesheet" href="../styles/admin.css">
</head>
<body>
<div class="admin-form-page">
<div class="admin-form-box">
<h1>Добавить товар</h1>
<form method="POST" enctype="multipart/form-data">
<div class="admin-form-group">
<label>Название товара</label>
<input type="text" name="name_item">
</div>
<div class="admin-form-group">
<label>Цена</label>
<input type="text" name="price_item">
</div>
<div class="admin-form-group">
<label>Изображение товара</label>
<label for="img_item" class="admin-upload-box">
<span>Перетащите изображение сюда или нажмите для выбора</span>
<input type="file" name="img_item" id="img_item" accept=".jpg,.jpeg,.png,.webp,.svg">
</label>
<div class="admin-file-name" id="fileName">Файл не выбран</div>
</div>
<div class="admin-form-buttons">
<button type="submit" name="addProduct">Добавить</button>
<a href="admin.php?page=products">Назад</a>
</div>
</form>
</div>
</div>
<script>
const fileInput = document.getElementById('img_item');
const fileName = document.getElementById('fileName');
const uploadBox = document.querySelector('.admin-upload-box');
fileInput.addEventListener('change', function() {
if (fileInput.files.length > 0) {
fileName.textContent = fileInput.files[0].name;
} else {
fileName.textContent = 'Файл не выбран';
}
});
uploadBox.addEventListener('dragover', function(e) {
e.preventDefault();
uploadBox.classList.add('dragover');
});
uploadBox.addEventListener('dragleave', function() {
uploadBox.classList.remove('dragover');
});
uploadBox.addEventListener('drop', function(e) {
e.preventDefault();
uploadBox.classList.remove('dragover');
if (e.dataTransfer.files.length > 0) {
fileInput.files = e.dataTransfer.files;
fileName.textContent = e.dataTransfer.files[0].name;
}
});
</script>
</body>
</html>