Veuillez vous connecter ou créer un compte pour suivre ce topic
Ce topic est suivi par: quiqou55
Ce topic a été résolu
Auteur Sujet: Espace administration - Espace membre

Marius

Messages: 138

Bonjour à tous,

J'ai suivis le tuto de PrimFx, et je voulais savoir si il était possible de créer un espace administrateur ou seulement une personne ne peut accéder à cette page (sur laquelle il y aurait la liste de tout les membres avec des options chacun tel que : supprimer, bloquer etc...). Pouvez-vous me dire comment faire ?

En vous remerciant,
Cordialement,
Marius.
Publicité

quiqou55

Messages: 23

Salut !
Tu peut faire sa en créant un champ role dans ta table membres qui sera en INT(11) et qui sera par défaut 1.
Ensuite tu peut definir le rôle en fonction des droits d'acces : 

  • 1 : Utilisateur standart
  • 2 : Modérateur
  • 3 : Administrateur

Ensuite tu peut créer des fonction  : 
<?php
   function is_moderateur(){
      if(!empty($_SESSION['role'] && $_SESSION['role'] >= 2) {
         return true // Il est modérateur ou admin
      } else {
         return false // Il n'est pas modérateur ni admin
      }
   }
   function is_admin(){
      if(!empty($_SESSION['role'] && $_SESSION['role'] >= 3) {
         return true // Il est admin
      } else {
         return false // Il n'est pas admin
      }
   }
Ensuite tu peut utiliser ses fonction dans ton script : 
<?php if(is_admin()){ /* Si une fonction renvoi true inutile de le préciser */ ?>
   <a href="supprimer-compte.php" class="btn">Supprimer</a>
<?php endif ?>
<!-- Tu peut aussi l'utiliser de la manière suivante : -->
<?php 
   if(!is_admin()){
      header('403 Forbidden', true, 403) // Renvoi une erreur 403 au nivigateur
      exit();
   }
?>
<a href="supprimer-compte.php" class="btn">Supprimer</a>


TheFlameflo

Messages: 303

Ce que quiqou a dit, c'est vrai.
Mais en plus de ça, met toutes les pages administratives dans un fichier protégé par les fonctions qu'il t'a montré ET .htaccess.
Pour gérer les membres, supprimer, modifier, etc, je crois que tu sais comment faire Clin d'oeil. Si tu sais pas n'hésite pas, on peut t'aider.
Donc, essaye-ça. C'est supposément fonctionnel, mais on ne sait jamais.
Faut aussi penser adapter le script donné par quiqou avec ton site ( BDD, rôle ).
Bonne chance !

Marius

Messages: 138

Tout d'abord, merci pour vos deux réponses.

Quiquo55, tu m'as dit de  définir le rôle en fonction de chacun ; comment puis-je définir cela (direct lors de l'inscription, ou alors dans mas bdd) ? Ensuite, ou mettrais-je les fonctions ? Et si j'ai bien compris, je mets mes fonctions à exécuter sur une seule et même page ?

TheFlameflo, merci aussi pour ton aide ! Mais je n'ai pas compris quelque chose : comment puis-je protéger mes fichiers admin ? Et pour modifier, je sais faire, mais pas pour supprimer. Peux-tu m'aider ?

Encore merci,
Cordialement,
Marius

quiqou55

Messages: 23

Les roles tu peut les définir dans un champ role de la table membres ou dans une table rôle de ta base de donnée, tu n'auras pas besoin des noms de role en php.

Pour ce qui est des fonction je te conseil de créer un fichier start.php que tu inclura dans toutes les pages du site avant les balises html.
Dans ce fichier tu peut créer les différentes fonction et variables globales (comme le nom de la bdd et autre).

quiqou55

Messages: 23

Pour ce qui est de la suppression c'est simple il suffit de faire un lien vers une page php et ensuite faire une requete sql préparé 
<?php $bdd->prepare('DELETE FROM membres WHERE id = ?')->execute(array($_GET['id']));

Marius

Messages: 138

D'accord, je te remercie  pour ton attention ! Je vais essayer plus tard et te dit si ca marche ! Merci encore !

TheFlameflo

Messages: 303

Comme je te l'ai dit, pour "bloquer" des pages à certains utilisateurs pour ne pas qu'ils puissent y accéder sans identifiants spéciaux, tu dois créer un .htacces.
Pour ça, j'ai trouvé un petit tuto qui explique très bien comment faire :
https://openclassrooms.com/courses/concevez-votre-site-web-avec-php-et-mysql/proteger-un-dossier-avec-un-htaccess

Marius

Messages: 138

Merci bcp, j'essaye ce we et je te dit des nouvelles !

Marius

Messages: 138

Salut, je rencontre un problème sur mes pages de modification, et suppression ; comment faire en sorte qu'on supprime la personne sélectionnée par exemple, et non pas l’administrateur en ligne ?
Merci !

Nobodief

Messages: 73

Si tu veux faire une suppression de l'utilisateur en ligne tu retourne son identifiant dans ta requête, si c'est pour un administrateur, tu fait une requête qui retourne tous les utilisateurs existant dans un select placé dans un form avec pour valeur l'identifiant, puis tu retourne le résultat de $_POST dans le WHERE de ta requête de supression.

Marius

Messages: 138

Merci !


Veuillez vous connecter ou créer un compte pour poster une réponse