par
zeus » 09 oct. 2006, 11:18
Le soucis vient, à mon avis, du fait que tu n'as pas compris comment fonctionne un switch/case
il ne s'agit en aucun cas d'un if/elseif
quand j'écrit ça :
switch ($toto)
{
case 1:
//du code...
break:
case 2:
//encore du code ....
break;
}
L'écriture équivalente serait
if ($toto == 1)
{
//du code
}
elseif($toto == 2)
{
//encore du code
}
le switch/case compare la valeur donnée dans le switch à la valeur donnée a chaque case. Toi, tu essaye de faire des tests dans chaque case.
Sinon, pour simplifier enormément ton problème, comme chaque type de droit contient 0 ou 1, il suffit de les concatener pour obtenir le chmod
$droit = $data['lecture'].$data['ecriture']$data['suppression'];
Si lecture = 0, ecriture = 1 et suppression = 1, droit = 011
PS : au fait, le dernier droit, c'est "exécution", pas "suppression"

Le soucis vient, à mon avis, du fait que tu n'as pas compris comment fonctionne un switch/case
il ne s'agit en aucun cas d'un if/elseif
quand j'écrit ça :
[php]switch ($toto)
{
case 1:
//du code...
break:
case 2:
//encore du code ....
break;
}[/php]
L'écriture équivalente serait
[php]if ($toto == 1)
{
//du code
}
elseif($toto == 2)
{
//encore du code
}[/php]
le switch/case compare la valeur donnée dans le switch à la valeur donnée a chaque case. Toi, tu essaye de faire des tests dans chaque case.
Sinon, pour simplifier enormément ton problème, comme chaque type de droit contient 0 ou 1, il suffit de les concatener pour obtenir le chmod ;)
[php]$droit = $data['lecture'].$data['ecriture']$data['suppression'];[/php]
Si lecture = 0, ecriture = 1 et suppression = 1, droit = 011 ;)
PS : au fait, le dernier droit, c'est "exécution", pas "suppression" ;)