first commit
This commit is contained in:
49
admin/add_article.php
Normal file
49
admin/add_article.php
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
session_start();
|
||||
require '../includes/db.php';
|
||||
|
||||
if (!isset($_SESSION['user_id'])) {
|
||||
header('Location: login.php');
|
||||
exit;
|
||||
}
|
||||
|
||||
$message = '';
|
||||
|
||||
if (isset($_POST['titre']) && isset($_POST['contenu'])) {
|
||||
$titre = $_POST['titre'];
|
||||
$contenu = $_POST['contenu'];
|
||||
|
||||
$sql = "INSERT INTO articles (titre, contenu, date_creation) VALUES (:titre, :contenu, NOW())";
|
||||
$stmt = $pdo->prepare($sql);
|
||||
$stmt->bindParam(':titre', $titre);
|
||||
$stmt->bindParam(':contenu', $contenu);
|
||||
|
||||
if ($stmt->execute()) {
|
||||
$message = "Article ajouté avec succès !";
|
||||
} else {
|
||||
$message = "Erreur lors de l'ajout de l'article.";
|
||||
}
|
||||
}
|
||||
|
||||
require '../includes/header.php';
|
||||
?>
|
||||
|
||||
<main>
|
||||
<h2>Ajouter un article</h2>
|
||||
|
||||
<?php if($message) echo '<p>'.$message.'</p>'; ?>
|
||||
|
||||
<form method="POST">
|
||||
<label>Titre :</label><br>
|
||||
<input type="text" name="titre" required><br><br>
|
||||
|
||||
<label>Contenu :</label><br>
|
||||
<textarea name="contenu" rows="10" cols="50" required></textarea><br><br>
|
||||
|
||||
<button type="submit">Ajouter</button>
|
||||
</form>
|
||||
</main>
|
||||
|
||||
<?php
|
||||
require '../includes/footer.php';
|
||||
?>
|
||||
27
admin/dashboard.php
Normal file
27
admin/dashboard.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
session_start();
|
||||
require '../includes/db.php';
|
||||
|
||||
if (!isset($_SESSION['user_id'])) {
|
||||
header('Location: login.php');
|
||||
exit;
|
||||
}
|
||||
|
||||
require '../includes/header.php';
|
||||
?>
|
||||
|
||||
<main>
|
||||
<h2>Tableau de bord</h2>
|
||||
<p>Bienvenue, <?= htmlspecialchars($_SESSION['user_login']); ?> !</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="add_article.php">Ajouter un article</a></li>
|
||||
<li><a href="edit_article.php">Modifier un article</a></li>
|
||||
<li><a href="delete_article.php">Supprimer un article</a></li>
|
||||
<li><a href="logout.php">Se déconnecter</a></li>
|
||||
</ul>
|
||||
</main>
|
||||
|
||||
<?php
|
||||
require '../includes/footer.php';
|
||||
?>
|
||||
61
admin/delete_article.php
Normal file
61
admin/delete_article.php
Normal file
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
session_start();
|
||||
require '../includes/db.php';
|
||||
|
||||
if (!isset($_SESSION['user_id'])) {
|
||||
header('Location: login.php');
|
||||
exit;
|
||||
}
|
||||
|
||||
$message = '';
|
||||
$article = null;
|
||||
|
||||
if (isset($_GET['id']) && is_numeric($_GET['id'])) {
|
||||
$id = $_GET['id'];
|
||||
|
||||
$sql = "SELECT * FROM articles WHERE id = :id";
|
||||
$stmt = $pdo->prepare($sql);
|
||||
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
|
||||
$stmt->execute();
|
||||
$article = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
if (!$article) {
|
||||
die("Article introuvable.");
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($_POST['confirm']) && $_POST['confirm'] === 'Oui') {
|
||||
$sql = "DELETE FROM articles WHERE id = :id";
|
||||
$stmt = $pdo->prepare($sql);
|
||||
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
|
||||
|
||||
if ($stmt->execute()) {
|
||||
$message = "Article supprimé avec succès !";
|
||||
$article = null;
|
||||
} else {
|
||||
$message = "Erreur lors de la suppression.";
|
||||
}
|
||||
}
|
||||
|
||||
require '../includes/header.php';
|
||||
?>
|
||||
|
||||
<main>
|
||||
<h2>Supprimer un article</h2>
|
||||
|
||||
<?php if($message) echo '<p>'.$message.'</p>'; ?>
|
||||
|
||||
<?php if($article): ?>
|
||||
<p>Voulez-vous vraiment supprimer l'article : "<strong><?= htmlspecialchars($article['titre']) ?></strong>" ?</p>
|
||||
<form method="POST">
|
||||
<button type="submit" name="confirm" value="Oui">Oui</button>
|
||||
<button type="submit" name="confirm" value="Non">Non</button>
|
||||
</form>
|
||||
<?php else: ?>
|
||||
<p>Aucun article sélectionné ou article déjà supprimé.</p>
|
||||
<?php endif; ?>
|
||||
</main>
|
||||
|
||||
<?php
|
||||
require '../includes/footer.php';
|
||||
?>
|
||||
73
admin/edit_article.php
Normal file
73
admin/edit_article.php
Normal file
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
session_start();
|
||||
require '../includes/db.php';
|
||||
|
||||
if (!isset($_SESSION['user_id'])) {
|
||||
header('Location: login.php');
|
||||
exit;
|
||||
}
|
||||
|
||||
$message = '';
|
||||
$article = null;
|
||||
|
||||
if (isset($_GET['id']) && is_numeric($_GET['id'])) {
|
||||
$id = $_GET['id'];
|
||||
|
||||
$sql = "SELECT * FROM articles WHERE id = :id";
|
||||
$stmt = $pdo->prepare($sql);
|
||||
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
|
||||
$stmt->execute();
|
||||
$article = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
if (!$article) {
|
||||
die("Article introuvable.");
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($_POST['titre']) && isset($_POST['contenu'])) {
|
||||
$titre = $_POST['titre'];
|
||||
$contenu = $_POST['contenu'];
|
||||
|
||||
$sql = "UPDATE articles SET titre = :titre, contenu = :contenu WHERE id = :id";
|
||||
$stmt = $pdo->prepare($sql);
|
||||
$stmt->bindParam(':titre', $titre);
|
||||
$stmt->bindParam(':contenu', $contenu);
|
||||
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
|
||||
|
||||
if ($stmt->execute()) {
|
||||
$message = "Article modifié avec succès !";
|
||||
$stmt = $pdo->prepare("SELECT * FROM articles WHERE id = :id");
|
||||
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
|
||||
$stmt->execute();
|
||||
$article = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
} else {
|
||||
$message = "Erreur lors de la modification.";
|
||||
}
|
||||
}
|
||||
|
||||
require '../includes/header.php';
|
||||
?>
|
||||
|
||||
<main>
|
||||
<h2>Modifier un article</h2>
|
||||
|
||||
<?php if($message) echo '<p>'.$message.'</p>'; ?>
|
||||
|
||||
<?php if($article): ?>
|
||||
<form method="POST">
|
||||
<label>Titre :</label><br>
|
||||
<input type="text" name="titre" value="<?= htmlspecialchars($article['titre']) ?>" required><br><br>
|
||||
|
||||
<label>Contenu :</label><br>
|
||||
<textarea name="contenu" rows="10" cols="50" required><?= htmlspecialchars($article['contenu']) ?></textarea><br><br>
|
||||
|
||||
<button type="submit">Modifier</button>
|
||||
</form>
|
||||
<?php else: ?>
|
||||
<p>Aucun article sélectionné.</p>
|
||||
<?php endif; ?>
|
||||
</main>
|
||||
|
||||
<?php
|
||||
require '../includes/footer.php';
|
||||
?>
|
||||
47
admin/login.php
Normal file
47
admin/login.php
Normal file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
session_start();
|
||||
|
||||
require '../includes/db.php';
|
||||
|
||||
if (isset($_POST['login']) && isset($_POST['password'])) {
|
||||
$login = $_POST['login'];
|
||||
$password = $_POST['password'];
|
||||
|
||||
$sql = "SELECT * FROM utilisateur WHERE login = :login";
|
||||
$stmt = $pdo->prepare($sql);
|
||||
$stmt->bindParam(':login', $login);
|
||||
$stmt->execute();
|
||||
$user = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
if ($user && password_verify($password, $user['password'])) {
|
||||
$_SESSION['user_id'] = $user['id'];
|
||||
$_SESSION['user_login'] = $user['login'];
|
||||
header('Location: dashboard.php');
|
||||
exit;
|
||||
} else {
|
||||
$error = "Identifiants incorrects.";
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Connexion Admin</title>
|
||||
<link rel="stylesheet" href="../assets/css/style.css">
|
||||
</head>
|
||||
<body>
|
||||
<h2>Connexion Administration</h2>
|
||||
|
||||
<?php if(isset($error)) echo '<p style="color:red;">'.$error.'</p>'; ?>
|
||||
|
||||
<form method="POST">
|
||||
<label>Login :</label><br>
|
||||
<input type="text" name="login" required><br><br>
|
||||
<label>Mot de passe :</label><br>
|
||||
<input type="password" name="password" required><br><br>
|
||||
<button type="submit">Se connecter</button>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
10
admin/logout.php
Normal file
10
admin/logout.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
session_start();
|
||||
|
||||
$_SESSION = [];
|
||||
|
||||
session_destroy();
|
||||
|
||||
header('Location: login.php');
|
||||
exit;
|
||||
?>
|
||||
Reference in New Issue
Block a user