我使用以下代码创建了一个新用户: 控制器:
$this->User->createUser($this->data)
型号:
function createUser(){
$this->create();
}
之后我想登录用户。我已经尝试了这个(在控制器中):
$this->Auth->login($this->data);
$this->redirect('home');
不幸的是,这种方式不起作用。我做错了吗?
答案 0 :(得分:1)
对于cake1.3
在您的控制器中
$id = $this->User->createUser($this->data);
$this->data['User'] = array_merge($this->data['User'], array('id' => $id));
$this->Auth->login($this->data);
$this->redirect('home');
<强>模型强>
在创建用户之前,您需要对用户输入的密码进行哈希处理,然后保存到数据库中
function createUser($data){
$data['User']['password'] = md5($data['User']['password']);
$this->save();
return $this->id; // return id of last saved record
}