Masquer un lien ou un bouton en PHP
menousie
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
menousie Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
menousie Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous
je suis sur un mini projet que je développe en PHP mais je suis bloqué à un niveau.
je voudrais gérer les droits d'accès sur mes pages en php, j'ai donc créé une base de donnée avec les tables et attributs suivants:
USERS(IDuser, nom, prenom, login, mp, confmp, email)
GROUPEUSER(IDgrpUser, nom)
APPARTENIR (#IDuser, #IDgrpUser)------> la table qui regroupe l'id de l'utilisateur et celui du groupe
PAGES(IDpages, NomPages)
DROIT_ACCES(#IDgrpUser, #(IDpages)------->la table qui regroupe l'id de la page et celui du groupe
au passage dans la table GROUPEUSER j'ai inséré deux groupe : administration des ventes et direction générale.
je décide alors de vérifier le groupe auquel appartient le user lorsqu'il se connecte.
- s'il appartient au groupe : administration des ventes alors
dans sa session on désactive les liens: <a href="tuto.php" id="tuto"> VOIR MES TUTOS </a>
- s'il appartient au groupe: direction générale alors
dans sa session on désactive les liens: <a href="tuto.php" id="terminee"> VOIR MES FORMATIONS TERMINEES </a>
pour celà j'ai crée 2 pages:
- index.php ------> formulaires d'inscriptions
- cours.php------> page qui accueil le nom et prenom de l'utilisateur ainsi que les liens de page dont il a le droit
VOICI MON CODE
PROBLEME :
mon problème c'est que je n'arrive pas à masquer les liens en fonction de l'utilisateur
Edité par la modération : Ajout des balises de code
je suis sur un mini projet que je développe en PHP mais je suis bloqué à un niveau.
je voudrais gérer les droits d'accès sur mes pages en php, j'ai donc créé une base de donnée avec les tables et attributs suivants:
USERS(IDuser, nom, prenom, login, mp, confmp, email)
GROUPEUSER(IDgrpUser, nom)
APPARTENIR (#IDuser, #IDgrpUser)------> la table qui regroupe l'id de l'utilisateur et celui du groupe
PAGES(IDpages, NomPages)
DROIT_ACCES(#IDgrpUser, #(IDpages)------->la table qui regroupe l'id de la page et celui du groupe
au passage dans la table GROUPEUSER j'ai inséré deux groupe : administration des ventes et direction générale.
je décide alors de vérifier le groupe auquel appartient le user lorsqu'il se connecte.
- s'il appartient au groupe : administration des ventes alors
dans sa session on désactive les liens: <a href="tuto.php" id="tuto"> VOIR MES TUTOS </a>
- s'il appartient au groupe: direction générale alors
dans sa session on désactive les liens: <a href="tuto.php" id="terminee"> VOIR MES FORMATIONS TERMINEES </a>
pour celà j'ai crée 2 pages:
- index.php ------> formulaires d'inscriptions
- cours.php------> page qui accueil le nom et prenom de l'utilisateur ainsi que les liens de page dont il a le droit
VOICI MON CODE
- page : INDEX.PHP
<?php session_start(); $bdd = new PDO('mysql:host=127.0.0.1;dbname=test','root',''); if (isset($_POST["connexion"])) { if (!empty($_POST["loginconnect"]) AND !empty($_POST["passwordconnect"])) { $req = $bdd->prepare("SELECT * FROM users WHERE login = ? AND mp = ?"); $req->execute(array($_POST["loginconnect"], $_POST["passwordconnect"])); $resultatreq = $req->rowCount(); if ($resultatreq == 1) { $userinfo = $req->fetch(); $_SESSION['nom'] = $userinfo['nom']; $_SESSION['prenom'] = $userinfo['prenom']; header("location:cours.php?IDuser =" .$_SESSION['nom'] . $_SESSION['prenom']); } else { echo "Veuillez créer un compte avant"; } } else { echo "veuillez renseigner tous les champs svp!"; } } ?> <!DOCTYPE html> <html> <head> <title>TEST SUR LES SESSIONS</title> <meta charset="utf-8"> </head> <body> <form action="#" method="POST"> <input type="login" class="form-control" placeholder="Login" name="loginconnect"> <input type="password" class="form-control" placeholder="Mot de passe" name="passwordconnect"> <input id="btn-val" type="submit" value="CONNEXION" class="btn btn-primary" name="connexion"> </form> </body> </html>
- page : COURS.PHP
<?php session_start(); $bdd = new PDO('mysql:host=127.0.0.1;dbname=test','root',''); $reqgrp = $bdd->prepare("SELECT users.nom, users.prenom, groupeuser.nom_grp FROM user_groupe LEFT JOIN users ON users.IDuser = user_groupe.IDuser LEFT JOIN groupeuser ON groupeuser.IDgrpuser = user_groupe.IDgrpuser"); $reqgrp->execute(); $resultatreqgrp = $reqgrp->fetchAll(); //var_dump($resultatreqgrp[0]['nom_grp'], $resultatreqgrp[1]['nom_grp']); if ($resultatreqgrp == $resultatreqgrp[0]['nom_grp']) { $cacher = $_POST['en']; echo $cacher.desabled; } ?> <!DOCTYPE html> <html> <head> <title>COURS PHP</title> <meta charset="utf-8"> </head> <body> <h1>Hello test de classe</h1> <?php echo $_SESSION['nom']?> <?php echo $_SESSION['prenom']; ?> <br> <a href="tuto.php" id="tuto"> VOIR MES TUTOS </a> <br> <a href="tuto.php" id="encours" name="en"> VOIR MES FORMATIONS EN COURS </a> <br> <a href="tuto.php" id="terminee"> VOIR MES FORMATIONS TERMINEES </a> </body> </html>
PROBLEME :
mon problème c'est que je n'arrive pas à masquer les liens en fonction de l'utilisateur
Edité par la modération : Ajout des balises de code
A voir également:
- Masquer un lien ou un bouton en PHP
- Créer un lien pour partager des photos - Guide
- Lien url - Guide
- Verifier un lien - Guide
- Renommer un lien hypertexte - Forum Réseaux sociaux
- Bouton shift pc ✓ - Forum Jeux vidéo
La variable issue de ton fetch all... ne peut pas être égale à la première valeur de cette même variable...
MERCI POUR VOTRE REPONSE.
la variable $resultatreqgrp reçoit la liste des groupes présents dans la table GroupeUser
le if me permet de verifier si le 1er resultat donnée par cette variable est celle que je désirs vérifier
si c'est elle alors je cache mes boutons que l'utilisateurs ne doit pas voir.
c'est ce à quoi j'ai pensé si vous avez une methode plus simple et plus compréhensible, je suis à l'écoute
Et quelle est cette valeur à vérifier ?
Car ton if.. devrait, dans ce cas, être de la forme
ou
mon frère merci et vraiment merci,
je viens de tester ceci et ça passe
<?php
session_start();
$bdd = new PDO('mysql:host=127.0.0.1;dbname=test','root','');
$reqgrp = $bdd->prepare("SELECT users.nom, users.prenom, groupeuser.nom_grp
FROM user_groupe
LEFT JOIN users ON users.IDuser = user_groupe.IDuser
LEFT JOIN groupeuser ON groupeuser.IDgrpuser = user_groupe.IDgrpuser");
$reqgrp->execute();
$resultatreqgrp = $reqgrp->fetchAll();
//var_dump($resultatreqgrp[0]['nom_grp'], $resultatreqgrp[1]['nom_grp']);
if ($resultatreqgrp[0]['nom_grp'] == 'administration des ventes')
{
echo $_SESSION['nom']?> <?php echo $_SESSION['prenom'];
?><br>
<a href="tuto.php" id="tuto"> VOIR MES TUTOS </a> <br>
<?php
}
?>
maintenant dit moi, tu as une idée de comment mettre les pages créer dans une base de donnée afin d'y mettre les conditions d'accès?
Donc "frère".. merci d'éviter.
Ensuite, pour poster ton code sur le forum, il serait bien que tu appliques les BALISES DE CODE.
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Et enfin, ta question étant résolue.. merci de mettre le sujet en RESOLU ( https://www.commentcamarche.net/infos/25917-marquer-un-fil-de-discussion-comme-etant-resolu/)
Toute nouvelle question devant faire l'objet de l'ouverture d'une nouvelle discussion propre à la problématique.