Ecriture ?
Moi pas comprendre
----------------------------------
Mieux ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if (isset ($_POST['login3']) && isset ($_POST['pass3'])) { $_SESSION['login3'] = $_POST['login3']; $_SESSION['pass3'] = $_POST['pass3'] ; }
Non pas cette fois a chaque foi je fais cette betise
Mais en quoi ca va resoudre mon probleme ca ?
--------------------
Ca fonctionne pas plus hin quoi que je fasse maintenant il me refuse l'accès xD c'est tout ou rien l'informatique j'aime <3
encore heureux qu'il refuse l'accès
il c'est cette condition :
pour test, il serait bon de se délogger et se relogger car je ne pense pas que tu ais cette valeur dans ta session.
Code : Sélectionner tout - Visualiser dans une fenêtre à part if(!isset($_SESSION['login3']) || $_SESSION['login3'] != 'administrateur') {
Ensuite c'est a toi d'adapter cette condition en fonction de tes besoins
Mais c'est ce que je dit depuis tout a l'heure c'est ce point rpecis la que je comprend pas !! Je doit le remlpacer par les valeurs de mon admin ? mais s'il y en plusieurs ? je le remplace par les POST ?
Je comprend rien
si tu as plusieurs admins :
tu crée alors une entrée admin dans la session :
a la connexion
au test :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 //requete sql dans table pour vérif le nom et si admin si admin $_SESSION['admin']=1 sinon $_SESSION['admin']=0
-----------------
Code : Sélectionner tout - Visualiser dans une fenêtre à part if(!isset($_SESSION['admin']) || ($_SESSION['admin']!=1))
MAIS comment vas tu gérer les droits pour les utilisateurs ? car normalement on gère admin et utilisateurs de le même manière.
Je ne comprend pas pourquoi je dois faire ca en faite c'est pour ca que je comprend rien psq je comprend pas le but ...
J'ai l'impression que tes codes et ceux de Sabo' vont me servir a comparer la saisie du user avec ce que j'ai dans ma base de donnée ... c'est ca ou je suis a coté de la plaque complet ?
-----------------------------
Mais j'en sais rien moi
Moi, je ne fait que suivre TES conditions
tu me dis, il peut avoir plusieurs utilisateurs admin
donc tu va créer obligatoirement dans ta table utilisateurs un champ droits (peut-être même lié a une autre table droits ?); c'est toi qui nous l'impose comment savoir que toto est un administrateur ?
dans admin.php :
A ta connexion, il va falloir obligatoirement ajouter une étape ou tu vas lire dans la base de donnée cette colonne droits.
Et en fonction de l'état de cette colonne, tu écris dans le session.
J'vais aller m'jeter d'un pont si ca continue xD
Je viens de supprimer ma page admin.php,
Cette page était uniquement elt raitement de connexion.php qui me mener ensuite a la page d'accueil si je puis dire de mon admin qui s'appel ajouter.php, du coup le traitement fais dans admin a était déplacer dans ajouter.php.
Tout ce que je veux c'est bloquer l'acces si c'est une entrée par URL ..
On t'a proposer de gérer au plus simple les droits par "login", tu nous as dit non car il y a plusieurs administrateur!
Donc plus le choix, c'est toi qui a décidé il faut utiliser la base de donnée ! J'espère aussi pour toi que tous les techniciens ont les mêmes droits.
On va résumer parce que tu ne semble pas comprendre grand chose.
Pour bloquer l'accès à une page il te faut un indicateur te permettant de savoir si l'utilisateur courant est connecté ou non.
C'est indicateur on le stock dans une session parce que en général on va en avoir besoin un peu partout.
Pour utiliser les session , il faut en début de fichier faire :
Celà te permet d'écrire dans la superglobale $_SESSION qui va te permettre de ballader des infos de page en page.
Code : Sélectionner tout - Visualiser dans une fenêtre à part session_start();
Donc sur ta page qui gère l'identification de l'utilisateur tu rajoute un session_start() et quand l'identification est réussi tu écris une variable de session pour se souvenir que l'utilisateur est bien connecté $_SESSION['is_logged_in'] = 1Ce qui donne donc pour une page d'identification :
Ne reste plus qu'à vérifier sur les pages ayant besoin d'être protégée si l'utilisateur est connecté ou non avant d'afficher quoi que ce soit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 if(login_user($login,$pass)) { // Test les identifiant mot de passe $_SESSION['is_logged_in'] = 1; header('Location: admin.php'); //redirection vers la page protégée } else { $_SESSION['is_logged_in'] = 0; header('Location: error.php'); }
Commence par essayer de faire marcher ça et ensuite tu ajoutera la notion d'administrateur/technicien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if(!empty($_SESSION['is_logged_in']) && $_SESSION['is_logged_in'] === 1) { echo 'zone protégée , vous êtes identifié'; } else { echo 'erreur vous devez être identifié'; }
Bonjour tout le monde,
Donc ma session elle a quoi comme valeur juste je al créée et je dit quelle est egal a 1 ?
D'où viens ce login_user ?
Merci de vos réponses les gar =)
------------------------------------------
Ca fonctionne presque mais il me dit un message d'erreur comme quoi la fonction login_user n'existe pas ...
Ta session contient une variable nommé "is_logged_in" (ou ce que tu veux d'autre". Ca valeur est 1 quand l'utilisateur est connecté.
C'est juste une fausse fonction pour illustrer une identification , j'allais pas m'amuser à faire une gestion d'identification pour expliquer les sessionD'où viens ce login_user ?
C'est bon jai tout compris =D tout fonctionne =D
Merci beaucoup les amis !!
Bisous bisous
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager