Soucis de if dans session (php)

oljanssen -  
Alain_42 Messages postés 5413 Statut Membre -
Bonjour,

Je souhaiterais créer des niveaux d'internaute sur mon site (user et admin)
User = 0
Admin =1
En gros dans ma base de données, j'ai enregistré toutes les données (login nom, password, rang, ...)

Je souhaiterais faire en sorte que
SI le rang de l'user=1, afficher un select avec le nom de TOUS les membres ayant un rang=0, sinon, afficher un input en type=hidden (pour que l'user ne sache envoyé un message qu'a une personne définie dans la base de données(responsable))

savez vous m'aidé sur base de mon code?

Merci pour tout

<? if  ($_SESSION['user']['rang']=='1') 
       { 
 echo '<select><option></option></select>'; 
 } 
 else{ ?> 
        <b>Adressé à: </b><?php echo $_SESSION['user']['responsable']; ?> <br> 
         <input type="hidden" name="pour" value="<?php echo $_SESSION['user']['responsable']; ?>"><? } ?> 

4 réponses

  1. Melooo Messages postés 1476 Statut Membre 84
     
    Salut,
    Alors en faite tu voudrais qu'a chaque connexion tu affiches le nom de tous les users si c'est un admin qui se connecte, et si c'est un user qui se connecte alors il n'y à rien d'afficher ?
    0
  2. oljanssen
     
    Exactement :)
    0
    1. Melooo Messages postés 1476 Statut Membre 84
       
      Vérifier quel type d'internaute se connecte (avec une requête SQL)
      il te faut donc utiliser mysql_num_rows (permet de compter le nombre de résultat que dégage une requête)
      prenons l'exemple de la requête Admin :
      $query = 'SELECT * FROM admin WHERE pass = '".$pass."' AND login = '".$user."'";
      $exec = mysql_query($query);
      $rows = mysql_num_rows($exec);
      if($rows >= 1){
      // alors tu lances la requête select pour afficher les users
      } else
      {
      // rien du tout
      }
      
      0
  3. oljanssen
     
    Top, merci!

    Et sans faire de requète?! est ce que c'est possible? La session étant déjà lancée...?
    0
    1. Melooo Messages postés 1476 Statut Membre 84
       
      Tu es obligé de faire une requête pour connaitre le type d'utilisateur qui se connecte.
      0
  4. Alain_42 Messages postés 5413 Statut Membre 904
     
    essayes comme cela (en adaptant à ta_table bien sur)

    <?php //attention utilises le tag long pour php
    
     if  ($_SESSION['user']['rang']=='1') 
           { 
    	  $sql= "SELECT  nom,email FROM ta_table WHERE rang = '0' ";
    	  $result=mysql_query);
    	  //affichage liste
    	echo '<select name="pour">';
    	  while($row=mysql_fetch_assoc($result)){
    		echo '<option value="'.$row['email'].'">'.$row['nom'].'</option>';
    	  
    	  }
    	  echo '</select>';
      
     } 
     elseif  ($_SESSION['user']['rang']=='0'){ 
    	$sql= "SELECT  nom,email FROM ta_table WHERE rang = 'responsable' ";
    	  $result=mysql_query);
    	  $row=mysql_fetch_assoc($result);
            echo '<b>Adressé à: </b> '.$row['nom'].'<br />';
    			echo '<input type="hidden" name="pour" value="'.$row['email'].'" />';
      }        
    
    ?>
    0