Bonjour, voici mon code :
class/userManager.php
process/process_login.php
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88 <?php class userManager { private $_db; public function __construct(PDO $db) { $this->setDb($db); } public function setDb($dbh) { $this->_db = $dbh; } public function insertUser(User $user) { $sql = 'INSERT INTO user (pseudo, pass) VALUES (:pseudo, :pass)'; $pseudo = $user->getPseudo()); $pass = $user->getPass()); $userpass_form = password_hash($pass, PASSWORD_DEFAULT); $stmnt = $this->_db->prepare($sql); $stmnt->bindParam(':pseudo', $pseudo); $stmnt->bindParam(':pass', $userpass_form); $stmnt->execute(); } public function getPseudo($pseudo) { $sql = 'SELECT pseudo FROM user WHERE pseudo = :pseudo'; $stmnt = $this->_db->prepare($sql); $stmnt->bindParam(':pseudo', $pseudo); $stmnt->execute(array( ':pseudo' => $pseudo )); $count = $stmnt->rowCount(); if($count <= 0) { return true; } else { return false; } } public function getUser($pseudo) { $sql = 'SELECT pseudo, pass FROM user WHERE pseudo = :pseudo AND pass = :pass'; $stmnt = $this->_db->prepare($sql); $stmnt->bindParam(':pseudo', $pseudo); $stmnt->bindParam(':pass', $pass); $stmnt->execute(array( ':pseudo' => $pseudo, ':pass' => $pass )); $data = $stmnt->fetch(PDO::FETCH_ASSOC); if(password_verify($pass, $data['pass'])) { return true; } else { return false; } } }
Quand je veux me connecter j'ai ce message d'erreur ligne 79 (userManager.php) -> Notice: Trying to access array offset on value of type bool
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 <?php require('includes/inc_connexion.php'); require('class/userManager.php'); if(isset($_POST['submit_form'])) { $pseudo_form = trim($_POST['pseudo_form']); $userpass_form = trim($_POST['userpass_form']); if((isset($pseudo_form)) AND (isset($userpass_form))) { $manager = new userManager($db); if(!$manager->getUser($pseudo_form, $userpass_form)) { $message = '<p class="error">Mot de passe incorrect !</p>'; } else { $message = '<p class="success">Accès OK !</p>'; } } else { $message = '<p class="error">Identifiants incorrects</p>'; } }
Merci pour votre aide & bonne journée
Partager