Bonjour,

Voilà j'ai un espace membre, des rangs, des menus specials pour chaque membre et leur grades mais là je suis bloquer...
Bon voilà.. J'ai créer le design de mon espace premium mais maintenant je vais vous expliquer mon problème:
J'ai 3 catégories de Premium dans mon site:

Premium 1 => un bouton (url)
Premium 2 => un bouton (url)
Premium 3 => un bouton (url)

et je voudrais que en cliquant par exemple sur un des bouton de un des Premiums que sa change mon rang.

Mais code rang (fonction.php):

<?php   
         $req = mysql_query("SELECT * FROM membre WHERE login = '".$_SESSION['login']."'");
         $membre = mysql_fetch_array($req); 

         if($membre['rang'] == 0) { $rang = "Rang inexistant"; } 
         if($membre['rang'] == 1) { $rang = "Membre"; } 
         if($membre['rang'] == 2) { $rang = "Moderateur"; }
         if($membre['rang'] == 3) { $rang = "Administrateur"; }
         if($membre['rang'] == 4) { $rang = "Prenium"; }

         $pseudo = ''.htmlspecialchars($_SESSION['login']).'';
?>

Mon code HTML du premium 1: (P1_valide.php)

<?php 
require("include/header.php"); 
require('include/sessions.php');
?>
<head>
  <title>Prenium n°1</title>
  <meta charset="utf-8">
  <head>
  <style type="text/css">
    #cadrevalideoupas {
        width: 800px;
        height: 0 auto;
        border-style: solid;
        border-color: black;
        background: white;
        padding-left: 10px;
    }
  </style>
  <br />
  <br />
  <br />
  <center>
<div id="cadrevalideoupas">
<br />
<br />
  <p><center><b><font color="green">CODE VALIDE</font></b></center></p>
  <p><center><b><font color="green">Vous êtes maintenant Prenium n°1.(JE VOUDRAIS LE PHP DU RANG ICI</font></b></center></p>
<br />
<center><a href="index.php" style="color: black; text-decoration: none;">Retour à l'accueil</a></center>
<br />
  </div>
  </center>
</head>

Je vous remercie d'avance merci.

5 réponses


Bonsoir.

JE VOUDRAIS LE PHP DU RANG ICI

Pour information, le forum n'a pas pour but que des utilisateurs fasse le code d'un autre lorsqu'il le demande, mais pour aider à régler un problème de code et/ou donner des pistes pour y arriver.
Par contre il nous faudrait en savoir plus pour pouvoir t'aider, sans compter que je comprends pas ta logique, tu parles de 3 niveaux de Premium et dans les valeurs du champ rang de ta base de données, il n'y a que la valeur 4 qui correspond à Premium.
Au lieu de mettre Premium dans le rang, crées plutôt par exemple un champ premium dans ta table, et tu définieras le niveau Premium dans ce champ.
0 si l'utilisateur n'est pas Premium, sinon 1, 2 ou 3 pour son niveau.
À partir de là il te suffira d'assigner la valeur correspondante, en spécifiant par exemple une valeur par défaut à 0 pour qu'un nouvel utilisateur soit bien défini comme non Premium.
Pour ce qui concerne le bout de code conditionnel, il y a quand même mieux, par exemple :

switch($membre['rang']) {
    case 1:
        $rang = 'Membre';
        break;
    case 2:
        $rang = 'Modérateur';
        break;
    case 3:
        $rang = 'Administrateur';
        break;
}
if (!$rang) {
    // aucun des rang ne concorde, ce n'est pas bon !
}

Ou alors, utilises if/elseif/else, car avec la condition que tu fais, PHP va tester tous les if, même s'il est déja rentré dans un d'entre eux.

Bonjour,
tu peut même directement utiliser default dans le switch

switch($membre['rang']) {
    case 1:
        $rang = 'Membre';
        break;
    case 2:
        $rang = 'Modérateur';
        break;
    case 3:
        $rang = 'Administrateur';
        break;
    default:
        $rang= 'Aucun rang';
        break;
}

Bonjour,

Merci à vous deux, dans mon dossier fonction.php il y a les rangs par numéro.
Et oui pour l'instant il y en a que 1 marquer Premium ces normal car j'ai pas fais les autres pour le moment.
Mais si vous m'expliquer déjà avec un j'y arriverais avec les autres ce n'est pas le problème.

Après voilà j'ai du code php dans mon site les plus faciles sont créer par moi mais les plus dure par des
codes que j'ai de mes anciens CMS que je modifier.

Ce que je veux c'est par exemple:

La personne paye avec un starpass et une fois qui valide sont codes sa le raméne sur une pages qui lui change sont RANG
il me manque juste une fonction UPDATE je pense. Le système de rang dans la BDD ce trouve dans les membres:

Ma table membre:
=> id
=> login
=> motdepasse
=> mail
=>confirme
=> keys
=> rang

voilà en espérant que vous aillez comprit ce que je cherche.
Merci

Moi j'ai du mal à suivre...

une fois qui valide sont codes sa le raméne sur une pages qui lui change sont RANG

OK donc, si le mot de passe est bon, tu rediriges sur une page qui fait un update SQL quoi c'est ça ?

Bon mais...
Quelle est ta question ?

Bonjour, je peux dékà émettre une critique au sujet de la base de données. Les rangs ne doivent pas être stockés dans la table membre, ils doivent être dans une table à part. Les deux tables peuvent alors être reliées. Dans la table Membre du doit retrouver seuelement l'id du rang qui sera une clef clef étrangère (référence à la table Rang).
Voilà tout, il est vrai que l'on ne comprend pas bien ta question, peut-tu nous expliquer plus en détail ?