在CakePHP 1.3中注册后自动登录

时间:2013-10-22 11:53:31

标签: cakephp cakephp-1.3

我使用以下代码创建了一个新用户: 控制器:

$this->User->createUser($this->data)

型号:

function createUser(){ 
    $this->create();
}

之后我想登录用户。我已经尝试了这个(在控制器中):

$this->Auth->login($this->data);
$this->redirect('home');

不幸的是,这种方式不起作用。我做错了吗?

1 个答案:

答案 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
}