Systeme de bannissement

Suivre ce topic
Ce topic est suivi par : Personne...
Ce topic a été résolu
bykertix

bykertix Le 31 mars 2016 à 17:16 (Édité le 25 janvier 2019 à 17:50)

Bonjour a tous je voudrai savoir sur mon site, comment je pouvais faire un systeme de bannissement ?
TheFlameflo

TheFlameflo Le 31 mars 2016 à 21:27 (Édité le 31 mars 2016 à 21:27)

Salut !
Premièrement, tu dois créer dans ta base de donnée un champ banni qui prendra un int.
Ce int sera de base à zéro.
Donc, les utilisateurs auront cette case et lorsque tu voudras bannir un utilisateur, tu vas dans ton panel admin, que tu auras créé avant, qui comportera une liste d'utilisateurs avec une case à côté. Quand tu cliques sur la case, il sera banni. Pour le "bannir", tu modifieras le 0 par un 1, ce qui signifie qu'il est banni !

Pour résumer :
Un champ "banni" int dans ta table membre
Un panel qui permet de bannir/débannir les utilisateurs
Un message qui s'affiche quand l’utilisateur se connecte en lui disant qu'il est banni du site

Je crois que c'est tout !
Nobodief

Nobodief Le 31 mars 2016 à 22:46

Bonsoir, tu peux en effet rajouter une nouvelle colonne dans ta table d'utilisateurs, pour un côté simpliste avec une simple alternation entre plusieurs nombre (0,1,2,3,4,ect..) tu auras juste besoin de rajouter des conditions dans tes pages.

Pour éviter de rajouter 30 lignes à chaque fois pour voir le status de l'utilisateurs je te conseil d'utiliser des class pour faire appel à ce genre de condition qui seront présente partout :

require_once('database.php'); 

class User {
    
    static function select($uservalue) { // $uservalue c'est la valeurs qu'ont souhaite récupérer.
    global $bdd; // Ce qui permettra d'avoir accès à notre variable de base de données.
    if(empty($_SESSION['id']) { // On vérifie si l'utilisateur est bien connecté, il est déconnecté ont retourne false
       return false;
    } else { // Sinon ont peut récupérer sont identifiant
      $users_select = $bdd->prepare("select * from la_table WHERE id = ?");
      $users_select->execute(array($_SESSION['id']);
      $users_select = $users_select->fetch();
      $users_select = $users_select[$uservalue];
    }

    static function isBanned() {
      global $bdd; // Ce qui permettra d'avoir accès à notre variable de base de données.
      if(User::select('banned') == '1') { // si l'utilisateur est banni ont retourne true
        return true;
      } else { // sinon on retourne false.
        return false;
      }
   }

}
Il faudra préciser dans tes pages (session_start) pour que nous ayons accès à sont identifiant, gràce à ce script tu peux désormais récupérer toutes les informations de ton utilisateurs en écrivant ton code comme cela :

echo User::select('name');
echo User::select('username');
Maintenant nous allons intégrer notre condition à notre page pour vérifier si l'utilisateurs n'est pas banni 😄

<?php if(User::isBanned()) :?>

Vous êtes banni

<?php else: ?>

vous n'êtes pas banni

<?php endif; ?>

A toi d'adapter ton code pour ton site, normalement cela devrais fonctionner.

Cordialement, Santar. 
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte