1
我开始了与CakePHP的2.0,不能让过去一个简单的登录。这是我的代码:错误与CakePHP的表单助手2.0
的AppController:
class AppController extends Controller
{
function beforeFilter()
{
$this->Auth->userModel = 'User';
$this->Auth->fields = array('username' => 'email', 'password' => 'password');
$this->Auth->loginAction = array('controller' => 'users', 'action' => 'login');
$this->Auth->loginRedirect = array('controller' => 'hotels', 'action' => 'dashboard');
}
}
UsersController:
class UsersController extends AppController
{
var $name = 'Users';
var $helpers = array('Html','Form');
var $components = array('Auth','Session');
function beforeFilter()
{
$this->Auth->allow("logout");
parent::beforeFilter();
}
function logout()
{
$this->redirect($this->Auth->logout());
}
function login()
{
if ($this->Auth->login())
{
$this->redirect($this->Auth->redirect());
} else
{
$this->Session->setFlash(__('Invalid username or password, try again'));
}
}
}
login.ctp:
echo $this->Form->create(); //'User', array('action' => 'login'));
echo $form->Form->input('email');
echo $form->Form->input('password');
echo $form->Form->end('Login');
我得到的错误是这样的:
Notice (8): Undefined variable: form [APP\View\Users\login.ctp, line 13]
Notice (8): Trying to get property of non-object [APP\View\Users\login.ctp, line 13]
Fatal error: Call to a member function input() on a non-object in E:\proyectos\web\swt\app\View\Users\login.ctp on line 13
任何想法?提前致谢!
我花了像2小时会在相同的代码,并没有看到这一点。非常感谢!我要踢自己,马上回来。 – Sandy
有时需要一对不同的眼睛。这是这四个字母的单词 - 他们招来更多的四个字母的单词:) –
作为快速跟进,我修改我的login()方法(见上文),我也得到一种形式,可以提交,但我实际上并不能登录。它总是显示Flash错误消息并将我返回到表单。任何想法?再次感谢 – Sandy