Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
Permasalahan Login
Saya mau bertanya, kenapa setiap login, user dengan user level 3 selalu menampilkan halaman user yang berlevel 2 . untuk user level 1 dan 2 sudah benar masuk kehalamannya masing" mohon bantuanya
Controller Login:
function auth(){
$username=htmlspecialchars($this->input->post('username',TRUE),ENT_QUOTES);
$password=htmlspecialchars($this->input->post('password',TRUE),ENT_QUOTES);
$foto=htmlspecialchars($this->input->post('password',TRUE),ENT_QUOTES);
$cek_user=$this->login_model->auth_user($username,$password,$foto,$level);
if($cek_user->num_rows() > 0){ //jika login sebagai dosen
$data=$cek_user->row_array();
$this->session->set_userdata('masuk',TRUE);
if($data['level']=='1'){ //Akses admin
$this->session->set_userdata('akses','1');
$this->session->set_userdata('ses_id',$data['id']);
$this->session->set_userdata('ses_nama',$data['nama']);
$this->session->set_userdata('ses_foto',$data['foto']);
redirect('page');
}else{ //akses dosen
$this->session->set_userdata('masuk',TRUE);
$this->session->set_userdata('akses','2');
$this->session->set_userdata('ses_id',$data['id']);
$this->session->set_userdata('ses_nama',$data['nama']);
$this->session->set_userdata('ses_foto',$data['foto']);
redirect('page');}
}else{
$this->session->set_userdata('masuk',TRUE);
if($data['level']=='3'){
$this->session->set_userdata('akses','3');
$this->session->set_userdata('ses_id',$data['id']);
$this->session->set_userdata('ses_nama',$data['nama']);
$this->session->set_userdata('ses_foto',$data['foto']);
redirect('page');
}
else{ // jika username dan password tidak ditemukan atau salah
$url=base_url();
echo $this->session->set_flashdata('msg','Username Atau Password Salah');
redirect($url);
}
}
}
Controller Page :
function index(){
$this->load->view('v_dashboard');
}
function bplk(){
// function ini hanya boleh diakses oleh bplk
if($this->session->userdata('akses')=='1' ){
$data['keluhan'] = $this->Keluhan->tampil_data()->result();
$this->load->view('dasbord_bplk',$data);
}else{
echo "Anda tidak berhak mengakses halaman ini";
}
}
function edit(){
if($this->session->userdata('akses')=='1' ){
$this->load->view('edit_profile');
}else{
echo "Anda tidak berhak mengakses halaman ini";
}
}
//Sekdos
function sekdos_keluhan(){
// function ini hanya boleh diakses oleh dosen
if($this->session->userdata('akses')=='2'){
$data['keluhan'] = $this->Keluhan->tampil_data()->result();
$this->load->view('dasbord_sekdos_keluhan',$data);
}else{
echo "Anda tidak berhak mengakses halaman ini";
}
}
function sekdos_mahasiswa(){
// function ini hanya boleh diakses oleh dosen
if($this->session->userdata('akses')=='2'){
$this->load->view('dasbord_sekdos_mahasiswa');
}else{
echo "Anda tidak berhak mengakses halaman ini";
}
}
function sekdos_walikelas(){
// function ini hanya boleh diakses oleh dosen
if($this->session->userdata('akses')=='2'){
$this->load->view('dasbord_sekdos_walikelas');
}else{
echo "Anda tidak berhak mengakses halaman ini";
}
}
//Dosen
function dosen_keluhan(){
// function ini hanya boleh diakses oleh dosen
if($this->session->userdata('akses')=='3'){
$this->load->view('dasbord_dosen_keluhan');
}else{
echo "Anda tidak berhak mengakses halaman ini";
}
}
function dosen_keluhan1(){//kehilangan dosen
// function ini hanya boleh diakses oleh dosen
if($this->session->userdata('akses')=='3'){
$data['keluhan'] = $this->Keluhan->tampil_keluhan_dosen();
$this->load->view('dasbord_dosen_keluhan1',$data);
}else{
echo "Anda tidak berhak mengakses halaman ini";
}
}
function dosen_mahasiswa(){
// function ini hanya boleh diakses oleh dosen
if($this->session->userdata('akses')=='3'){
$this->load->view('dasbord_dosen_mahasiswa');
}else{
echo "Anda tidak berhak mengakses halaman ini";
}
}
function dosen_walikelas(){
// function ini hanya boleh diakses oleh dosen
if($this->session->userdata('akses')=='3'){
$this->load->view('dasbord_dosen_walikelas');
}else{
echo "Anda tidak berhak mengakses halaman ini";
}
}
function dosen_kegiatandosen(){
// function ini hanya boleh diakses oleh dosen
if($this->session->userdata('akses')=='3'){
$data['kegiatan_dosen'] = $this->Keluhan->tampil_kegiatan();
$this->load->view('dasbord_dosen_kegiatandosen',$data);
}else{
echo "Anda tidak berhak mengakses halaman ini";
}
}
2 Jawaban:
karena pada pengkondisan nya salah disana ditulis if($data['level']=='1) namun setelahnya diikuti else bukan else if yang dimana jika ada kondisi harusnya menggunakan else if
jadinya seperti ini
<pre> function auth(){ $username=htmlspecialchars($this->input->post('username',TRUE),ENT_QUOTES); $password=htmlspecialchars($this->input->post('password',TRUE),ENT_QUOTES); $foto=htmlspecialchars($this->input->post('password',TRUE),ENT_QUOTES);
$cek_user=$this-&gt;login_model-&gt;auth_user($username,$password,$foto,$level);
if($cek_user-&gt;num_rows() &gt; 0){ //jika login sebagai dosen
$data=$cek_user-&gt;row_array();
$this-&gt;session-&gt;set_userdata('masuk',TRUE);
if($data['level']=='1'){ //Akses admin
$this-&gt;session-&gt;set_userdata('akses','1');
$this-&gt;session-&gt;set_userdata('ses_id',$data['id']);
$this-&gt;session-&gt;set_userdata('ses_nama',$data['nama']);
$this-&gt;session-&gt;set_userdata('ses_foto',$data['foto']);
redirect('page');
}else if($data['level']=='2'){ //akses dosen
$this-&gt;session-&gt;set_userdata('masuk',TRUE);
$this-&gt;session-&gt;set_userdata('akses','2');
$this-&gt;session-&gt;set_userdata('ses_id',$data['id']);
$this-&gt;session-&gt;set_userdata('ses_nama',$data['nama']);
$this-&gt;session-&gt;set_userdata('ses_foto',$data['foto']);
redirect('page');}
}else if($data['level']=='3'){
$this-&gt;session-&gt;set_userdata('masuk',TRUE);
$this-&gt;session-&gt;set_userdata('akses','3');
$this-&gt;session-&gt;set_userdata('ses_id',$data['id']);
$this-&gt;session-&gt;set_userdata('ses_nama',$data['nama']);
$this-&gt;session-&gt;set_userdata('ses_foto',$data['foto']);
redirect('page');
else{ // jika username dan password tidak ditemukan atau salah
$url=base_url();
echo $this-&gt;session-&gt;set_flashdata('msg','Username Atau Password Salah');
redirect($url);
}
}
}
</pre>
betul gan, apabila agan buka <pre> if </pre>, brarti <pre> else </pre> itu ada dipaling bawah.. dan di antara <pre> if </pre> dan <pre> else </pre> , semuanya ditulis <pre> else if </pre>