Ce site utilise des cookies pour améliorer uniquement votre expérience utilisateur.
Vous pouvez lire à tout moment comment nous utilisons les cookies sur le site.
Nous allons créer une nouvelle page que l'on nommera creer_article.php. Cette page permettra de créer un article qui sera visible sur le blog.
Nous allons modifier notre fichier .htaccess afin d'appliquer l'URL souhaitée.
Fichier .htaccess
RewriteRule ^blog/creer-mon-article$ f_blog/creer_article
Ensuite dans notre page creer_article.php nous allons créer un formulaire afin de poster un article sur votre blog.
Page creer_article.php
<?php
session_start();
include('../bd/connexionDB.php'); // Fichier PHP contenant la connexion à votre BDD
if (!isset($_SESSION['id'])){
header('Location: /blog');
exit;
}
if($_SESSION['role'] <> 1){
header('Location: /blog');
exit;
}
if(!empty($_POST)){
extract($_POST);
$valid = true;
if (isset($_POST['creer-article'])){
$titre = (string) htmlentities(trim($titre));
$contenu = (string) htmlentities(trim($contenu));
$categorie = (int) htmlentities(trim($categorie));
if(empty($titre)){
$valid = false;
$er_titre = ("Il faut mettre un titre");
}
if(empty($contenu)){
$valid = false;
$er_contenu = ("Il faut mettre un contenu");
}
if(empty($categorie)){
$valid = false;
$er_categorie = "Le thème ne peut pas être vide";
}else{
// On vérifit que le mail est disponible
$verif_cat = $DB->query("SELECT id, titre
FROM categorie
WHERE id = ?",
array($categorie));
$verif_cat = $verif_cat->fetch();
if (!isset($verif_cat['id'])){
$valid = false;
$er_categorie = "Ce thème n'existe pas";
}
}
if($valid){
$date_creation = date('Y-m-d H:i:s');
$DB->insert("INSERT INTO blog (id_user, titre, text, date_creation, id_categorie) VALUES
(?, ?, ?, ?, ?)",
array($_SESSION['id'], $titre, $contenu, $date_creation, $categorie));
header('Location: /blog');
exit;
}
}
}
?>
<!DOCTYPE html>
<html>
<head>
<base href="/"/>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
<title>Créer mon article</title>
<link rel="stylesheet" href="../css/bootstrap.min.css"/>
<link rel="stylesheet" href="../css/style.css"/>
</head>
<body>
<?php
require_once('../menu.php');
?>
<div class="container">
<div class="row">
<div class="col-sm-12 col-md-12 col-lg-12">
<div class="cdr-ins">
<h1>Créer mon article</h1>
<form method="post">
<?php
// S'il y a une erreur sur le nom alors on affiche
if (isset($er_categorie)){
?>
<div class="er-msg"><?= $er_categorie ?></div>
<?php
}
?>
<div class="form-group">
<div class="input-group mb-3">
<select name="categorie" class="custom-select" id="inputGroupSelect01">
<?php
if(empty($categorie)){
?>
<option selected>Sélectionner votre thème</option>
<?php
}else{
?>
<option value="<?= $categorie ?>"><?= $verif_cat['titre'] ?></option>
<?php
}
$req_cat = $DB->query("SELECT *
FROM categorie");
$req_cat = $req_cat->fetchALL();
foreach($req_cat as $rc){
?>
<option value="<?= $rc['id'] ?>"><?= $rc['titre'] ?></option>
<?php
}
?>
</select>
</div>
</div>
<?php
if (isset($er_titre)){
?>
<div class="er-msg"><?= $er_titre ?></div>
<?php
}
?>
<div class="form-group">
<input class="form-control" type="text" placeholder="Votre titre" name="titre" value="<?php if(isset($titre)){ echo $titre; }?>">
</div>
<?php
if (isset($er_contenu)){
?>
<div class="er-msg"><?= $er_contenu ?></div>
<?php
}
?>
<div class="form-group">
<textarea class="form-control" rows="3" placeholder="Décrivez votre article" name="contenu"><?php if(isset($contenu)){ echo $contenu; }?></textarea>
</div>
<div class="form-group">
<button class="btn btn-primary" type="submit" name="creer-article">Envoyer</button>
</div>
</form>
</div>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
</body>
</html>