我使用 CI4 作為后端并將 Js 作為前端并且我正在進行身份驗證,所以在身份驗證之后,如果憑據正確,我想將用戶推送到其他頁面,如果不正確,那么只需重繪 同一頁面
我知道如何更改頁面,但現在的問題是,即使憑據不正確,此代碼也會為所有內容提供狀態 200,所以如果回應是,我應該怎么做才能使狀態從 true 更改為 false,因為我正在使用真正推送到另一個頁面
public function loginAuth()
{
$session = session();
$userModel = new UserModel();
$email = $this->request->getVar('email');
$password = $this->request->getVar('password');
$data = $userModel->where('email', $email)->first();
if($data){
$pass = $data['password'];
$authenticatePassword = password_verify($password, $pass);
if($authenticatePassword){
$ses_data = [
'id' => $data['id'],
'name' => $data['name'],
'email' => $data['email'],
'isLoggedIn' => TRUE
];
$session->set($ses_data);
return redirect()->to('/');
}else{
$session->setFlashdata('msg', 'Password is incorrect.');
// return redirect()->to('/signin');
}
}else{
$session->setFlashdata('msg', 'Email does not exist.');
// return redirect()->to('/signin');
}
}
這是代碼,現在我希望在成功后它應該推送到不同的頁面,但問題是它滿足所有條件,如果所有條件都得到,我將無能為力statusCode=200
uj5u.com熱心網友回復:
我找到了一種方法,首先如果您的驗證功能為真,只需使用 react-router 推送到另一個頁面,然后將其他條件的狀態更改為
$model = new UserModel();
$user = $model->save($this->request->getPost());
// Respond with 201 status code
return $$this->fail($errors, 400);
我認為這對你有用
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/441595.html
標籤:php 反应 验证 codeigniter-4
