Système de droits d'accès pour l'administration (groupe)
Bonjour,
Dans mon site, j'ai mis en place un système de groupe, est j'ai mis en place une requête + une conditions pour que si le groupe du membre n'est pas le bon, sa affiche :
Vous n'avez pas les droits nécessaire pour effectué cette action
Sa marche très bien, le seul hic, c'est que j'ai voulus recopier sur Punbb, au sujet des droits...
http://img21.imageshack.us/img21/6569/droits.png
Donc, j'ai fais un tableau avec un while, j'y est mis les nom des groupes :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
<?php
$requete = mysql_query('SELECT group_name, group_rang FROM forum_groupes');
while($data_groupes = mysql_fetch_assoc($requete))
{
echo'
<tbody>
<tr>
<th>'.$data_groupes['group_name'].'</th>
<td>
<input type="hidden" name="groupe" value='.$data_groupes['group_rang'].'" />
<input type="checkbox" name="creer_news" value="1" />
</td>
<td>
<input type="hidden" name="groupe" value='.$data_groupes['group_rang'].'" />
<input type="checkbox" name="mod_news" value="1" />
</td>
<td>
<input type="hidden" name="groupe" value='.$data_groupes['group_rang'].'" />
<input type="checkbox" name="sup_news" value="1" />
</td>
<td>
<input type="hidden" name="groupe" value='.$data_groupes['group_rang'].'" />
<input type="checkbox" name="valid_news" value="1" />
</td>
</tr>
</tbody>';
}
echo'</table>
<br />
<input type="submit" value="Modifier ces droits" />
</form>';
//} $_GET[''] ^^
?> |
Donc, sa affiche le tableau avec les checkbox, le problème c'est dans la partie "update", je n'arrive pas à modifier les droits pour le groupe que j'ai cocher les droits :
Donc, quand je fais sa coche tout mais, juste pour le dernier groupe du tableau, c'est à dire "Newser".
Voici ma table :
Code:
1 2 3 4 5 6 7 8
|
CREATE TABLE IF NOT EXISTS `admin_news` (
`rang_groupe` int(11) NOT NULL,
`creer_news` enum('0','1') NOT NULL,
`mod_news` enum('0','1') NOT NULL,
`sup_news` enum('0','1') NOT NULL,
`valid_news` enum('0','1') NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1; |
0 - pour par accès
1 - pour accès
rang_groupe - le rang du groupe du membre
Est pour la partie traitement :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
<?php
if(isset($_GET['droits_admin_ok']))
{
if (isset($_POST['creer_news']) && !empty($_POST['creer_news']) &&
isset($_POST['mod_news']) && !empty($_POST['mod_news']) &&
isset($_POST['sup_news']) && !empty($_POST['sup_news']) &&
isset($_POST['valid_news']) && !empty($_POST['valid_news']))
{
$groupe = intval($_POST['groupe']);
$ecrire_news = intval($_POST['creer_news']);
$modifier_news = intval($_POST['mod_news']);
$supprimer_news = intval($_POST['sup_news']);
$valider_news = intval($_POST['valid_news']);
//ici
mysql_query("UPDATE admin_news SET creer_news='" . $ecrire_news . "', mod_news='" . $modifier_news . "', sup_news='" . $supprimer_news . "', valid_news='" . $valider_news . "' WHERE
rang_groupe='" . $groupe . "'");
echo'<br />Les droits de ce groupe ont bien été modifiés !';
}
else
{
echo'Vous devez sélectionner vos options pour ce groupe !';
}
} //Fin
?> |
Voila, merci d'avance à ceux qui m'aideront car, j'ai eu beaux passer 3-4 heures, rien, sa ne marche pas... :o
Merci. ^^