ユーザーまたはパスが間違っていると、デフォルトでフラッシュエラーメッセージを表示します。ログイン時にCakePHP 3エラーメッセージが表示されない
これは私がUserControllerで私のコードです:間違っていくつかのフィールドを置く
class UsersController extends AppController
{
public function login()
{
if($this->request->is('post'))
{
$user = $this->Auth->identify();
if($user)
{
$this->Auth->setUser($user);
return $this->redirect($this->Auth->redirectUrl());
}
else{
$this->Flash->error(__('user/password incorrect'));
}
}
}
...
}
後、フラッシュメッセージは表示されません。しかし、その後、ユーザーとパスワードを正しく入力すると、コントローラが私をリダイレクトしたときに、次のビューにフラッシュエラーメッセージが表示されます。
また、フラッシュカードはプロジェクトのどの部分でも完全に機能します。ログインしても表示されないときだけです。
これはあなたのログインビュー
に何のレイアウトを使用していないが、フラッシュメッセージを出力コードはどこdefault
レイアウトに通常
<?php
use Cake\Cache\Cache;
use Cake\Core\Configure;
use Cake\Datasource\ConnectionManager;
use Cake\Error\Debugger;
use Cake\Network\Exception\NotFoundException;
$this->layout = false;
$cakeDescription = 'Welcome';
?>
<!DOCTYPE html>
<html>
<head>
<?= $this->Html->charset() ?>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
<?= $cakeDescription ?>
</title>
<?= $this->Html->meta('icon') ?>
<?= $this->Html->css('base.css') ?>
<?= $this->Html->css('cake.css') ?>
</head>
<body class="home">
<br>
<br>
<div class="index large-4 medium-4 large-offset-4 medium-offset-4 columns">
<div class="panel">
<h2 class="text-center">Login</h2>
<?= $this->Form->create(); ?>
<?= $this->Form->input('email', array('label' => 'write your email')); ?>
<?= $this->Form->input('password', array('label' => 'write your password')); ?>
<?= $this->Form->button('Login', ['type' => 'submit']); ?>
<?= $this->Form->end(); ?>
</div>
</div>
</body>
</html>
おかげ
= $this->と一緒に作業してください。Flash-> render()?> –