Postingan lainnya
Session hilang ketika di refresh pada codeigniter
Selamat pagi semuanya, saya bener2 mentok nih udah nanya temen juga tp temen ga pada tau jadi berharap disini ada yg bisa bantu.
Saya membuat user login dengan CI 3, login berhasil tapi ketika halaman di refresh session langsung hilang, terkadang bertahan beberapa menit sebelum akhirnya hilang lagi ketika di refresh. Awalnya saya pikir ini kesalahan di XAMPP saya, tapi ketika saya coba koding dengan PHP biasa dan database yg sama session tidak hilang walaupun di refresh berkali-kali ataupun di biarkan lama jadi saya mengambil kesimpulan salahnya ada di CI saya ini (Mohon maaf jika kesimpulan saya salah). Minggu lalu saya membuat aplikasi dengan CI tidak ada masalah seperti ini, koding yang sekarang juga saya copas dari yg sebelumnya saya buat. Saya tidak ada mengubah apapun yang ada di CI cuma bikn controller, model view aja.
UPDATE:
PROBLEM SOLVED
Ternyata session hilang krn saya membuka 2 aplikasi CI dalam 1 browser dimana ke-2 aplikasi tersebut memiliki nama session yang sama.
2 Jawaban:
menarik.. mau nanya dikit, 1. setelah login dia ke halaman mana? 2. pas di refresh dia ke halaman mana, dan messagenya apa yang keluar? Kemungkinan yg salah ->pas ngecek apakah dia udah login apa ngga. Sekilas yg ngecek kayanya baris ini
$this->session->userdata('user_login')
Nah masalahnya 'user_login' ini ngga ada di daftar arraynya, yang bisa kita cek itu yg di set di daftar arraynya, pada contoh ini, misalnya id_user atau username
$usersession = array(
'id_user' => $cek->id_user,
'username' => $cek->username,
'fullname' => $cek->nama_lengkap,
'akses' => $cek->akses
);
Jawab: 1. redirect ke halaman dashboard.
2. saya udh ubah di controllernya dan sama saja
public function index(){
if(!empty($this->session->userdata('id_user'))){
redirect('dashboard');
}else{
$this->load->view('login');
}
}
login berhasil tapi ketika di refresh atau klik halaman lain session hilang, sedangkan di file header.php saya melakukan pengecekan session seperti ini
<?php
if(empty($this->session->userdata('id_user'))){
$this->session->set_flashdata('msg', 'error');
header('location: '.base_url()); //session tidak ada redirect ke halaman login
}
?>
karena session hilang otomatis selalu redirect ke halaman login, saya coba login lagi berhasil tapi ketika di refresh session hilang lagi, begitu seterusnya
mohon bantuanya bang hilman