Bonjour,
Je dois réaliser un blog avec commentaire en PHP et je rencontre un petit soucis :
Après avoir inséré un nouveau membre dans ma base (avec son pseudo et mot de passe) et qu'ensuite j'essaye de me connecter avec ce membre pour voir si cela fonctionne j'ai un
message d'erreur.
J'utilise l'architecture MVC , je vous montre le code :
La vue :
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
23
24
25
26
27
28
29
30
31 <header> <p>Jean FORTEROCHE</p> <nav> <ul> <li> <img src="https://img.icons8.com/color/48/000000/home.png"/><a href="">Accueil</a></li> <li> <img src="https://img.icons8.com/color/48/000000/open-book.png"/><a href="">Chapitres</a></li> <li> <img src="https://img.icons8.com/color/48/000000/contact-card.png"/><a href="">Contact</a></li> <li> <img src="https://img.icons8.com/color/48/000000/login-rounded-right.png"/><a href="connexionView.php">Connexion </a> <br> </li> <li> <img src="https://img.icons8.com/color/48/000000/administrator-male--v1.png"/><a href="AdminView.php">Espace administrateur</a></li> </nav> </header> <section class="inscription"> <form action="../index.php?action=connexion" method="post"> <p>Connexion à votre espace</p> <p><img src="../public/img/user.png" alt="user"></p> <p> <label for="pseudo"> <input type="text" name="pseudo" placeholder="Pseudo" required></label> <label for="password"> <input type="text" name="pass" placeholder="Password" required></label> <input type="submit" id="submit" name="submit" value="Connexion"> <span class="inscrire">Pas encore inscrit ? <a class="lien_inscrire" href="">S'inscrire</a></span> </p> </form> </section> <footer></footer> </div>
le Modèle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <!--CONNEXION--> <?php require_once("Manager.php"); function getConnexion() { $db = dbConnect(); $req = $db->prepare('SELECT id, pass FROM members WHERE pseudo = ?'); $req->execute(array($_POST['pseudo'])); $login = $req->fetch(); return $login; }
Le contrôleur :
Et le routeur :
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
23
24
25
26
27
28
29
30
31
32 <?php function userLogged() { require(__DIR__ . '/../model/connexionManager.php'); $login = getConnexion(); if (isset($_POST['pseudo']) && !empty($_POST['pseudo'])) { if (isset($_POST['pass']) && !empty($_POST['pass'])) { $isPasswordCorrect = password_verify($_POST['pass'], $login['pass']); var_dump($isPasswordCorrect); if (!$login) { print 'Mauvais identifiant ou mot de passe !'; } else { if (!$isPasswordCorrect) { echo 'Mauvais identifiant ou mot de passe !'; } else { print "Vous êtes connecté !"; $_SESSION['id'] = $password['id']; $_SESSION['loggedin'] = true; $_SESSION['pseudo'] = $_POST['pseudo']; require(__DIR__ . '/../view/postsView.php'); } } }else { print "Veuillez saisir un mot de passe"; } } else { print "Veuillez remplir ce champs !"; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?php session_start(); require('Controller/Controller_AdminConnexion.php'); if (isset($_GET['action'])) { if ($_GET['action'] == 'connexion') { userLogged(); } } else { listPosts(); }
et voici ma table :
Et le message d'erreur provient exactement d'içi :
var_dump affiche ceci "C:\ProgramFiles\wamp\www\Projet4\controller\Controller_connexion.php:10:boolean false"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if (!$isPasswordCorrect) { echo 'Mauvais identifiant ou mot de passe !'; }
Visiblement les 2 mots de passes ne correspondent pas alors que j'ai bien rentré dans le formulaire le bon mot de passe. Je ne vois pas du tout où est l'erreur.....
Merci pour votre aide
Partager