53 lines
1.8 KiB
PHP
53 lines
1.8 KiB
PHP
<?php
|
|
session_start();
|
|
require_once '../functions/databaseConnection.php';
|
|
|
|
// Pour faire cette fonction l'utilisateur doit être administrateur
|
|
if (!isset($_SESSION['role']) || $_SESSION['role'] !== 'admin') {
|
|
header('Location: ../pages/home.php');
|
|
exit;
|
|
}
|
|
|
|
// La requête doit être un POST sinon on l'a refuse
|
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|
|
|
// Récupération des données dans la requete POST
|
|
$title = $_POST['title'] ?? '';
|
|
$tags = $_POST['tags'] ?? '';
|
|
$description = $_POST['description'] ?? '';
|
|
$image_url = $_POST['imageurl'] ?? '';
|
|
|
|
// On vérifie que les champs obligatoires ne sont pas vide
|
|
if (!empty($title) && !empty($description) && !empty($image_url)) {
|
|
try {
|
|
// On prépare la requête SQL pour insérer le nouveau projet
|
|
$stmt = $dbh->prepare('INSERT INTO projects (title, tags, description, image_url) VALUES (:title, :tags, :description, :image_url)');
|
|
|
|
// On execute la requete préparée
|
|
$stmt->execute([
|
|
':title' => $title,
|
|
':tags' => $tags,
|
|
':description' => $description,
|
|
':image_url' => $image_url
|
|
]);
|
|
|
|
// Redirection vers projects.php ds que la requete est executée
|
|
header('Location: ../pages/projects.php');
|
|
exit;
|
|
|
|
} catch (PDOException $e) {
|
|
// En cas d'erreur :
|
|
echo "Erreur pendant l'ajout du projet: " . $e->getMessage();
|
|
exit;
|
|
}
|
|
} else {
|
|
echo "Veuillez remplir tous les champs obligatoires.";
|
|
exit;
|
|
}
|
|
} else {
|
|
// Si on y accède de façon peu légitime sans requête POST on refuse
|
|
header('Location: ../pages/projects.php');
|
|
exit;
|
|
}
|
|
?>
|