// Подключение к базе данных
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "cms_db";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Ошибка подключения: " . $conn->connect_error);
}
// Проверка авторизации
session_start();
if (!isset($_SESSION['user_id'])) {
header("Location: login.php");
exit;
}
// Получение данных пользователя
$user_id = $_SESSION['user_id'];
$sql = "SELECT username FROM users WHERE id = $user_id";
$result = $conn->query($sql);
$user = $result->fetch_assoc();
?>
Простая CMS
Добро пожаловать, !
Выход
Список статей
$sql = "SELECT * FROM articles WHERE author_id = $user_id";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "- " . $row['title'] . "
";
}
} else {
echo "- Статей нет.
";
}
?>
Добавить статью
$conn->close();
?>
```
**login.php:**
```php
// Подключение к базе данных
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "cms_db";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Ошибка подключения: " . $conn->connect_error);
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT id FROM users WHERE username = '$username' AND password = '$password'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
$_SESSION['user_id'] = $row['id'];
header("Location: index.php");
exit;
} else {
$error = "Неверный логин или пароль";
}
}
?>
Вход
Вход
$error"; } ?>
Регистрация
$conn->close();
?>
```
**register.php:**
```php
// Подключение к базе данных
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "cms_db";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Ошибка подключения: " . $conn->connect_error);
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];
// Проверка, существует ли пользователь с таким именем
$sql = "SELECT id FROM users WHERE username = '$username'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$error = "Пользователь с таким именем уже существует";
} else {
// Хеширование пароля
$password = password_hash($password, PASSWORD_DEFAULT);
// Добавление пользователя в базу данных
$sql = "INSERT INTO users (username, password, email) VALUES ('$username', '$password', '$email')";
if ($conn->query($sql) === TRUE) {
header("Location: login.php");
exit;
} else {
$error = "Ошибка регистрации";
}
}
}
?>
Регистрация
Регистрация
$error"; } ?>
$conn->close();
?>
```
**logout.php:**
```php
session_start();
session_destroy();
header("Location: login.php");
exit;
?>
```
**add_article.php:**
```php
// Подключение к базе данных
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "cms_db";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Ошибка подключения: " . $conn->connect_error);
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$title = $_POST['title'];
$content = $_POST['content'];
$author_id = $_SESSION['user_id'];
$sql = "INSERT INTO articles (title, content, author_id) VALUES ('$title', '$content', $author_id)";
if ($conn->query($sql) === TRUE) {
header("Location: index.php");
exit;
} else {
$error = "Ошибка добавления статьи";
}
}
?>
Добавить статью
Добавить статью
$error"; } ?>
$conn->close();
?>
```
**article.php:**
```php
// Подключение к базе данных
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "cms_db";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Ошибка подключения: " . $conn->connect_error);
}
$article_id = $_GET['id'];
$sql = "SELECT * FROM articles WHERE id = $article_id";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$article = $result->fetch_assoc();
} else {
header("Location: index.php");
exit;
}
?>
$conn->close();
?>
```