CakePHP&;更改用户';s剖面图
我已经开始学习cakePHP,现在我面临以下问题。如何允许我的用户更改他们的配置文件(他们在数据库中的信息) 这是我的模型->当有人试图注册时,我使用这些验证。 这是我编辑配置文件的方法: 首先,我检查用户是否具有编辑此配置文件的权限(是他自己的配置文件)。 然后获取所需的id并尝试保存请求->数据。。。但不幸的是没有成功 最后这是我的观点-> 我唯一想做的是: -更改他们的电子邮件(如果他们添加新电子邮件) -更改他们的社交档案(如果用户添加) -更改他们的密码(如果他们添加了密码) 你能指导我做这些事情吗CakePHP&;更改用户';s剖面图,cakephp,Cakephp,我已经开始学习cakePHP,现在我面临以下问题。如何允许我的用户更改他们的配置文件(他们在数据库中的信息) 这是我的模型->当有人试图注册时,我使用这些验证。 这是我编辑配置文件的方法: 首先,我检查用户是否具有编辑此配置文件的权限(是他自己的配置文件)。 然后获取所需的id并尝试保存请求->数据。。。但不幸的是没有成功 最后这是我的观点-> 我唯一想做的是: -更改他们的电子邮件(如果他们添加新电子邮件) -更改他们的社交档案(如果用户添加) -更改他们的密码(如果他们添加了密码) 你能指导
提前谢谢 通常,在调用save时,如:
$this->User->save($this->request->data)
默认情况下,$this->request->data中的数据被清除。在编辑方法中,下面有一个if语句,它再次使用相同的save
我假设您从cakebaked编辑方法复制的默认功能通常执行保存,并使用返回的逻辑为if语句供电。第二次调用它时,可能会返回false,这可能会跳过if语句
要对此进行调试,我建议在不同的位置使用以下几种方法:
debug($this->request->data);
此外,调试打印输出在重定向时被清除,因此您可能希望在if语句中注释掉重定向,如下所示:
if ($this->User->save($this->request->data)) {
$this->Session->setFlash('Успешно променихте профила си.', 'success_message');
//$this->redirect(array('action' => 'profile'));
}
我可以做你想做的事
更多@
if($this->Auth->user() && $this->Auth->user('id') == $id) {
$this->User->read(null, $id);
$this->User->set(array(
'email' => $this->data['User']['email'],
'password' => $this->data['User']['password'],
'social_profile' => 'bla bla'
));
$this->User->save();
// etc