par
bob60 » 06 juin 2015, 09:40
Voilà où j'en suis. j'ai utilisé une fonction pour récupérer le niveau d'accès (permission pour chaque page) que voici :
function IsChecked($chkname,$name,$value)
{
if(!empty($_POST[$chkname][$name]))
{
foreach($_POST[$chkname][$name] as $chkval)
{
if($chkval == $value)
{
return true;
}
}
}
return false;
}
/* et je l'utilise ainsi */
$page = 'page1';
if(isset($_POST['envoie']))
{
if (isset($_POST['perm']) && count($_POST['perm']) > 0)
{
foreach($_POST['perm'] as $oui => $ok)
{
if (is_array($_POST['perm'][$oui]))
{
$ok = implode(', ', $ok);
}
/* si tout est coché $a = 15 */
if (IsChecked('perm',$page,'voir') && IsChecked('perm',$page,'ajouter') && IsChecked('perm',$page,'mettre_a_jour') && IsChecked('perm',$page,'supprimer'))
{
$a = 15;
}
/* si voir, ajouter et mettre_a_jour sont coché $a = 14 */
if (IsChecked('perm',$page,'voir') && IsChecked('perm',$page,'ajouter') && IsChecked('perm',$page,'mettre_a_jour') && !IsChecked('perm',$page,'supprimer'))
{
$a = 14;
}
/* si voir, ajouter et supprimer sont coché $a = 13 */
if (IsChecked('perm',$page,'voir') && IsChecked('perm',$page,'ajouter') && !IsChecked('perm',$page,'mettre_a_jour') && IsChecked('perm',$page,'supprimer'))
{
$a = 13;
}
/* ect */
echo 'Vous avez choisit ' .$oui. ' pour valeur ' .$ok. ' et pour acces ' .$a. ' <br />';
}
}
}
Cette fonction et le code fonctionne correctement.
Le soucis c'est $page = 'page1'. Car si je veux les résultats du niveau d'accès de la page 2, il faut que je change manuellement le code ainsi
$page = 'page2', mais du coups je n'ai pu les valeurs de la page 1.
J'ai essayé avec un array comme ça :
$page = array()
$page = 'page1';
$page = 'page2';
ça ne marche pas!
Je ne sais pas comment faire pour retourner le resultat du niveau d'accès de la page 1 et de la page 2 en même temps.
Voilà où j'en suis. j'ai utilisé une fonction pour récupérer le niveau d'accès (permission pour chaque page) que voici :
[php]function IsChecked($chkname,$name,$value)
{
if(!empty($_POST[$chkname][$name]))
{
foreach($_POST[$chkname][$name] as $chkval)
{
if($chkval == $value)
{
return true;
}
}
}
return false;
}
/* et je l'utilise ainsi */
$page = 'page1';
if(isset($_POST['envoie']))
{
if (isset($_POST['perm']) && count($_POST['perm']) > 0)
{
foreach($_POST['perm'] as $oui => $ok)
{
if (is_array($_POST['perm'][$oui]))
{
$ok = implode(', ', $ok);
}
/* si tout est coché $a = 15 */
if (IsChecked('perm',$page,'voir') && IsChecked('perm',$page,'ajouter') && IsChecked('perm',$page,'mettre_a_jour') && IsChecked('perm',$page,'supprimer'))
{
$a = 15;
}
/* si voir, ajouter et mettre_a_jour sont coché $a = 14 */
if (IsChecked('perm',$page,'voir') && IsChecked('perm',$page,'ajouter') && IsChecked('perm',$page,'mettre_a_jour') && !IsChecked('perm',$page,'supprimer'))
{
$a = 14;
}
/* si voir, ajouter et supprimer sont coché $a = 13 */
if (IsChecked('perm',$page,'voir') && IsChecked('perm',$page,'ajouter') && !IsChecked('perm',$page,'mettre_a_jour') && IsChecked('perm',$page,'supprimer'))
{
$a = 13;
}
/* ect */
echo 'Vous avez choisit ' .$oui. ' pour valeur ' .$ok. ' et pour acces ' .$a. ' <br />';
}
}
}[/php]
Cette fonction et le code fonctionne correctement.
Le soucis c'est $page = 'page1'. Car si je veux les résultats du niveau d'accès de la page 2, il faut que je change manuellement le code ainsi
$page = 'page2', mais du coups je n'ai pu les valeurs de la page 1.
J'ai essayé avec un array comme ça :
$page = array()
$page = 'page1';
$page = 'page2';
ça ne marche pas!
Je ne sais pas comment faire pour retourner le resultat du niveau d'accès de la page 1 et de la page 2 en même temps.