PHP, MySQL | Система кланов
Топ дня: SantaClaus scam [БАН]
Структура базы данных
Для начала нужно создать таблицы в базе данных для хранения информации о кланах и их членах. Пример структуры:
Конфигурация и подключение к базе данных
Создайте файл db.php для подключения к базе данных:
Создайте файл create_clan.php для создания нового клана:
Создайте файл view_clan.php для просмотра информации о клане:
Вы можете добавить больше функций по аналогии с приведенными выше, таких как удаление кланов, изменение информации о кланах, управление членами и т.д.
Этот пример кода дает базовое представление о том, как можно реализовать систему кланов. Не забудьте добавить соответствующую проверку и валидацию данных, а также защиту от SQL-инъекций и XSS-атак.
Для начала нужно создать таблицы в базе данных для хранения информации о кланах и их членах. Пример структуры:
-- Таблица для хранения информации о кланах
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) -- предполагаем, что есть таблица пользователей
);
Конфигурация и подключение к базе данных
Создайте файл db.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();
?>
Создайте файл create_clan.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>
Создайте файл view_clan.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();
?>
Вы можете добавить больше функций по аналогии с приведенными выше, таких как удаление кланов, изменение информации о кланах, управление членами и т.д.
Этот пример кода дает базовое представление о том, как можно реализовать систему кланов. Не забудьте добавить соответствующую проверку и валидацию данных, а также защиту от SQL-инъекций и XSS-атак.
А на дворе 2024 год, скоро 2025й
Galtsev.T (28 авг 2024, в 7:13)
А на дворе 2024 год, скоро 2025й
Ну, а зачем оффтопить? Лучще помог бы человеку
А на дворе 2024 год, скоро 2025й
Кошмар
, так по сути я вижу ответ от 4ГПТ)
Это как?)
Это автор скопировал ответ из чатгпт и скинул на форум, типа вот вам система кланов)
ага FOREIGN KEY он только такое делает да и смысл делать ENUM, TEXT впрочем здесь докопаться можно до всего :)
________
посл. ред. 28.08.2024 в 14:16; всего 1 раз(а); by STUDIO
________
посл. ред. 28.08.2024 в 14:16; всего 1 раз(а); by STUDIO