SimsFlorian
Messages postés11Date d'inscriptionmercredi 2 novembre 2005StatutMembreDernière intervention30 septembre 2009
-
29 sept. 2009 à 18:23
SimsFlorian
Messages postés11Date d'inscriptionmercredi 2 novembre 2005StatutMembreDernière intervention30 septembre 2009
-
30 sept. 2009 à 10:59
Bonjour, j'ai un problème concernant mon système de droits. Je souhaiterais pour afficher certaines parties de mon administrations à certains groupes.
J'ai don choisis (0 pour non et 1 pour oui).
J'ai commencer pas le système de news donc, j'ai créer une table :
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;
rang_groupe est en faite le numéro du rang pas l'id !! . On obtient le numéro du rang en faisant :
<?php
echo $_SESSION['level']; //Numero du rang
//Par exemple : 100 pour Admin, 90 pour Modérateur,
//80 pour Newser, 2 pour Membres,
//0 pour Banis, etc...
?>
<?php
if(isset($_GET['droits_admin_ok']))
{
$lstDroits = array('creer_news', 'mod_news', 'sup_news','valid_news');
if (isset($_POST['droits']))
{
// tu parcoures tu tableau en recuperant le groupe et les cases cochées
foreach($_POST['droits'] as $groupe=>$droits)
{
foreach($lstDroits as $droit) {
// si la case n'est pas cochée, elle n'existe pas dans la recolte et on lui donne 0 comme valeur
if (isset($droits[$droit]))
{
$droits[$droit] = 1;
}
else
{ $droits[$droit] = 0;
}
}
mysql_query("UPDATE admin_news SET creer_news='" . $droits['creer_news'] . "', mod_news='" . $droits['mod_news'] . "', sup_news='" . $droits['sup_news'] . "', valid_news='" . $droits['valid_news'] . "' WHERE
rang_groupe='" . $groupe . "'");
}
echo'ok !';
}
else
{
echo'non !';
}
} //Fin
?>
Le problème de code c'est que, je ne peux pas tout décocher, par exemple je coche 5 cases au hasard, je peux en décocher 1 mais, les autres elle ne ce mettent pas à 0... mais par contre sa marche impec concernant de mettre les champs à 1... pouvez vous me dire pourquoi je peux en mettre qu'1 mais pas plusieurs à 0 ?