PHP, MySQL | Система кланов
Структура базы данных Для начала нужно создать таблицы в базе данных для хранения информации о кланах и их членах. Пример структуры: Конфигурация и подключение к базе данных Создайте файл db.php для подключения к базе данных: Создайте файл create_clan.php для создания нового клана: Создайте файл view_clan.php для просмотра информации о клане: Вы можете добавить больше функций по аналогии с приведенными выше, таких как удаление кланов, изменение информации о кланах, управление членами и т.д. Этот пример кода дает базовое представление о том, как можно реализовать систему кланов. Не забудьте добавить соответствующую проверку и валидацию данных, а также защиту от SQL-инъекций и XSS-атак.
sql
-- Таблица для хранения информации о кланах CREATE TABLE clans ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL UNIQUE, description TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- Таблица для хранения информации о членах кланов CREATE TABLE clan_members ( id INT AUTO_INCREMENT PRIMARY KEY, clan_id INT, user_id INT, role ENUM('member', 'leader') DEFAULT 'member', joined_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (clan_id) REFERENCES clans(id), FOREIGN KEY (user_id) REFERENCES users(id) -- предполагаем, что есть таблица пользователей ); php
<?php // db.php class Database { private $connection; public function __construct() { $this->connection = new mysqli('localhost', 'username', 'password', 'database'); if ($this->connection->connect_error) { die('Ошибка подключения: ' . $this->connection->connect_error); } $this->connection->set_charset('utf8mb4'); } public function getConnection() { return $this->connection; } } $db = new Database(); ?> php
<?php // create_clan.php require_once 'db.php'; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $name = $_POST['name']; $description = $_POST['description']; $conn = $db->getConnection(); $stmt = $conn->prepare('INSERT INTO clans (name, description) VALUES (?, ?)'); $stmt->bind_param('ss', $name, $description); if ($stmt->execute()) { echo 'Клан успешно создан.'; } else { echo 'Ошибка создания клана: ' . $stmt->error; } $stmt->close(); $conn->close(); } ?> <form method="post" action="create_clan.php"> <label for="name">Имя клана:</label> <input type="text" id="name" name="name" required> <label for="description">Описание:</label> <textarea id="description" name="description"></textarea> <input type="submit" value="Создать клан"> </form> php
<?php // view_clan.php require_once 'db.php'; $clan_id = $_GET['clan_id']; $conn = $db->getConnection(); $stmt = $conn->prepare('SELECT * FROM clans WHERE id = ?'); $stmt->bind_param('i', $clan_id); $stmt->execute(); $result = $stmt->get_result(); $clan = $result->fetch_assoc(); if ($clan) { echo '<h1>' . htmlspecialchars($clan['name']) . '</h1>'; echo '<p>' . htmlspecialchars($clan['description']) . '</p>'; } else { echo 'Клан не найден.'; } $stmt->close(); $conn->close(); ?>
А на дворе 2024 год, скоро 2025й
А на дворе 2024 год, скоро 2025й
Это как?)
Это автор скопировал ответ из чатгпт и скинул на форум, типа вот вам система кланов)
Ага, FOREIGN KEY он только такое делает. Да и смысл делать ENUM, TEXT? Впрочем, здесь можно докопаться до всего :)
________
посл. ред. 06.09.2025 в 12:59; всего 2 раз(а); by STUDIO
________
посл. ред. 06.09.2025 в 12:59; всего 2 раз(а); by STUDIO