Php 调用未定义的方法Bcrypt::check_password()-CodeIgniter
我正在尝试实现基本的登录系统 用户密码由bcrypt散列并存储在数据库中 在登录模型中,我试图从数据库中提取散列密码,并与用户使用bcrypt check password输入的密码相匹配 型号Php 调用未定义的方法Bcrypt::check_password()-CodeIgniter,php,codeigniter,bcrypt,Php,Codeigniter,Bcrypt,我正在尝试实现基本的登录系统 用户密码由bcrypt散列并存储在数据库中 在登录模型中,我试图从数据库中提取散列密码,并与用户使用bcrypt check password输入的密码相匹配 型号 function login($data) { $hashedpass = ""; $query=$this->db->get_where('voyagers', ['EMAIL'=>$data["EMAIL"]]); $resu
function login($data)
{
$hashedpass = "";
$query=$this->db->get_where('voyagers', ['EMAIL'=>$data["EMAIL"]]);
$result=$query->result();
foreach($result as $val) {
$
$hashedpass = $val->PASSWORD;
}
if ($this->bcrypt->check_password($data["PASSWORD"], $hashedpass )) {
return $result;
}
else
return 0;
}
当我运行项目时,如果抛出错误:
A PHP Error was encountered
Severity: Error
Message: Call to undefined method Bcrypt::check_password()
Filename: models/Model_Main.php
Line Number: 47
Backtrace:
谢谢您的帮助。如果codeigniter中不存在
bcrypt
库,您需要在codeigniter中添加它,如果您的应用程序/库
文件夹中有bcrypt
库,请在构造函数
中这样添加它:
$this->load->library(“library_name”)代码>
然后,您可以这样调用您的库
$this->library\u name->method()代码>
您可以在库上检查Codeigniter。注意:如果您的库文件不在那里,请确保检查库文件夹并将其添加到那里,如果您的文件名是其他名称,则需要为库调用该文件名 我自己找到了解决办法
在库文件夹下的bcrypt.php中,它具有checkpassword函数,而不是check_password
更改函数名使其正常工作。为什么不使用创建非常相似的密码并同时验证注意:如果使用CI 3及以上解释的不是我@DKRIsn,那么您的文件名和类应该只有大写字母,这不是我建议的吗?