Postingan lainnya
Login frontend dan backend codeigniter dalam 1 browser
ASK, dalam 1 aplikasi codeigniter saya terdapat 2 login yaitu untuk backend dan frontend, tetapi ketika saya login ke backend, kemudian kembali login dibagian frontend dalam 1 browser yang sama. pada bagian backend langsung ke logout/ malah error.
begitu pula jika saya login bagian frontend terlebih dahulu, lalu kemudian login pada bagian backend.
apakah bisa dalam 1 browser, login backend dan frontend tersebut terbuka secara bersamaan.
Berikut skript yang ane pakai.
/// Login Admin
public function login()
{
$config = array(
array(
'field' => 'password',
'label' => 'Password',
'rules' => 'required|trim|xss_clean'
)
);
$this->form_validation->set_message($config);
$this->form_validation->set_rules($config);
if($this->form_validation->run() == FALSE){
$this->load->view('login');
}else{
extract($_POST);
$user_id = $this->Alus_user->check_login($username,$password);
if(! $user_id)
{
$this->session->set_flashdata('gagal_masuk',TRUE);
redirect('panel/login');
}
else
{
$this->load->model('Alus_user');
$config = $this->Alus_user->user_info($user_id);
$data_user = array(
'masuk' => TRUE,
'user_id' => $user_id,
'username' => $config['username'],
'nama' => $config['nama_user'],
'level' => $config['level'],
'lastlogin' => $config['lastlogin']
);
//$this->Alus_user->user_info_update($user_id);
$this->session->set_userdata($data_user);
redirect('dashboard');
}
}
}
//Login Member/Frontend
public function login_member()
{
$config = array(
array(
'field' => 'password',
'label' => 'Password',
'rules' => 'required|trim'
)
);
$this->form_validation->set_message($config);
$this->form_validation->set_rules($config);
if($this->form_validation->run() == FALSE){
$this->load->view('login_member');
}else{
extract($_POST);
$user_id = $this->Alus_member->check_login($username,$password);
if(! $user_id)
{
$this->session->set_flashdata('gagal_masuk',TRUE);
redirect('panel/login_member');
}
else
{
$config = $this->Alus_member->member_info($user_id);
$data_user = array(
'masuk_member' => TRUE,
'user_id' => $user_id,
'username' => $config['username'],
'nama' => $config['name']
);
//$this->Alus_user->user_info_update($user_id);
$this->session->set_userdata($data_user);
redirect('front/member');
}
}
}
3 Jawaban:
bedain session nya gan, dengan cara :
- pada saat ke halaman login jika halaman login nya sama pastikan jangan langsung redirect ke backend jika sudah pernah login, klau berbeda tidak masalah
- didalam proses login, session yang pernah disimpan jangan di hancurkan atau destroy, tetapi dibuat baru, dikarenakan session itu array jadi bisa langsung kasih nama baru yang berbeda dengan session backend. contoh nya
<pre> // untuk backend $_SESSION['be_nama'] = ......;
//untuk frontend $_SESSION['fe_nama'] = ......; </pre>