Files
web_work/test_add_simple.php
2025-12-16 01:28:06 +03:00

131 lines
5.1 KiB
PHP

<?php
// test_add_simple.php - максимально простая форма добавления
session_start();
// Временно отключаем проверку админа для теста
// if (!isset($_SESSION['isAdmin']) || $_SESSION['isAdmin'] !== true) {
// die("Требуется авторизация администратора");
// }
require_once 'config/database.php';
$db = Database::getInstance()->getConnection();
// Обработка формы
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$action = $_POST['action'] ?? '';
if ($action === 'add_category') {
$name = $_POST['name'] ?? '';
$slug = preg_replace('/[^a-z0-9]/i', '-', strtolower($name));
try {
$stmt = $db->prepare("INSERT INTO categories (name, slug) VALUES (?, ?)");
$result = $stmt->execute([$name, $slug]);
if ($result) {
$message = "✅ Категория '$name' успешно добавлена!";
$message_class = "success";
} else {
$message = "❌ Ошибка при добавлении категории";
$message_class = "error";
}
} catch (PDOException $e) {
$message = "❌ Ошибка БД: " . $e->getMessage();
$message_class = "error";
}
}
if ($action === 'add_product') {
$name = $_POST['product_name'] ?? '';
$price = floatval($_POST['price'] ?? 0);
$category_id = intval($_POST['category_id'] ?? 1);
$slug = preg_replace('/[^a-z0-9]/i', '-', strtolower($name));
try {
$stmt = $db->prepare("INSERT INTO products (category_id, name, slug, price, stock_quantity, is_available) VALUES (?, ?, ?, ?, ?, ?)");
$result = $stmt->execute([$category_id, $name, $slug, $price, 10, true]);
if ($result) {
$message = "✅ Товар '$name' успешно добавлен!";
$message_class = "success";
} else {
$message = "❌ Ошибка при добавлении товара";
$message_class = "error";
}
} catch (PDOException $e) {
$message = "❌ Ошибка БД: " . $e->getMessage();
$message_class = "error";
}
}
}
// Получить категории для выпадающего списка
$categories = [];
try {
$categories = $db->query("SELECT * FROM categories")->fetchAll();
} catch (Exception $e) {
$categories_error = "Ошибка получения категорий: " . $e->getMessage();
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Тестовое добавление</title>
<style>
body { font-family: Arial, sans-serif; padding: 20px; }
.message { padding: 10px; margin: 10px 0; border-radius: 5px; }
.success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
form { margin: 20px 0; padding: 20px; border: 1px solid #ddd; border-radius: 5px; }
input, select, button { padding: 8px; margin: 5px 0; }
</style>
</head>
<body>
<h1>Тестовое добавление</h1>
<?php if (isset($message)): ?>
<div class="message <?= $message_class ?>"><?= $message ?></div>
<?php endif; ?>
<form method="POST">
<h2>Добавить категорию</h2>
<input type="hidden" name="action" value="add_category">
<input type="text" name="name" placeholder="Название категории" required>
<button type="submit">Добавить категорию</button>
</form>
<form method="POST">
<h2>Добавить товар</h2>
<input type="hidden" name="action" value="add_product">
<input type="text" name="product_name" placeholder="Название товара" required><br>
<input type="number" name="price" placeholder="Цена" required step="0.01"><br>
<select name="category_id">
<?php if (!empty($categories)): ?>
<?php foreach ($categories as $cat): ?>
<option value="<?= $cat['category_id'] ?>"><?= htmlspecialchars($cat['name']) ?></option>
<?php endforeach; ?>
<?php else: ?>
<option value="1">Нет категорий (используется ID 1)</option>
<?php endif; ?>
</select><br>
<button type="submit">Добавить товар</button>
</form>
<hr>
<h2>Существующие категории (<?= count($categories) ?>):</h2>
<ul>
<?php foreach ($categories as $cat): ?>
<li>ID: <?= $cat['category_id'] ?> - <?= htmlspecialchars($cat['name']) ?></li>
<?php endforeach; ?>
</ul>
<?php if (isset($categories_error)): ?>
<div class="message error"><?= $categories_error ?></div>
<?php endif; ?>
</body>
</html>