Как построить систему входа в Codeigniter 4? - PullRequest
0 голосов
/ 21 июня 2020

Я хочу создать систему входа в систему с помощью Codeigniter 4. Но я столкнулся с некоторой ошибкой.

У меня есть данные в Users_model;

enter image description here

Here is my some codes:

Controller/Signin.php

<?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;
    }

}

Models/Users_model.php

But I face this error:

введите описание изображения здесь

Пожалуйста, помогите мне.

Или, пожалуйста, кто-нибудь посоветует мне систему входа другим способом в Codeigniter 4?

Ответы [ 2 ]

1 голос
/ 11 августа 2020

Если вы хотите создать систему входа в систему, я предлагаю вам использовать validation, чтобы сделать пользователя действительным и перенаправить на другой контроллер или представление. Затем вы можете использовать filter, чтобы проверить, вошел ли пользователь в систему или нет, и добавить фильтр routes для защиты другого контроллера.

Сначала прочтите эту документацию Codeigniter 4.0.4 https://codeigniter4.github.io/userguide/libraries/validation.html

Там вы можете искать все, что вам нужно.

0 голосов
/ 04 июля 2020

return view ('signin', $ data);

для

return view ('signin / index', $ data);

...