Я следую учебному курсу для Cakephp 3.0
Я в той части, где хочу сделать страницу входа. У меня есть база данных medical_wear
и user
таблицы.
Когда я ввожу свой адрес электронной почты и мой пароль на странице входа, я получаю следующую ошибку:
SQLSTATE [42S02]: базовая таблица или представление не найдены: 1146 Таблица «medical_wear.users» не существует. Попробуйте исправить проблему для следующих псевдонимов таблицы: Пользователи
Я не понимаю, что у меня нет таблицы Users, и я не использую таблицу Users в коде.
Я искал во многих темах и в документации, и ничего не нашел.
У меня это в src / Controller / AppController.php
public function initialize() { $this->loadComponent('Flash'); $this->loadComponent('Auth', [ 'authenticate' => [ 'Form' => [ 'fields' => [ 'username' => 'email', 'password' => 'password' ] ] ], 'loginAction' => [ 'controller' => 'User', 'action' => 'login' ] ]); // Autorise l'action display pour que notre controller de pages // continue de fonctionner. $this->Auth->allow(['display']); }
И в src / Controller / UsersController.php
public function login() { if ($this->request->is('post')) { $user = $this->Auth->identify(); if ($user) { $this->Auth->setUser($user); return $this->redirect($this->Auth->redirectUrl()); } $this->Flash->error('Votre username ou mot de passe est incorrect.'); } }
В src / Template / Users / login.ctp
<h1>Connexion</h1> <?= $this->Form->create() ?> <?= $this->Form->input('email') ?> <?= $this->Form->input('password') ?> <?= $this->Form->button('Login') ?> <?= $this->Form->end() ?>