#8 USER ACCESS – Membuat Sistem Login Lengkap dengan CODEIGNITER 3

#8 USER ACCESS - Membuat Sistem Login Lengkap dengan CODEIGNITER 3

#8 USER ACCESS – Membuat Sistem Login Lengkap dengan CODEIGNITER 3

Kali ini kita akan menambahkan pengecekan session pada controller kita agar akses user dibatasi sesuai hak akses nya..

#codeigniter #tutorial


LINK
CodeIgniter : https://codeigniter.com
SBAdmin 2 : https://startbootstrap.com/themes/sb-admin-2/
Bootstrap : https://getbootstrap.com/
Font Awesome : https://fontawesome.com/


Apa yang harus dipelajari sebelum ngikutin seri ini :

– PHP DASAR
https://www.youtube.com/playlist?list=PLFIM0718LjIUqXfmEIBE3-uzERZPh3vp6

– OOPHP
https://www.youtube.com/playlist?list=PLFIM0718LjIWvxxll-6wLXrC_16h_Bl_p

– PHP MVC
https://www.youtube.com/playlist?list=PLFIM0718LjIVEh_d-h5wAjsdv2W4SAtkx

– CodeIgniter
https://www.youtube.com/watch?v=dMRCZGGAx74&list=PLFIM0718LjIVpXbAwu_Cg9PdJO1GvyvCn&index=10

https://www.youtube.com/watch?v=g5JT3EW38KM&list=PLFIM0718LjIVpXbAwu_Cg9PdJO1GvyvCn&index=11

https://www.youtube.com/watch?v=r-r6IhsE5vg&list=PLFIM0718LjIVpXbAwu_Cg9PdJO1GvyvCn&index=12

PLAYLIST LAIN:

– HTML Dasar
https://www.youtube.com/playlist?list=PLFIM0718LjIVuONHysfOK0ZtiqUWvrx4F

– CSS Dasar
https://www.youtube.com/playlist?list=PLFIM0718LjIUBrbm6Gdh6k7ZUvPIAZm7p

– Tutorial Sublime Text
https://www.youtube.com/playlist?list=PLFIM0718LjIWE-Ot9V9qcALx5OMAZY67c

– CSS Layouting
https://www.youtube.com/playlist?list=PLFIM0718LjIUu4Ju9GUL5zpLcuq08TKYr


MEDIA SOSIAL

http://instagram.com/sandhikagalih
http://twitter.com/sandhikagalih
https://www.facebook.com/WebProgrammingUNPAS
http://codepen.io/webprogrammingunpas
https://github.com/webprogrammingunpas


UNIVERSITAS PASUNDAN BANDUNG
http://www.unpas.ac.id/
http://www.if.unpas.ac.id/

terimakasih dan selamat #ngoding!

@sandhikagalih
#8 USER ACCESS – Membuat Sistem Login Lengkap dengan CODEIGNITER 3



#8 USER ACCESS – Membuat Sistem Login Lengkap dengan CODEIGNITER 3

Related posts

22 Thoughts to “#8 USER ACCESS – Membuat Sistem Login Lengkap dengan CODEIGNITER 3

  1. Auth juga diberikan kondisi pak dimana jika sudah login harus di redirect ke halaman default karena jika tidak diberikan maka akan menampilkan halaman login atau register lagi.
    Untuk kondisi Auth tidak diletakkan pada construct() namun diletakkan pada method index() dan register().
    Jika kondisi diletakkan pada Auth maka pada saat mau logout maka akan di rediect ke halaman default dan akhirnya tidak bisa logout.

    public function goToDefaultPage() {
    if ($this->session->userdata('role_id') == 1) {
    redirect('admin');
    } else if ($this->session->userdata('role_id') == 2) {
    redirect('user');
    } else {
    // jika ada role_id yg lain maka tambahkan disini
    }
    }

    kemudian letakkan function di atas di method index() dan register() dengan cara $this->goToDefaultPage();

  2. pak dhika, saya sudah buat aplikasi pake CI di kantor saya, kadang2 setelah login muncul error semacam ini

    Severity: Warning

    Message: unlink(/tmp/ci_session63dd0d31085bffc2cd626dce8f5fb2ff5b8e5dc2) [function.unlink]: Operation not permitted

    Filename: drivers/Session_files_driver.php

    Line Number: 354

    Backtrace:

    File: /home/classic/public_html/registro/application/controllers/Equipo.php

    Line: 9

    Function: library

    File: /home/classic/public_html/registro/index.php

    Line: 292

    Function: require_once

    kalau di reload terus ilang itu error nya dan normal lagi.
    itu kenapa ya?

  3. pak kenapa saya cek menu kok di redirect ke blocked

  4. maaf pak ko yang saya waktu saat login masuk ke tampilan langsung di blocked yaahh, mohon pencerahannya?

  5. pak mohon pencerahannya salah di mana yahh pak ko langsung di bloked?
    <?php

    function is_logged_in()

    {

    $ci = get_instance();

    if (!$ci->session->userdata('email')) {

    redirect('auth');

    } else {

    $role_id = $ci->session->userdata('role_id');

    $menu = $ci->uri->segment(1);

    $querySubMenu = $ci->db->get_where('user_sub_menu', ['url' => $menu])->row_array();

    $queryMenu = $ci->db->get_where('user_menu', ['menu' => $menu])->row_array();

    $menu_id = $queryMenu['id'];

    $userAccess = $ci->db->get_where('user_access_menu', [

    'role_id' => $role_id,

    'menu_id' => $menu_id]);

    if ($userAccess->num_rows() < 1) {

    redirect('auth/blocked');

    }

    }

    }

  6. Ijin membantu menjawab kayaknya banyak yang bermasalah pada helper is_logged_in();

    Penjelasan:

    // Sintak ini mengambil uri segment pada uri
    $menu = $ci->uri->segment(1);

     
    //query ini mengambil data berdasrkan variabel $menu
    $queryMenu = $ci->db->get_where('user_menu', ['menu' => $menu] )->row_array();

    Yang artinya nama field menu yang ada pada tabel user_menu harus sama dengan uri segmen yang ditangkap, kurang lebih nama controller nya disamakan dengan field yang ada pada tabel user_menu.

    CMIIW

  7. setelah berteman sama error seharian tentang helper yang ngeblokked saat membuat menu baru, alhmdulilah udh ada solusinya.. hehehehe..
    terimakasih pak dika setelah memahami lebih mendalam maksud logika dari helpernya 🙂

  8. Ajanya tapilam eror pas di
    $menu = $ci->url->segmeny(1);
    Ternyata bukan (url) tapi (uri)
    Sampe cari2 pusing pala wkwkwkw

  9. pada codeigniter ada yang namanya hooks, bisa dijelaskan pak: https://www.codeigniter.com/user_guide/general/hooks.html?highlight=hooks untuk pemanfaatannya.

  10. menurut saya yang paling tepat untuk cek id menu nya ada d tabel menu_sub? tidak tau menurut bapak dan teman-2 yang lainnya.

  11. internal server error 500 itu kenapa pak? mau coba edit menu dengan ajax tpi gak bisa2.

  12. ko saya var_dump di bagian $userAccess yang true cuman user yang ber role_id 1 doang ya ?
    yang role_id 2 , malah false..?

    ada yang tau?

  13. saya ingin submenunya ada dropdown lagi gimana ya itu caranya?

  14. Pak, mau tanya. Kok klo saya taro "is_logged_in();" di controller USER knp dia langsung ke "blocked" juga. Tapi klo dihapus si fungsi "is_logged_in();" itu, tidak akan ke "bocked". Jadi saya hapus. Itu, bagaimana pak? Terimakasih dan mohon bantuan jwban saya.

    Krn tetap bisa masuk ke controller user klo tdk dimasukkan fungsi "is_logged_in();"

    Paling akhirnya saya jdi tulis biasa, khusus untuk controller user aja.

    if (!$this->session->userdata('email')) {
                redirect('auth');
            }

  15. Masih belum paham di num_rows() < 1

  16. saya solved untuk masalah blocking halaman admin, jadi value di table_menu field menu tadinya saya Administrator setelah saya ubah jadi Admin maka solved. tolong dicek lagi codingan kalian ya jangan sampai ada typo!

  17. Pak saya buat controlled untuk submenu nya di file berbeda bukan di menu. pas saya klik submenu kok kena block ya pak. padahal login admin itu kenapa ya pak?? . trus saya buat ngakalinya saya pake. if($this->session->session('role_id') != 1){
    redirect('auth/blocked');}

  18. Untuk masalah yang pas login ke admin/user ke block coba cek filed menu di tabel user_menu nya liat controler sama nama menunya udh sama blm

  19. Untuk yang belajar usahakan samakan semua nama,class,controller dll sesuai dengan yang di gunakan pak dhika. Jangan di bedakan dulu supaya menghindari error.

    Karena yang penting itu pemahaman nya bukan hasilnya. Kalau sudah paham baru buat ulang dari awal project baru dengan nama sesuka hati….

  20. membandingkannya Dengan apa yaa selain dengan Segment

  21. Bang mau nanya kok aku error yahh pas di buatkan segment, mohon bantuannya.

  22. Pak gimana jika ada menu data master, di dalamnya ada submenu master program yg mana sama sama bisa di akses oleh admin dan user, akan tetapi pada menu tersebut ada button "tambah data", button tersebut hanya muncul jika role nya admin, untuk user hanya bisa melihat view hasilnya saja. Trims

Leave a Comment