Ik heb een rechtensysteem die bitwise de rechten toekent dus 1,2,4,8 enz.
Ik heb rechten die bij elkaar opgeteld max. 63 zijn (dus tm 32)
Op een pagina waar je de gebruiker kan wijzigen (en dus ook rechten) laat ik een aantal checkboxen zien die de rechten aangeven.
De huidige rechten moeten daarbij aangevinkt zijn natuurlijk.
Dit doet hij alleen op 1 of andere manier niet voor bit 1 en bit 8.
Iemand enig idee waarom niet?
Dit is de code:
$result['urID'] = de rechten die de gebruiker heeft (63 in dit geval, dus alle checkboxjes moeten aan)
<?
while($row = mysql_fetch_assoc($result1))
{
if(($result['urID'] & $row['urID']))
{
$check = ' checked = "checked"';
}
else
{
$check = '';
}
}
echo '<tr><td>' . $row['urName'] . '</td><td><input type = "checkbox" name = "rights[]" id = "rights[]" value = "' . $row['urID'] . '"' . $check . ' /></td></tr>';
}
?>
Hierbij krijg ik 6 checkboxjes (ik heb dus 6 rechten) waarbij ze bij recht 63 allemaal aangevinkt zijn behalve 1 en 8
465 views