1
目前我有一個功能登錄程序。我的用戶訪問特定的登錄視圖,輸入他們的用戶名和密碼,訪問並重定向到特定的儀表板。如何使用CakePHP中的元素進行登錄?
在我的用戶控制:
public function login() {
if ($this->request->is('post')) {
if ($this->Auth->login()) {
return $this->redirect();
}
$this->Session->setFlash('Incorrect user or password.');
}
}
登錄視圖:
<h1>Access with your username:</h1>
<?php
echo $this->Form->create('User', array('action' => 'login'));
echo $this->Form->input('username', array('label' => 'User:'));
echo $this->Form->input('password', array('label' => 'Password:'));
echo $this->Form->end('Login');
?>
問題來了,當我被要求直接在我的主菜單中添加一些登陸場。所以我嘗試將它們添加爲我的標題中的一個元素。它沒有工作。
我加入我的頭元素:
<div>
<?php
echo $this->Form->create('user', array('action' => 'login'));
echo $this->Form->input('username', array('placeholder' => 'User', 'label' => false));
echo $this->Form->input('password', array('placeholder' => 'Password', 'label' => false));
echo $this->Form->submit('Ingresar', array('div' => true));
echo $this->Form->end();
?>
</div>
我輸入用戶名和密碼,點擊「登錄」按鈕。它引發我「不正確的用戶或密碼」。錯誤消息,並將我重定向到登錄操作的視圖(無需在用戶中登錄)。
在那裏,人們可以成功登錄沒有進一步的問題,但重點是要減少1的行動所需的點擊。
我錯過了什麼?我應該更改/添加/移動?
要解釋你是ge的錯誤tting:當你提交表單(第二個)時,'AuthComponent'需要一個數組作爲'array('User'=> array('username'=>'***','password'=>'* **'))'但是在你的情況下,'AuthComponent'正在接收一個不同結構的數組array'('user'=> array('username'=>'***','password'=>'** *'))' –
就是這樣。事後看來很明顯。非常感謝你! –