当新用户想要自动注册我的博客时,他们只是一个用户,我必须登录到管理面板并将其从用户更改为作者。
我希望任何想要注册的用户自动成为作者,而无需从管理面板进行更改。
表: 用户 ,列:角色,值: 我希望它始终是 :作者而不是用户。
身份验证模型:
//register
public function register()
{
$data = $this->auth_model->input_values();
//secure password
$data['password'] = $this->bcrypt->hash_password($data['password']);
$data['slug'] = $this->generate_uniqe_slug($data["username"]);
$data['token'] = generate_unique_id();
$data['last_seen'] = date('Y-m-d H:i:s');
$data["created_at"] = date('Y-m-d H:i:s');
if ($this->db->insert('users', $data)) {
$id = $this->db->insert_id();
$user = $this->get_user($id);
//set user data
$user_data = array(
'inf_ses_id' => $user->id,
'inf_ses_username' => $user->username,
'inf_ses_email' => $user->email,
'inf_ses_role' => $user->role,
'inf_ses_logged_in' => true,
'inf_ses_app_key' => $this->config->item('app_key'),
);
$this->session->set_userdata($user_data);
return true;
} else {
return false;
}
}
//add user
public function add_user()
{
$this->load->library('bcrypt');
$data = $this->auth_model->input_values();
$data['role'] = $this->input->post('role', true);
$data['token'] = generate_unique_id();
//secure password
$data['password'] = $this->bcrypt->hash_password($data['password']);
$data['slug'] = $this->generate_uniqe_slug($data["username"]);
$data["created_at"] = date('Y-m-d H:i:s');
return $this->db->insert('users', $data);
}
如果您希望所有新用户都成为作者,只需设置$data['role'] = "author";
.然后,您可以删除该角色输入,因为这不是必需的。