Jag sitter och testar att skriva ihop ett rättighetssytem som fungerar så som sgtpepper skrev här, http://www.webforum.nu/showthread.php?s=&postid=720712#post720712 .
Just nu försöker jag få sidan där man ställer in olika rättigheter för en viss grupp att fungera. Sidan ser ut ungefär såhär, http://member.webforum.nu/Alpha II/form.htm .
Just nu ser min kod för att uppdatera rättigheterna ut så här:
$query = $db->query("select objID from objects");
while($row = $db->fetch_row($query))
{
$objID = $row[0];
$new_access = 0;
if($_POST[$objID.'_read'])
$new_access ^= 1;
if($_POST[$objID.'_create'])
$new_access ^= (1<<1);
if($_POST[$objID.'_update'])
$new_access ^= (1<<2);
if($_POST[$objID.'_delete'])
$new_access ^= (1<<3);
$db->query("update acl
set access = '$new_access'
where groupID = '$_POST[groupID]'
and objID = '$objID'");
}
Men det är inte alltid säkert att det redan finns en post med rätt groupID och objID. Jag testade att använda mysql_affected_rows och ifall om funktionen returnerade 0 så gjorde jag en insert istället, men det fungerade inte. :( Hur skall det göras? (Denna fråga kanske egentligen här till SQL forumet, jag vet inte..)
Sen så undrar jag också ifall om det här är den bästa lösningen, att döpa checkboxarna till {objID}_read, {objID}_update osv och sedan tvingas loopa igenom en query för att få tag i deras objID. JAg skulle vilja ha en snyggare lösning. :)