Php Codeigniter/REST显示不正确的结果
但是,我正在尝试使用CodeIgniter和REST控制器()创建登录脚本;我一直从我的模型中得到一个空响应 这是我的模型函数Php Codeigniter/REST显示不正确的结果,php,codeigniter,Php,Codeigniter,但是,我正在尝试使用CodeIgniter和REST控制器()创建登录脚本;我一直从我的模型中得到一个空响应 这是我的模型函数 public function login($data) { $checkEmail = $this->db->get_where('users', array('email' => $data['email'])); $emailRow = $checkEmail->row(); if
public function login($data)
{
$checkEmail = $this->db->get_where('users', array('email' => $data['email']));
$emailRow = $checkEmail->row();
if(isset($emailRow)) {
if (password_verify($data['password'], $emailRow->password)) {
return $emailRow->id;
} else {
return false;
}
} else {
return false;
}
}
这是我的控制器
public function login_post()
{
$this->load->model('User_model');
$data = $this->_post_args;
if($this->form_validation->run() === FALSE) {
//does some unnecessary stuff thats pointless showing
$this->set_response([
'status' => FALSE,
'error' => $error
], REST_Controller::HTTP_BAD_REQUEST);
} else {
$login = $this->User_model->login($data);
if($login === TRUE) {
$user = $this->User_model->getUser($login);
$this->set_response([
'status' => TRUE,
'user' => $user
], REST_Controller::HTTP_ACCEPTED);
} else {
$this->set_response([
'status' => FALSE,
'error' => 'Nope'
], REST_Controller::HTTP_BAD_REQUEST);
}
}
}
每次我运行它时,我都会收到“nope”错误消息,
$login
如果我将其转储,则返回为null?有人有什么想法吗?在控制器中,您正在检查:
if($login === TRUE) {
不幸的是,对于您的控制器,模型将从不返回TRUE
,因此您的代码每次都会落入else{}
块中
您的模型只返回FALSE
或$emailRow->id的值
作为即时解决方案,您可以尝试:
if($login !== FALSE) {
我犯了一个多么愚蠢的错误!非常感谢你,我总是怀念那些愚蠢的错误。我猜这就是当你连续几个小时开始编写代码时会发生的情况,不客气。在某个时刻,“结束的日子”将成为你的新常态,你会回忆起你只“结束的时间”的时代。你能做的最好的事情就是养成良好调试方法的习惯(