Цель проекта: Интернет-магазин для продажи игр с ботом, выдающим ключи для разных игровых сервисов, с админ-панелью, блокировкой/разблокировкой пользователей, подтверждением заказов, расширенной статистикой, уведомлениями в Telegram и локальной платежной системой. Основные функции: Каталог игр с фильтрами по сервисам (Steam, Epic, PSN и т.д.). Корзина, оплата через локальную систему, выдача ключей через бота. Личный кабинет. Админ-панель (управление играми, ключами, пользователями, заказами, статистика). Блокировка и разблокировка пользователей. Подтверждение заказов. Уведомления о статусе заказа в Telegram. Расширенная статистика для админов. Технологии: Frontend: HTML, CSS, vanilla JavaScript. Backend: PHP (чистый или с минимальными библиотеками). База данных: MySQL (встроен в XAMPP). Бот: Telegram Bot API (через PHP). Платежная система: Локальная (например, ЮKassa, тестовый режим). Email: PHP Mailer (локальная отправка через SMTP в XAMPP). Статистика: Chart.js. Среда: XAMPP (Apache, PHP, MySQL). 2. Проектирование Структура сайта (в папке htdocs XAMPP): index.php — главная страница. catalog.php — каталог игр. game.php — страница игры. cart.php — корзина. checkout.php — оформление заказа. profile.php — личный кабинет. admin/ — папка админ-панели: admin/index.php — главная админ-панель. admin/login.php — авторизация. admin/games.php — управление играми. admin/users.php — управление пользователями. admin/orders.php — управление заказами. admin/stats.php — статистика. bot.php — обработка Telegram-бота. База данных (MySQL в XAMPP): Создание через phpMyAdmin: Таблица games (id, title, description, price, service_id, images, keys). Таблица users (id, email, name, is_blocked, telegram_id, orders). Таблица orders (id, user_id, game_id, service_id, key, status, payment_status). Таблица services (id, name: Steam, Epic и т.д.). Таблица admins (id, login, password). Таблица statistics (id, date, sales, users, game_id). Логика бота: Проверяет оплату и статус заказа. Отправляет ключ на email и в Telegram. Админ-панель: Управление играми, ключами, заказами, пользователями, статистикой. 3. Разработка Этап 1: Настройка XAMPP Установить XAMPP (Apache, PHP, MySQL). Поместить проект в C:\xampp\htdocs\shop (или аналогичную папку). Запустить Apache и MySQL через XAMPP Control Panel. Настроить базу данных через http://localhost/phpmyadmin. Этап 2: Backend (PHP) Подключение к MySQL: php
Свернуть
Перенос
Копировать $conn = mysqli_connect("localhost", "root", "", "shop_db"); if (!$conn) die("Ошибка: " . mysqli_connect_error()); Логика: Каталог: SELECT * FROM games WHERE service_id = ?. Корзина: хранение в $_SESSION. Заказы: INSERT INTO orders (...) VALUES (...). Блокировка: UPDATE users SET is_blocked = 1 WHERE id = ?. Статистика: SELECT COUNT(*), SUM(price) FROM orders GROUP BY date. Локальная платежная система: Использование тестового режима ЮKassa (или другой): Регистрация в системе, получение shop_id и secret_key. Создание платежа: php
Свернуть
Перенос
Копировать require 'vendor/autoload.php'; // через Composer в XAMPP use YooKassa\Client; $client = new Client(); $client->setAuth('shop_id', 'secret_key'); $payment = $client->createPayment( [ 'amount' => ['value' => '100.00', 'currency' => 'RUB'], 'confirmation' => ['type' => 'redirect', 'return_url' => 'http://localhost/shop/success.php'], 'description' => 'Заказ #' . $order_id, ], uniqid() ); Webhook: настройка на http://localhost/shop/webhook.php (через ngrok для теста). Email: настройка SMTP в php.ini XAMPP или PHP Mailer. Этап 3: Frontend (HTML/CSS/JS + PHP) Интерфейс: index.php: подгрузка игр через PHP (). catalog.php: фильтры через GET (?service=1) и JS. checkout.php: форма с редиректом на платежную систему. CSS в styles.css, JS в scripts.js. Этап 4: Админ-панель (PHP) admin/index.php: Проверка сессии админа (if (!isset($_SESSION['admin'])) header('Location: login.php');). Таблицы с данными из MySQL. Управление пользователями: кнопки для UPDATE users SET is_blocked = 0/1. Статистика: Chart.js с данными из PHP (json_encode). Этап 5: Бот (Telegram + PHP) Настройка бота через BotFather. Webhook: https://api.telegram.org/bot/setWebhook?url=http://<ngrok_url>/shop/bot.php. bot.php: php
Свернуть
Перенос
Копировать $update = json_decode(file_get_contents("php://input"), true); $chat_id = $update['message']['chat']['id']; $message = "Ключ для игры отправлен!"; file_get_contents("https://api.telegram.org/bot/sendMessage?chat_id=$chat_id&text=" . urlencode($message)); Интеграция с заказами. Этап 6: Интеграция Тестирование на http://localhost/shop. 4. Тестирование Доступ: http://localhost/shop. Проверка: Каталог, корзина, оплата (тестовый режим). Админ-панель: блокировка, статистика. Бот: уведомления (ngrok для внешнего доступа). Логи в C:\xampp\apache\logs. 5. Запуск Для локального использования: оставить на XAMPP. Для продакшна: перенести на хостинг с PHP/MySQL.
Okay, I have removed references to YooKassa. The payment processing logic will need a different implementation when we build the checkout functionality.
Here is the updated project structure:
дизайн как на этом сайте https://steampay.com/ чтобы похожий был
Okay, I will update the CSS to create a visual style inspired by steampay.com
, focusing on a dark theme with blue accents and a grid layout for games.
This involves significant changes to css/styles.css
.
Gemini 2.5 Pro
DeepSeek
DeepSeek V3