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 :
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;
        }
    }
puis créer une methode de connexion :
- 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.
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";
        } 
    }
mon controller
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
function connexion($identifiant, $password) {
            return $this->modelUtilisateur->connexion($identifiant, $password);
       }
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
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']))
    );
}
 
?>
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 ?
merci de vos conseils et aide.