Postingan lainnya
saya mau bertanya tentang update data di Codeigniter
dalam aplikasi yang saya buat mempunyai 2 level user yaitu admin dan direktur, contoh ketika sy mau mengedit data user yang bernama rendy level 1(admin) mau saya ubah menjadi level 2 (direktur) terus yang saya ubah di form edit hanya di bagian level nya saja, di bagian nip pegawai, nama, username, password, telpon, dan alamat tidak saya ubah selanjutnya data yang saya ubah berhasil disimpan, setelah itu saya login kembali menggunakan data rendy dengan username dan password yang sama malah tidak bisa login, tapi jika saya mengubah password dan mengganti level usernya terlebih dahulu baru bisa berhasil login, mohon solusinya terima kasih. ini code bagian controller di function update
<?php
public function update()
{
$nip_pegawai_lama = $this->input->post('nip_pegawai_lama');
$data_pegawai = array(
'nip_pegawai'=>$this->input->post('nip_pegawai'),
'nama'=>$this->input->post('nama'),
'username'=>$this->input->post('username'),
'password'=>md5($this->input->post('password')),
'tlp_pegawai'=>$this->input->post('tlp_pegawai'),
'alamat'=>$this->input->post('alamat'),
'level'=>$this->input->post('level')
);
if ($this->m_pegawai->update($nip_pegawai_lama, $data_pegawai) > 0)
{
$msg = 1;
}else{
$msg = 5;
}
$this->session->set_flashdata('msg',$msg);
redirect('pegawai');
}
?>
2 Jawaban:
mungkin bisa di cek bagian login nya,karena kalau di analisis berdasarkan table yang di atas dengan kondisi level bisa di redirect ke masing masing form
kemungkinan bug ada di controller login ......
Note : Menurut analisa saya
<?php
public function login(){
//ambil input dari form
$username = trim($this->input->post('username'));
$password = trim($this->input->post('password'));
//data form dari database admin
// periksa apakah input username atau password kosong atau tidak
if(empty($username) or empty($password)){
$msg = '<div class="alert alert-danger">USERNAME ATAU PASSWORD TIDAK BOLEH KOSONG!</div>';
$this->session->set_flashdata('msg', $msg);
redirect('admin');
//kembalikan tampilan browser ke halaman depan (admin)
}
// periksa ke database apakah username dan password ada atau tidak
$data_user = $this->m_user->validasi($username,md5($password));
// jika data username dan password ditemukan
if($data_user->num_rows() > 0){
$user = $data_user->row();
// print_r($user);
$data = array(
'nip_pegawai' => $user->nip_pegawai,
'nama' => $user->nama,
'level' => $user->level
//data yang disimpan ke session
);
// simpan data user ke session
$this->session->set_userdata($data);
redirect('admin');
}else{
//jika data user tidak ditemukan, persiapankan pesan yang sesuai
$msg = '<div class="alert alert-danger">USERNAME ATAU PASSWORD TIDAK COCOK !</div>';
$this->session->set_flashdata('msg', $msg);
//redirect('admin');
}
redirect('admin');
//kembalikan tampilan browser ke halaman depan (admin)
}
?>
saya masih bingung juga nih, saya udah coba analisa belum tau bug nya dimana mungkin ada yang bisa ngasih solosi ya, terima kasih.