Php 如何在Codeigniter 4中构建登录系统?
我想使用CodeIgniter4构建一个登录系统。 但我面临一些错误 我有一些用户模型中的数据 以下是我的一些代码: Controller/Signin.php 模型/用户\u model.php 但我面临着这个错误: 请帮帮我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 如果您想登录系统,我建议您使用验证来确保用户有效,并重定向到另一个控制器或视图。然后,您可以使用筛选器检查
或者请有人在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'];
}