我有一个用户名,密码和提交按钮的视图。这个视图被称为login.ctp
,所以我之前使用CakePHP的方式是我在页面顶部有一个<div>
,在那个<div>
登录将在所有页面中可见,所以基本上你可以从任何地方登录,我正在使用AJAX。我现在的问题是,我不知道如何在CakePHP中执行此操作,因为其他一些视图有<form>
标记,我认为它也需要登录<form>
标记?所以他们conflict..Also,所以两件事在页面顶部进行登录
我如何可以放置在页面顶部的div背部,使其与在
UsersController
我的登录功能的工作?我该怎么做才能使
<forms>
不冲突?
相关的代码
<?php
class UsersController extends AppController {
var $uses = array("User");
var $components = array('Auth', 'Session');
function index()
{
$this->set('users', $this->User->find('all'));
$this->layout = 'master_layout';
}
function beforeFilter() {
$this->Auth->allow('add');
}
function add() {
if (!empty($this->data)) {
//pass is hashed already
//->data['User']['password'] = $this->Auth->password($this->data['User']['password']);
if ($this->User->save($this->data)) {
$this->Session->setFlash('Your were registered!.');
$this->redirect(array('action' => 'index'));
}
}
$this->layout = 'master_layout';
}
//IF THE DATABASE IS SET UP CORRECTLY CAKE AUTHENTICATES AUTOMATICALLY NO
//LOGIC IS NEEDED FOR LOGIN http://book.cakephp.org/view/1250/Authentication
function login() {
$this->layout = 'master_layout';
$this->data['User']['password'] = '';
}
function logout() {
$this->redirect($this->Auth->logout());
}
}
?>
小问题swieckie,当我登录..它回来很好..但后来如果我去到另一个页面..欢迎'名称'消失就像忘记了会话? - 只有在我登录后才会出现欢迎'名字'..但是如果我改变页面..它不见了.. – user710502