Sauvegarde de l'ajout de projet
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
session_start();
|
||||
require_once 'databaseConnection.php';
|
||||
|
||||
// Pour faire cette fonction l'utilisateur doit être administrateur
|
||||
if (!isset($_SESSION['role']) || $_SESSION['role'] !== 'admin') {
|
||||
header('Location: 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['image_url'] ?? '';
|
||||
|
||||
// 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: 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: projects.php');
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
@@ -6,7 +6,7 @@
|
||||
session_start();
|
||||
|
||||
// Ajout de connexion a la bdd
|
||||
require_once('./../database/databaseConnection.php');
|
||||
require_once('./databaseConnection.php');
|
||||
|
||||
// La requête doit être un POST sinon on l'a refuse
|
||||
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
// J'héberge un serveur de base de donnée sur un serveur
|
||||
// Pour éviter que les identifiants soient lisible sur Gitea je vais appeller un fichier qui n'est pas dans le projet
|
||||
|
||||
|
||||
// EXEMPLE de a quoi ressemble idConnection :
|
||||
// define('DB_HOST', 'adresse_ip');
|
||||
// define('DB_PORT', port);
|
||||
// define('DB_NAME', 'portfolio');
|
||||
// define('DB_USER', 'srv_portfolio');
|
||||
// define('DB_PASS', 'mdp');
|
||||
|
||||
// On importe le fichier avec les IDs
|
||||
require_once('../../idConnection.php');
|
||||
|
||||
// Connexion à la base grâce à l'API PDO
|
||||
|
||||
// Définitions des identifiants de connexion grâce au fichier idConnection
|
||||
$dsn = 'mysql:host='. DB_HOST . ';port=' . DB_PORT . ';dbname=' . DB_NAME;
|
||||
$user = DB_USER ;
|
||||
$pass = DB_PASS ;
|
||||
|
||||
try {
|
||||
// TENTATIVE de connexion
|
||||
$dbh = new PDO($dsn, $user, $pass);
|
||||
} catch (PDOException $e) {
|
||||
// SI erreur, RENVOIE erreur
|
||||
die("Erreur de connexion à la base de donnée portfolio :".$e->getMessage());
|
||||
}
|
||||
Reference in New Issue
Block a user