0
我目前正在爲我的應用程序使用AJAX登錄。在起始頁的頂部有點擊它時,打開與登錄表單對話框登錄鏈接,但我有幾個問題:CakePHP Ajax登錄驗證失敗
- 當用戶輸入錯誤或沒有數據,沒有錯誤顯示
- 當我點擊「登錄」和JsHelper更新了「模板」,我再次點擊「登錄」,他將我重定向到http://www.url.com/users/login(這不應該發生)
- 當我輸入正確的logindata時,重定向完成或顯示一條消息。
我想我現在會發布所有需要的代碼進行分析。
UsersController ::登錄()
public function login() {
if($this->RequestHandler->isAjax()) {
$this->layout = 'ajax';
$this->render('/elements/users/login');
}
return $this->Auth->login();
}
元件/ AJAX/login.ctp 這是登錄對話框的模板。
<?php echo $this->Session->flash(); ?>
<fieldset>
<?php
echo $this->Session->flash();
echo $this->Form->create(
'User',
array(
'controller' => 'users',
'action' => 'login'
)
);
echo $this->Form->input(
'email',
array(
'label' => 'E-Mail',
'style' => 'width: 270px;'
)
);
echo $this->Form->input(
'password',
array(
'style' => 'width: 270px;'
)
);
echo $this->Js->submit(
'Login',
array('url' => array(
'controller' => 'users',
'action' => 'login'
),
'update' => '#loginContainer')
);
echo $this->Form->end();
?>
</fieldset>
我覺得它有什麼做的UsersController ::登錄(),但我不知道到哪裏去尋找。所以,也許你可以幫助我?謝謝:)
非常感謝您的信息,我將它添加到我的代碼中,但沒有任何更改:/。昨天我爲CakePHP安裝了DebugKit,當我提交有效的logindata時,他向我顯示「調試計時器信息」。這完全是令人困惑的。爲什麼顯示?當我查看DebugKit的「請求」時,參數** isAjax **是* off *,但是爲什麼? O_O Btw。登錄失敗時仍然沒有顯示錯誤:/ – Fortuna
這是更多示例代碼,然後您可以將其插入到應用程序中。 – Ivo
@福爾圖納 - 任何運氣? – jagamot