[英]CakePHP Ajax Login-Validation Failure
我目前正在为我的应用程序进行AJAX登录。 在起始页的顶部,有一个登录链接,单击该链接可在单击时打开一个带有loginform的对话框,但是我有几个问题:
我想我现在将发布所有需要分析的代码。
UsersController :: login()
public function login() {
if($this->RequestHandler->isAjax()) {
$this->layout = 'ajax';
$this->render('/elements/users/login');
}
return $this->Auth->login();
}
elements / 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 :: login()有关,但我不知道在哪里搜索。 所以也许你可以帮我吗? 谢谢 :)
从关于Auth :: login()的书中 :
需要注意的一件事是您必须在登录后手动重定向用户 ,因为未调用loginRedirect。 $ this-> Auth-> login($ data)在成功登录时返回1,在失败时返回0
所以大致类似于:
if ($this->Auth->login() === 1) {
$this->redirect('/');
} else {
$this->set('status', 'Bad login details');
}
*未经测试
连接的JavaScript来处理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.