我正在尝试实现基本的登录系统。
用户的密码由bcrypt进行哈希处理并存储在数据库中。
在登录模型中,我试图从db中提取哈希密码,并使用bcrypt检查密码与用户输入的内容相匹配。
模型
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:
感谢您的帮助。
答案 0 :(得分:0)
如果您的bcrypt
文件夹中有bcrypt
库,则需要在codeigniter中添加application/library
库,如果constructor
文件夹中的$this->load->library("library_name");
库添加$this->library_name->method();
:< / p>
<style>
.icon-trash {
display: inline-block;
width: 28px;
height: 28px;
background: #dfdfdf;
cursor:pointer;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='container'>
<div class='comment-row-id-1'> <span class='user'> job </span> <span class='icon-trash'> </span> </div>
<div class='comment-row-id-2'> <span class='user'> smith </span> <span class='icon-trash'> </span> </div>
<div class='comment-row-id-3'> <span class='user'> jane </span> <span class='icon-trash'> </span> </div>
</div
然后你就可以像这样打电话给你的图书馆了
<script>
JQuery(function($){
$('.icon-trash').click(function(e){
alert('hi')
})
});
</script>
您可以在图书馆查看Codeigniter documentation。注意:如果您的库文件不在那里,请确保检查库文件夹,如果您的文件名是您需要调用库的文件名的其他内容。
答案 1 :(得分:0)
我自己找到了解决方案。
在库文件夹下的bcrypt.php中,它具有checkpassword函数而不是check_password。
更改功能名称使其有效。