Вы сказали:
У меня возникла эта проблема, когда вошел в систему, любой может ввести другой адрес в другой адрес и перейти к другой учетной записи
Как я понимаю, когдавы проверяете учетные данные пользователя, которого вы не сохраняете в своем сеансе, идентификатор этого пользователя.
Вам необходимо хранить идентификатор в каждом сеансе, чтобы знать, кто просматривает каждую страницу и что вам нужно, чтобы показать его.
Пример контроллера:
function validate_credentials() {
$this->load->model('users_model');
if($this->users_model->check_pass() == true) {
$data = array(
'email' => $this->input->post('email'),
'is_logged_in' => true,
'user_id' => $this->users_model->get_userid()
);
$this->session->set_userdata($data);
}
}
Пример модели:
function get_userid() {
$this->db->where('email', $this->input->post('email'));
$q = $this->db->get('users');
$r = $q->row();
return $r->id;
}
Теперь вы можете загружать содержимое динамически на основена $ this-> session-> userdata ('user_id');и определите, что они должны видеть на каждой странице.
PS: Если вы хотите иметь роли, вам нужно только сохранить роль пользователя в своем сеансе, добавив еще один 'ключ' => 'val'
Надеюсь, это поможет.