Soucis de if dans session (php)

Fermé
oljanssen - Modifié par oljanssen le 28/12/2011 à 11:26
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 28 déc. 2011 à 17:42
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

Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
28 déc. 2011 à 11:44
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
Exactement :)
0
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
28 déc. 2011 à 11:59
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
Top, merci!

Et sans faire de requète?! est ce que c'est possible? La session étant déjà lancée...?
0
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
28 déc. 2011 à 13:35
Tu es obligé de faire une requête pour connaitre le type d'utilisateur qui se connecte.
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
28 déc. 2011 à 17:42
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