CakePHP-允许登录用户编辑其帐户
我试图允许用户编辑他们的帐户详细信息,但出现以下错误。(我不熟悉蛋糕…) 错误是“致命错误:在第79行的/home/www/7b8dad242e3d067ccc5448180944bdab/web/shop/Controller/UsersController.php中对非对象调用成员函数user()” 查看:(edit.ctp)CakePHP-允许登录用户编辑其帐户,cakephp,fatal-error,Cakephp,Fatal Error,我试图允许用户编辑他们的帐户详细信息,但出现以下错误。(我不熟悉蛋糕…) 错误是“致命错误:在第79行的/home/www/7b8dad242e3d067ccc5448180944bdab/web/shop/Controller/UsersController.php中对非对象调用成员函数user()” 查看:(edit.ctp) 欢迎提出任何建议。非常感谢基本上,您在登录时做错了,您应该为登录使用AuthComponent::login(),而不是自定义登录 执行以下设置 1) 在类的顶部添加
欢迎提出任何建议。非常感谢基本上,您在登录时做错了,您应该为登录使用AuthComponent::login(),而不是自定义登录 执行以下设置 1) 在类的顶部添加组件
class AppController extends Controller {
public $components = array('Auth' => array(
'authenticate' => array(
'Form' => array(
'fields' => array('username' => 'email')
)
),
'autoRedirect' => false,
// 'loginError' => 'Username or password is incorrect',
), 'Session', 'RequestHandler');
2) 您的登录操作应该如下所示
public function login()
{
if($this->request->is('post')){
if ($this->Auth->login()){
// successful login
}else{
// login failed
}
}
}
3) 然后,您可以在代码中正确的Auth::user()方法中获取登录用户信息
4) 但若用户密码不在用户模型的行下方,则必须保存在哈希中
保存之前的公共函数($options=array()){
}您可能想了解一下,您能告诉我您在第79行写了哪些代码吗?
class AppController extends Controller {
public $components = array('Auth' => array(
'authenticate' => array(
'Form' => array(
'fields' => array('username' => 'email')
)
),
'autoRedirect' => false,
// 'loginError' => 'Username or password is incorrect',
), 'Session', 'RequestHandler');
public function login()
{
if($this->request->is('post')){
if ($this->Auth->login()){
// successful login
}else{
// login failed
}
}
}
if (isset($this->data['User']['password'])) {
$this->data['User']['password'] = AuthComponent::password($this->data['User']['password']);
}
return true;