Faire une page d'administration pour gérer votre site
Actuellement, pour effectuer des actions telles qu'ajouter, modifier ou supprimer des catégories, des produits ou consulter les commandes des clients, vous devez accéder à PHPMyAdmin, ce qui peut être fastidieux, surtout pour un client peu familier avec l'informatique. Cela rend votre site statique et peu convivial.
Dans la création d'un site Internet, vous avez deux grandes responsabilités :
1. L'interface utilisateur : ce que vos clients voient et avec quoi ils interagissent, c'est ce que nous avons développé ensemble jusqu'à présent.
2. L'administration et les autres traitements : ce que seuls les administrateurs peuvent voir et gérer en coulisses.
L'objectif de cette séance est de vous guider dans la création d'un espace d'administration convivial, rendant la gestion de votre site facile et accessible aux administrateurs. Dans notre cas, cela signifie donner la possibilité aux administrateurs d'ajouter, de modifier et de supprimer des catégories, des produits, de consulter les commandes et de les gérer efficacement.
L'espace d'administration doit être adapté aux besoins spécifiques de votre site. Par exemple, pour un site de magazine ou un blog, l'administrateur devrait pouvoir gérer les rubriques, les articles, les auteurs et voir les articles les plus lus. Pour un site de formation en ligne, l'administrateur devrait pouvoir gérer les cours, suivre la progression des étudiants, etc.
L'espace d'administration est un élément essentiel pour rendre votre site dynamique et facile à gérer. Nous allons commencer par ajouter un nouveau champ "type" dans la table "user" pour différencier les utilisateurs normaux des utilisateurs ayant des droits administratifs.
Ensuite, nous allons créer ensemble la page d'administration en utilisant la méthode GET pour les différentes parties du site.
Mais avant cela, ajoutez un champ "type" dans la table "user" et attribuez une valeur, par exemple 12378, aux administrateurs.
Maintenant, vous devez tenir compte de ce champ pour vérifier si un utilisateur est un administrateur ou non, afin de le rediriger vers la page "dashboard.php" ou "admin.php".
<?php
if($userData['type'] == 12378)
{
$_SESSION['useradmin']=$userData['id'];
header("Location: admin.php");
}
else
{
header("Location: dashboard.php");
}
?>
Après avoir créé la page "admin.php" avec les différentes sections (Catégories, Produits, Commandes et Déconnexion), dans la section des catégories pour afficher les catégories, utilisez le code suivant :
<div class='admin-section'>
<table class='table table-striped'>
<tr><th>Categorie</th><th>Option</th></tr>
<?php
$querySelectCategory=$dbConnect->prepare("SELECT * FROM category ORDER BY titre ASC");
$querySelectCategory->execute();
while($row=$querySelectCategory->fetch())
{
echo "<tr>";
echo "<td>".$row['titre']."</td>";
echo "<td>";
echo "<a href='#' class='btn btn-primary'>Modifier</a>";
echo "<a href='#' class='btn btn-danger'>Supprimer</a>";
echo "</td>";
echo "</tr>";
}
?>
</table>
</div>
Ajoutez un bouton "Ajouter" :
<a href='admin.php?page=1&&add=1' class='btn btn-primary'>Ajouter</a>
Créez une section modale pour les formulaires avec le code suivant :
<div class='modal-container'>
<div class='modal-form'>
<a href='admin.php?page=1' class='close-modal'>x</a>
<!--Form-->
</div>
</div>
CSS
.modal-container
{
width:100%;
height: 100vh;
position: absolute;
z-index: 1000;
background: rgba(0,0,0,0.1);
top:0px;
left: 0px;
display: flex;
}
.modal-form
{
width: 40%;
margin: auto;
min-height: 100px;
background: white;
border:1px solid rgba(0,0,0,0.1);
border-radius: 10px;
padding: 30px;
position: relative;
}
.close-modal
{
position: absolute;
right: 20px;
top: 0px;
font-size: 20px;
color: red;
text-decoration: none;
}
Ensuite, créez le formulaire pour ajouter les catégories :
<?php
if(isset($_GET['page']) AND $_GET['page'] == 1)
{
if(isset($_GET['add']) AND $_GET['add'] == 1)
{
?>
<div class='modal-container'>
<div class='modal-form'>
<a href='admin.php?page=1' class='close-modal'>x</a>
<form method='post' action=''>
<?php
if(isset($error))
{
echo "<div class='alert alert-danger'>".$error."</div>";
}
?>
<input type='text' name='categorie' placeholder="Categorie" class='form-control' required />
<button name='ajoutercategory' type='submit' class='btn btn-primary'>Ajouter</button>
</form>
</div>
</div>
<?php
}
?>
Enfin, traitez le formulaire d'ajout de catégorie comme suit :
<?php
//Ajouter Categorie
if(isset($_POST['ajoutercategory']))
{
if(!empty($_POST['categorie']))
{
$categorie=trim(htmlspecialchars($_POST['categorie']));
if($categorie != '')
{
$queryInsertCategory=$dbConnect->prepare("INSERT INTO `category`(`titre`) VALUES (:titre)");
$queryInsertCategory->execute(array('titre' => $categorie));
header("Location: admin.php?page=1");
}
else
{
$error="Remplir correctement les champs du formulaire";
}
}
else
{
$error="Remplir correctement les champs du formulaire";
}
}
?>