У меня есть пароль от магазина с хешированием в codeigniter. После этого я хочу войти с хешированным паролем. Во-вторых, я должен передать идентификатор пользователя. Я воспользовался помощью этого веб-сайта, но он попадает на страницу с ошибкой. я использовал password_verify()
. но он дает длинную ошибку
то, что я пробовал модель
public function isvalidateuser($email,$password)
{
$q = $this->db->where(['email'=>$email,'password'=>$password])
->get('user');
$row = $q->row();
if(password_verify($password,$row->password))
{
return $q->row()->id;
}
else
{
return false;
}
}
контроллер
public function userloginvalidation1()
{
$email = $this->input->post('email');
$password = $this->input->post('password');
$this->load->model('loginmodel');
$id = $this->loginmodel->isvalidateuser($email, $password);
if ($id) {
// You probably want to do this in model ↓↓
$userName = $this->db->select('name')->from('user')->where('id', $id)->get()->row(); // get the name from the table
$this->load->library('session'); // autoloading the session library is a good idea
// set the session
$this->session->set_userdata('id', $id);
$this->session->set_userdata('name', $userName->name); // or simply $_SESSION['name'] = $userName->name;
return redirect('user/userdashboard');
} else {
echo "not login;";
exit();
$this->load->library('session');
$this->session->set_flashdata('loginfailed', 'invalid username or password');
return redirect('user/userlogin');
}
}
ошибка, которую я получил
A PHP Error was encountered
Severity: Notice
Message: Trying to get property 'password' of non-object
Filename: models/loginmodel.php
Line Number: 16
Backtrace:
File: C:\xampp\htdocs\blog\application\models\loginmodel.php
Line: 16
Function: _error_handler
File: C:\xampp\htdocs\blog\application\controllers\user.php
Line: 45
Function: isvalidateuser
File: C:\xampp\htdocs\blog\index.php
Line: 315
Function: require_once
not login;
как решить эту ошибку ???? помогите !!!