我对password_verify 没有什么问题。我使用 codeigniter 3 进行学习。
我有用户模型
<?php
class User_model extends CI_Model{
public function __construct()
{
parent::__construct();
$this->load->database();
}
public function createUser($args): int
{
$query = $this->db->insert('user', $args);
return $this->db->affected_rows();
}
public function getUser(string $email): array
{
$query = $this->db->get_where('user',array('email'=> $email));
return $query->row_array();
}
}
用户控制器
<?php
class UserController extends CI_Controller{
public function __construct()
{
parent::__construct();
$this->load->model('user_model');
$this->load->helper('url_helper');
}
public function profile()
{
$data['user'] = $this->user_model->getUser($_POST['email']);
$hash = $data['user']['password'];
if(password_verify($_POST['password'],$hash)){
echo "success";
}else{
echo "failed";
}
$this->load->view('templates/header');
$this->load->view('pages/profileUser',$data);
}
如果我在控制器中使用静态密码,它可以工作,如果我通过数据库函数password_verify 获取哈希密码,则它不起作用。
谢谢你的支持,
慕运维8079593