Page 1 sur 1

Rang espace membre

Posté : 22 févr. 2015, 08:32
par kokoPowder
Bonjour,
J'ai un soucis dans mon script lorsque je sélectionne Administrateur parmi les rang et que je reviens vers la liste des membres, le membres en question est indiqué Moderateur comme moi même.
De plus le Rang moderateur lorsque le moderateur va dans la section profil personnel est indiqué " " rien ne s'affiche dans son rang. Et il n'a aucun droit de moderation.

Voici les 2 script ( le premier pour le fichier ou s'affiche la liste des membres, le second pour l'edit entant admin)
<?php 
$titre = 'Panel Admin - Membres';
include('../include/init.php');
if(connect()) {
if($rang == "Administrateur") {
include('header.php');
?>
<div class="container">
          <div class="page-header">
<?php
if(!empty($_GET['delete'])) {
  if($_GET['delete']=="no") {
    echo '<div class="alert alert-error"><button type="button" class="close" data-dismiss="alert">&times;</button><strong>Erreur:</strong> Vous ne pouvez pas supprimer votre compte !</div>';
  }
  if($_GET['delete']=="ok") {
    echo '<div class="alert alert-warning"><button type="button" class="close" data-dismiss="alert">&times;</button><strong>Succès:</strong> Le membre a été supprimer avec succès !</div>';
  }
}
if(!empty($_GET['update'])) {
  if($_GET['update']=="ok") {
    echo '<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">&times;</button><strong>Succès:</strong> Le membre a été modifier avec succès !</div>';
  }
}
?>
</div></div>
<!-- ====== CONTENUE DE LA PAGE ======= --> 
<div class="row-fluid">
      <div class="news-plugin" style="width:100%;">
      <h1 style="text-align: center;">Liste des membres</h1><br>
       <div class="boutique-corps" style="width: auto;margin-left: 20px;margin-right: 20px;">
       <center><h3 style="color: #084D97;text-decoration: underline;">Liste des membres</h3></center>
      
<table class="table table-bordered">
        <tr>
            <td>Pseudo</td>
            <td>Email</td>
            <td>Rang</td>
            <td>Rubis</td>
            <td>Nombre de vote</td>
        </tr>
        <?php
        $sql = $connexion->query("SELECT * FROM membres ORDER BY rang DESC");
        $sql->setFetchMode(PDO::FETCH_OBJ);
        while($req = $sql->fetch()) { ?>
        <tr>
            <td><strong><a style="color: black;" href="profil_membre.php?pseudo=<?php echo $req->pseudo; ?>"><?php echo $req->pseudo; ?></a></strong></td>
            <td><?php echo $req->email; ?></td>
            <td><?php if($req->rang=="1") { echo "Membre"; } elseif($req->rang=="2") { echo "Vip"; } elseif($req->rang=="3") { echo "Moderateur"; } elseif($req->rang=="4") { echo "Administrateur"; } ?></td>
            <td><?php if($req->rubis==null) { echo "0"; } else { echo $req->rubis; } ?></td>
            <td><?php if($req->nbr_vote==null) { echo "0"; } else { echo $req->nbr_vote; } ?></td>
        </tr>
        <?php } ?>
    </table>

       
       </div>
      </div>
    </div></div></div></div>
<?php
include('include/footer.php');
} else {
  setFlash('Veuillez être administrateur pour avoir accès a la page demandée !', 'danger');
  header('Location: ../connexion.php');
  exit();
}
} else {
  setFlash('Veuillez vous connectez pour avoir accès a la page demandée !', 'danger');
	header('Location: ../connexion.php');
	exit();
}
?>
<?php 
error_reporting(E_ALL);
$titre = 'Panel Admin - Profils';
include('../include/init.php');
if(connect()) {
if($rang == "Administrateur") {

$PseudoM = $_GET['pseudo'];
$req_selectMembreA = $connexion->prepare('SELECT * FROM membres WHERE pseudo=:pseudo');
      $req_selectMembreA->execute(array(
        'pseudo' => $PseudoM
      ));
      $selectMembreA = $req_selectMembreA->fetch();

      $email_M = $selectMembreA['email'];
      $rangnumero_M = $selectMembreA['rang'];
      $rubis_M = $selectMembreA['rubis'];
      $nombre_voteM = $selectMembreA['nbr_vote'];
      $id_M = $selectMembreA['id'];

if($nombre_voteM == null) {
  $nombre_voteM = 0;
}
if($rubis_M == null) {
  $rubis_M = 0;
}


if ($rangnumero_M == '1') {
    $rang_M = Membre;
}
if ($rangnumero_M == '2') {
    $rang_M = Vip;
}
if ($rangnumero_M == '3') {
    $rang_M = Moderateur;
}
if ($rangnumero_M == '4') {
    $rang_M = Administrateur;
}
if ($email_M == null) {
  $email_M = 'Non renseigner';
}

     
        if($_POST) {
          if (!empty($_POST['email'])) {
                if(!empty($_POST['password'])) {
                $mdp = sha1($_POST['password']); 
                $mdp=preg_replace('/\s/', '', $mdp);
                $updateMembre_Admin = $connexion->prepare('UPDATE membres SET passe=:passe WHERE pseudo=:pseudo');
                $updateMembre_Admin ->execute(array(
                  'passe' => $mdp,
                  'pseudo' => $PseudoM,
                ));
              }

          if(filter_var($email, FILTER_VALIDATE_EMAIL)) { 
            $updateMembre_Admin = $connexion->prepare('UPDATE membres SET email=:email, rubis=:rubis, nbr_vote=:nbr_vote, rang=:rang WHERE pseudo=:pseudo');
            $updateMembre_Admin ->execute(array(
              'email' => htmlspecialchars($_POST['email'], ENT_QUOTES),
              'rubis' => $_POST['Rubis'],
              'nbr_vote' => $_POST['NbrVote'],
              'rang' => $_POST['rang'],
              'pseudo' => $PseudoM
            ));
          } else {
            header('location: membres.php?update=email:false');
            exit();
          }
          header('Location: membres.php?update=ok');
          exit();
          }
      

          if(!empty($_POST['delete'])) {
          if($PseudoM != $pseudo) {
  
            $id_delete = $id_M; //Mes l'id d'une ligne dans ta basse de donnée
            $Delete_Membre = $connexion->prepare('DELETE FROM membres WHERE id = :id');
            $Delete_Membre->bindValue(':id', $id_delete, PDO::PARAM_INT);
            $Delete_Membre->execute();
            $Delete_Membre->closeCursor();

            header('Location: membres.php?delete=ok');
            exit();
          } else {
            header('Location: membres.php?delete=no');
            exit();
          }
        }
        }




include('header.php');
?>
<!-- ====== CONTENUE DE LA PAGE ======= --> 
<div class="row-fluid">
      <div class="news-plugin" style="width:100%;">
      <h1 style="text-align: center;">Profils des membres</h1><br>
       <div class="boutique-corps" style="width: auto;margin-left: 20px;margin-right: 20px;">
       <center><h3 style="color: #084D97;text-decoration: underline;">Profil de <?php echo $PseudoM; ?></h3></center>

    <form class="form-horizontal" method="post">
    <div class="control-group">
    <label class="control-label">Pseudo</label>
    <span class="input-large uneditable-input" style="margin-left: 20px;"><?php echo $PseudoM; ?></span>
    </div>
    <div class="control-group">
    <label class="control-label" for="inputEmail">Email</label>
    <div class="controls">
    <input class="input-large" type="text" name="email" value="<?php echo $email_M; ?>">
    </div>
    </div>
    <div class="control-group">
    <label class="control-label" for="inputPassword">Mot de Passe</label>
    <div class="controls">
    <input type="password" name="password">
    </div>
    </div>
    <div class="control-group">
    <label class="control-label" for="inputRang">Rang</label>
    <div class="controls">
    <!--<span class="input-large uneditable-input"><?php // echo $rang_M; ?></span>-->
    <SELECT name="rang">
    <OPTION value="1" <?php if($rang_M == "Membre") { echo "selected"; } ?>>Membre</OPTION>
    <OPTION value="2" <?php if($rang_M == "Vip") { echo "selected"; } ?>>Vip</OPTION>
    <OPTION value="3" <?php if($rang_M == "Administrateur") { echo "selected"; } ?>>Administrateur</OPTION>
    <OPTION value="4" <?php if($rang_M == "Moderateur") { echo "selected"; } ?>>Moderateur</OPTION>
    </SELECT>
    </div>
    </div>
    <div class="control-group">
    <label class="control-label" for="inputRubis">Rubis</label>
    <div class="controls">
    <input type="text" name="Rubis" value="<?php echo $rubis_M; ?>">
    </div>
    </div>
    <div class="control-group">
    <label class="control-label" for="inputNbrVote">Nombre de vote</label>
    <div class="controls">
    <input type="text" name="NbrVote" value="<?php echo $nombre_voteM; ?>">
    </div>
    </div>
    <div class="control-group">
    <div class="controls">
    <button type="submit" class="btn btn-success">Modifier les informations</button><br>
    </div>
    </div>
    </form>
    <a class="btn btn-danger" href="#delete" role="button" data-toggle="modal" style="margin-left: 185px;">Supprimer ce membre</a>
       
       </div>
      </div>
    </div></div></div></div>

<!-- ============= DELETE =========== -->
<div id="delete" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="deleteLabel" aria-hidden="true">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
    <h3 id="myModalLabel">Supprimer un membre</h3>
  </div>
  <div class="modal-body">
    <p>Voulez-vous vraiment supprimer le membre <strong><?php echo $PseudoM; ?></strong> ?</p>
  </div>
  <div class="modal-footer">
      <button class="btn" data-dismiss="modal" aria-hidden="true" type="text">Annuler</button>
      <form method="post">
      <input name="delete" type="hidden" value="delete">
      <button name="delete" type="submit" class="btn btn-danger" value="delete" href="">Supprimer</button>
      </form>
  </div>
</div>
<?php
include('include/footer.php');
} else {
  setFlash('Veuillez être administrateur pour avoir accès a la page demandée !', 'danger');
  header('Location: ../connexion.php');
  exit();
}
} else {
  setFlash('Veuillez vous connectez pour avoir accès a la page demandée !', 'danger');
	header('Location: ../connexion.php');
	exit();
}
?>

Re: Rang espace membre

Posté : 22 févr. 2015, 09:56
par Aureusms
Salut !

Bon j'ai pas tout lu mais est ce que c'est normal qui du défini une variable depuis une constante : ?
if ($rangnumero_M == '1') {
    $rang_M = Membre;
}
if ($rangnumero_M == '2') {
    $rang_M = Vip;
}
if ($rangnumero_M == '3') {
    $rang_M = Moderateur;
}
if ($rangnumero_M == '4') {
    $rang_M = Administrateur;

Re: Rang espace membre

Posté : 22 févr. 2015, 15:57
par kokoPowder
Bonjour ! Merci d'avoir repondu alors j'ai fais mon site a partir de CMS et je ne comprend peu de chose en php ...
Si quelqun pourrait me donner la demarche a faire merci.

Re: Rang espace membre

Posté : 22 févr. 2015, 16:01
par kokoPowder
De plus je voudrais precisez que je n'ais qie rajouter le rang vip parmis les 2 script selon les modeles deja existant.

Re: Rang espace membre

Posté : 23 févr. 2015, 10:44
par Aureusms
Pour faire simple, tu donnes à la variable $rang_M une valeur qui n'est peut être définie.
En effet, si le nom ne commence pas par $, il s'agit d'une constante. Donc,
if ($rangnumero_M == '3') {
    $rang_M = Moderateur;
veut dire si $rangnumero_M = 3 alors $rag_M est égale à la valeur de la constante Moderateur. Hors, tu définie pas la contenante Moderateur.
Autrement dit (regarde la coloration syntaxique) :
Moderateur != 'Moderateur' != $Moderateur