Php 如何在Codeigniter 4中构建登录系统?

Php 如何在Codeigniter 4中构建登录系统?,php,authentication,session,codeigniter-4,Php,Authentication,Session,Codeigniter 4,我想使用CodeIgniter4构建一个登录系统。 但我面临一些错误 我有一些用户模型中的数据 以下是我的一些代码: Controller/Signin.php 模型/用户\u model.php 但我面临着这个错误: 请帮帮我 或者请有人在Codeigniter 4中以另一种方式向我推荐登录系统?返回视图'signin',$data 为了 返回视图'signin/index',$data 如果您想登录系统,我建议您使用验证来确保用户有效,并重定向到另一个控制器或视图。然后,您可以使用筛选器检查

我想使用CodeIgniter4构建一个登录系统。 但我面临一些错误

我有一些用户模型中的数据

以下是我的一些代码:

Controller/Signin.php

模型/用户\u model.php

但我面临着这个错误:

请帮帮我


或者请有人在Codeigniter 4中以另一种方式向我推荐登录系统?

返回视图'signin',$data

为了


返回视图'signin/index',$data

如果您想登录系统,我建议您使用验证来确保用户有效,并重定向到另一个控制器或视图。然后,您可以使用筛选器检查用户是否登录,并添加一些路由筛选器以保护其他控制器。 首先阅读此Codeigniter 4.0.4文档
您可以在那里搜索任何需要的内容。

从您的视图中,似乎有一个名为signin的文件夹。所以我猜你的台词是:返回视图'sign',$data;需要一个文件名,就像其他文件一样。嗯,你说得对。我在app\Views\signin\profile.php中有一个文件夹。如果电子邮件密码正确,则转到配置文件页面。请帮助这里有任何错误。我找不到这个。添加一些描述,说明OP面临的问题是什么,以及您的解决方案将如何帮助他们,这将更加有益。请看一看
<?php

namespace App\Controllers;

use App\models\Users_model;

class Signin extends BaseController {

    public function index() {
        return view('signin/index');
    }

    public function authenticate() {
        if ($this->exists($_POST['email'], $_POST['password']) != NULL) {
            $session = session();
            $session->set('email', $_POST['email']);
            return $this->response->redirect(site_url('signin/profile'));
        } else {
            $data['msg'] = 'wrong';
            return view('signin', $data);
        }
    }

    public function profile() {
        return view('signin/profile');
    }

    private function exists($email, $password) {
        $model = new Users_model();
        $account = $model->where('email', $email)->first();
        if ($account != NULL) {
            if (password_verify($password, $account['password'])) {
                return $account;
            }
        }
        return NULL;
    }

}
<?php

namespace App\models;

use CodeIgniter\Model;

class Users_model extends Model {

    protected $table = 'users';
    protected $primaryKey = 'id';
    protected $allowedFields = ['first_name', 'last_name', 'email', 'password'];

}