Bonjour,
Je fais encore appel à vous pour mon petit projet. Je trouve très compliqué de mettre en place l'authentification connexion etc. peut-être parce que je débute... et ma logique doit être désastreuse
Je pensais dans mon model Utilisateur :
créer une fonction est_connecte pour détecter si l'utilisateur est connecté sinon ouvrir une session et mettre dans la session le login :
puis créer une methode de connexion :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 function est_connecte ($identifiant) { //si la session est active ou non if(session_status === PHP_SESSION_NONE) { session_start(); $_SESSION['login'] = $identifiant; } }
- faire une première requête pour comparer le login puis une deuxieme pour le mot de passe mais je ne sais pas trop comment la mettre en place et ou placer :password, d'ailleur j'ai une erreur password indefini...
- puis pour finir faire appel à la methode est_connecte pour faire si besoin le session_start() et rediriger vers accueil.php ou autre page.
mon controller
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 function connexion($identifiant, $password) { //control login if(is_string($identifiant) && is_string($password) && !empty($identifiant) && !empty(password)) { $req=$this->bdd->prepare("select id_utilis, login, password from utilisateur where utilisateur.login = :identifiant"); $req->bindParam(':identifiant', $identifiant); $req->bindParam(':password', $password); $req->execute(); $count = $req->rowCount(); $resultat = $req->fetchAll(PDO::FETCH_ASSOC); var_dump($count); if($count===1) { //Vérification du mot de passe avec password_verify if(password_verify($password, resultat["password"])) { est_connecte($identifiant); header('location: ../view/vueRecettes.php'); } } } else { echo "erreur"; } }
et pour finir si besoin ma page avec le formulaire de connexion
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function connexion($identifiant, $password) { return $this->modelUtilisateur->connexion($identifiant, $password); }
Je veux créer quelques chose de basique déjà pour apprendre et comprendre, Est ce que je suis sur la bonne voie ? comment construire ma requête ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php require '../controller/controllerUtilisateur.php'; $utilisateurController = new ControllerUtilisateur(); if(isset ($_POST['identifiant'])) { $utilisateur = $utilisateurController->connexion( $identifiant = trim(strip_tags($_POST['identifiant'])), $password = trim(strip_tags($_POST['password'])) ); } ?>
merci de vos conseils et aide.
Partager