Codeigniter: автоматически вошел в систему недавно зарегистрированного пользователя на сайте и перенаправить на страницу профиля

Я работаю в формах регистрации и регистрации Codeigniter. Я создал их все работает. Теперь, что мне нужно, чтобы автоматически вошел в систему пользователя, когда он успешно зарегистрирован на сайте.

Добавить код пользователя:

 public function add_user() {
$data = array(
'username' => $this->input->post('user_name'),
'email' => $this->input->post('email_address'),
'password' => md5($this->input->post('password'))
);
$this->db->insert('user', $data);
}

Регистрация и валидация:

public function registration() {
$this->load->library('form_validation');
// field name, error message, validation rules
$this->form_validation->set_rules('user_name', 'User Name', 'trim|required|min_length[4]|xss_clean');
$this->form_validation->set_rules('email_address', 'Your Email', 'trim|required|valid_email');
$this->form_validation->set_rules('password', 'Password', 'trim|required|min_length[4]|max_length[32]');
$this->form_validation->set_rules('con_password', 'Password Confirmation', 'trim|required|matches[password]');

if ($this->form_validation->run() == FALSE) {
$this->index();
} else {
$this->user_model->add_user();
$this->thank();
}
}

2

Решение

В другой части,

else {
$id = $this->user_model->add_user();
// set session here like how you will set on login
$data["user_id"] = $id;
...// other required data for session
$this->session->set_userdata($data);
$this->thank();
}

В модели вернуть последнюю вставку id после вставки данных

$this->db->insert('user', $data);
return $this->db->insert_id();//   <--- this line
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector