JeuWeb - Crée ton jeu par navigateur
[Réglé] Système de rang - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Réglé] Système de rang (/showthread.php?tid=2212)



[Réglé] Système de rang - Moxostoma - 29-12-2007

Bonsoir, je voudrais coder un système de rang sur mon site mais, je c'est pas comment m'y prendre. Je voudrais que sur mon espace membre, il y est au moins 2 rangs (Administrateurs,Membres). Comment m'y prendre pour que quand exemple un admin ayant le rang 2, il y est marquer "Bonjour, Moxostoma vous êtes Administrateur" est que quand un membre se connecte qui a le rang 1 qui est marquer "Bonjour, Machin vous êtes Membre"

Par avance, merci. Smile


RE: [PHP] Système de rang - Eluox - 29-12-2007

Dans ta table membres, tu ajoute un champ rang, et quand tu fait ta requete de recuperation de donné du genre :
Code PHP :
<?php 
$id
= $_SESSION['id'];
$req = mysql_query("SELECT * FROM users WHERE id='$id'");
$sql = mysql_fetch_assoc($req);

print
$sql['pseudo'].' vous êtes '.$sql['rang'];

Perso je ferais comme sa :p


RE: [PHP] Système de rang - alfanor - 29-12-2007

Si tu veux un traitement des droits plus poussés il faudrait que tu raisonnes par droit d'action et droit d'accès à une page et groupe d'utilisateur.

Car le système "Admin" - "Modo" - "Membre" se voit très vite dépassé, surtout lorsque tu t'attaques à l'administration de ton site où chaque modification peut entraîner de graves conséquences (modifications des coûts des structures / unités, suppression de compte ...)

Enfin après si tu as des problèmes pour le système "basique" d'autorisation, autant que tu ne t'embêtes pas avec les droits d'accès / d'actions qui sont quand même plus compliqué à gérer.

Donc pour faire comme tu veux actuellement, effectivement la méthode de dark vengeur est bonne, en remplaçant print par echo Tongue

EDIT : Tu peux aussi faire deux tables, dans ce style :

- rang
- membre

Dnas membre il y aurai un champ "id_rang" permettant de connaître le rang du membre et d'afficher la valeur contenu dans "nom_rang" de la table "rang".


RE: [PHP] Système de rang - Eluox - 29-12-2007

Vous avez quoi vous tous avec mon print, il est tres beau na!


RE: [PHP] Système de rang - Moxostoma - 29-12-2007

dark vengeur a écrit :Dans ta table membres, tu ajoute un champ rang, et quand tu fait ta requete de recuperation de donné du genre :
Code PHP :
<?php 
$id
= $_SESSION['id'];
$req = mysql_query("SELECT * FROM users WHERE id='$id'");
$sql = mysql_fetch_assoc($req);

print
$sql['pseudo'].' vous êtes '.$sql['rang'];

Perso je ferais comme sa :p

En faites, je voudrais savoir comment coder ce système de rang, pas vouloir afficher le rang. Je me suis mal expliquer, désoler. Je c'est qu'il faut utiliser des conditions, mais je ne c'est pas comment m'y prendre. Merci.


RE: [PHP] Système de rang - alfanor - 29-12-2007

Il n'y a rien de spécial à coder, tu as ta table "membre" (ou équivalent), dedans tu ajoutes un champ nommé "rang", à priori de type "varchar" si tu veux avoir directement le rang dedans. Et dans le code il te suffit de faire un truc du genre :

Code PHP :
<?php
$id_membre
= $_SESSION['id_membre'];

$donnees_membre = mysql_query("SELECT * FROM membre WHERE id_membre = '" . $id . "'")or die(mysql_error());
$donnees_membre = mysql_fetch_assoc($donnees_membre);

if(
$donnees_membre['rang'] == 'admin')
{
echo
'Salut l\'admin !';
}
?>

Après tu peux aussi afficher directement $donnees_membre['rang'] si le rang est stocké sous forme 'lisible' dedans (accent & cie)


RE: [PHP] Système de rang - Aro - 29-12-2007

Il me semble que dans sa table il a écrit que les rang sont sous forme numérique Smile
Donc:

Au moment de l'inscription:
Code PHP :
<?php 
$_SESSION
['pseudo'] = $pseudo; // je pense que c'est pas trop compliqué ^^
$_SESSION['rang'] = $rang; // sous forme numérique (1,2,3)

Ensuite pour l'afficher:
Code PHP :
<?php 
switch($_SESSION['rang']) // Voyons ce que renferme $_SESSION['rang']
{
case
1 : // si son rang est 1, il est membre
echo 'Bonjour '.$_SESSION['pseudo'].' vous êtes un membre.';
break;
case
2 : // si son rang est 2, il est modo
echo 'Bonjour '.$_SESSION['pseudo'].' vous êtes modérateur.';
break;
case
3 : // si son rang est 3, est est admin
echo 'Bonjour '.$_SESSION['pseudo'].' vous êtes administrateur.';
}

Voily voilou Smile


RE: [PHP] Système de rang - alfanor - 30-12-2007

J'ai horreur des switch Tongue (j'aime pas la structure que sa a et c'est plus lent que des conditions si je ne me trompe pas.)

Enfin à mon goût le meilleur moyen c'est encore d'avoir deux tables, celle du membre stockant l'id du rang et celle des rangs stockant la forme à affiché du rang.


RE: [PHP] Système de rang - Aro - 30-12-2007

Bah le switch est plus lent que les ternaire mais plus rapide que les autres dans ce cas là :o

Perso j'ai deux tables, celle des membres ou j'ai le rang numérique de l'utilisateur: de 0 pour le membre à 3 pour l'admin.
Pis j'ai une table admin_access avec userid qui est l'id du membre dans la première table. Là j'ai le rang textuel de l'utilisateur avec ses droits d'accès.