la fonction password_verif
Posté : 21 juil. 2020, 18:00
Bonjour, voici mon code :
class/userManager.php
Merci pour votre aide & bonne soirée
class/userManager.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 = htmlspecialchars($user->getPseudo());
$pass = htmlspecialchars($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;
}
}
}
process/process_login.phprequire('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>';
}
}
Quand je veux me connecter j'ai ce message d'erreur (userManager.php) -> Notice: Trying to access array offset on value of type boolMerci pour votre aide & bonne soirée