Espace administration - Espace membre

Ce topic a été résolu
M69-74

M69-74 Le 31 mars 2016 à 10:14 (Édité le 25 janvier 2019 à 17:50)

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.
quiqou55

quiqou55 Le 31 mars 2016 à 12:52 (Édité le 31 mars 2016 à 12:54)

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

TheFlameflo Le 31 mars 2016 à 13:00

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 😉. 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 !
M69-74

M69-74 Le 31 mars 2016 à 14:05 (Édité le 31 mars 2016 à 14:06)

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

quiqou55 Le 31 mars 2016 à 16:30 (Édité le 31 mars 2016 à 16:32)

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

quiqou55 Le 31 mars 2016 à 16:34

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']));
M69-74

M69-74 Le 31 mars 2016 à 18:00

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

TheFlameflo Le 31 mars 2016 à 21:23

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
M69-74

M69-74 Le 1 avril 2016 à 13:04

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

M69-74 Le 1 avril 2016 à 18:23 (Édité le 1 avril 2016 à 20:01)

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

Nobodief Le 2 avril 2016 à 21:59 (Édité le 2 avril 2016 à 22:00)

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.
M69-74

M69-74 Le 3 avril 2016 à 08:52

Merci !
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte