Wednesday, June 6, 2012

Form login with session in Codeigniter 2.1.0

Membuat login dengan session di codeigniter 2.1.0 bagaimana sih ??
sulit apa mudah ?
kalau sudah bisa sih mudah, kalau yang belum mengimplementasikan secara langsung, mungkin sedikit bingung.
     Ok, pada kali ini saya ingin membuat sedikit tutorial create  form login with session, didalam codeigniter 2.1.0, database dan session itu sendiri dibawah libraries codeigniter, sedangkan form berada dibawah helper codeigniter, ok, Langsung saja,.

1. Saya asumsikan temen - temen paham menggunakan xampp, atau lampp, Download Codeigniter 2.1.0 terlebih dahulu
2. Extract codeigniter tersebut menjadi ci
3. Buat database ci kemudian jalankan syntax create tabel dibawah ini untuk menampung data user :
4. Apabila ketiga langkah diatas sudah dijalankan, edit config.php yang ada didalam folder ci/application/config/config.php menjadi :
5. Edit konfigurasi autoload.php yang ada didalam satu folder dengan config.php sebelumnya,
6. Edit konfigurasi database.php yang ada didalam satu folder dengan config.php sebelumnya,
7. Edit konfigurasi routes.php yang ada didalam satu folder dengan config.php sebelumnya,
8. Buat model, dengan nama m_user.php simpan kedalam folder ci/application/model isi model :
9. Buat controller c_login untuk mengatur model tersebut simpan kedalam folder ci/application/controller , isi controller :
10. Buat controller c_home.php, simpan kedalam folder ci/application/controller, isi controller :
11. Buat view v_form.php simpan didalam folder ci/application/views/login (folder login create sendiri), isi view :
12. Buat form v_home.php satu folder dengan v_form.php , v_home.php digunakan untuk redirect apabila login berhasil maka akan dilarikan kedalam halaman tersebut, isi view v_form :
13. Apabila sudah jalankan localhost/ci didalam browser, maka akan keluar form login seperti ini :
isikan username : cahyo | password : cahyo
14. Apabila isian username dan password benar, maka akan redirect ke halaman admin seperti gambar dibawah ini :
     Bagaimana, mudah bukan. apabila ingin menggunakan autentikasi tank_auth bisa lihat disini




19 komentar:

  1. kalau mau pasang rechapcha dari google gimana ya mas? karena chapcha yang biasa bisa di baca oleh software chapcha

    ReplyDelete
  2. @nanda : kalau masang captcha dari google bisa juga, dengan syarat webnya konek dengan internet, bukan di lokal,
    untuk caranya, bisa dilihat disini http://codeigniter.com/wiki/ReCAPTCHA

    ReplyDelete
  3. mohon maaf kk, kmaren saya coba, ternyata ada yg error...
    yaitu di variable data ( class C_login extends CI_Controller ) dan juga code $this->load->view('login/v_home'); nya... setelah dicoba menghpus variable data tersebut dan mengubah login/v_home denagn v_home akhirnya berhasil :D thanks sebelumnya kk.....

    ditunggu tutorial selanjutnya 8-7
    numpang promosi kk hehehe maaf websitenya belum jadi http://www.anak-kalteng.pusku.com

    ReplyDelete
    Replies
    1. errornya disitu ? tergantung @riduan naruh v_home.php nya, apabila didalam folder login, berarti harus ada 'login/v_home'
      tapi kalo diluar folder login, langsung v_home saja.

      oh iya variable data tersebut emang gak ada, kmren aku copas dari form yang make captcha.

      ok terimakasih dah diteliti, ;)
      PROBLEM SOLVED (Dah ane benahin)

      Delete
  4. om saya udah ikutin langkah2 diatas, tapi kenapa outputnya :

    =======================================================
    A Database Error Occurred

    Unable to connect to your database server using the provided settings.

    Filename: C:\xampp\htdocs\CI\system\database\DB_driver.php

    Line Number: 124
    ========================================================

    apa yang salah ya kira2??

    ReplyDelete
    Replies
    1. kalo dari pesan kesalahan, database ente gk bisa konek tu om..
      coba cek lagi apakah nama database ente ci, cara ngeceknya liat di config.php

      semangat om.... pasti bisa, :)

      Delete
  5. bang kalo pake library sessionnya CI gimana? terus kalo pake sessionnya CI menampilkan $_SESSION['username']; gimana? thx

    ReplyDelete
    Replies
    1. dicontroller c_login, tinggal load aja sesssion librarynya
      $this->load->library('session');

      kemudian definsikan session.
      example :
      $datasession = array('cahyo');

      $this->session->set_userdata($datasession);
      $this->session->set_flashdata('session', $datasession);

      kemudian didalam viewnya kita tampilkan dengan
      echo $this->session->flashdata('session');

      Delete
  6. page notfound om..gimana?pas login

    ReplyDelete
    Replies
    1. not found gimana ya om...
      mungkin bisa kasih tahu pesan errornya gimana.

      ato mungkin belum buat file viewnya om...
      check lagi,

      maaf baru bisa bales, cz blog lama ane tinggal ngerjain skripsi :)

      Delete
  7. kalaw pesan Error gini gmna mas..sblum nya saya bikin temlet trus muncul..trus sya mau bkin form login
    A Database Error Occurred

    Unable to select the specified database: db_kep_raya

    Filename: C:\xampp\htdocs\Desa_KepRaya\system\database\DB_driver.php

    Line Number: 140

    terimkasi klw berkenan menjwab nya

    ReplyDelete
    Replies
    1. di confignya udah didefinisikan nama database seperti database yang dibuat, yaitu db_kep_raya ?

      Delete
  8. bang kalo pas diklik button login g mau masuk ke home, username n pass udah bener kira2 salah dmnnya yah...
    trimakasih

    ReplyDelete
    Replies
    1. autentikasi sudah yakin bener ?
      kalau sudah, check lagi di

      if ( $result == TRUE) {
      $_SESSION['username'] = $this->input->post('username');
      redirect('c_home');
      }

      terutama di redirectnya coba kasih echo $_SESSION['username']; exit(); sesudah session username, untuk menampilkan sebuah data session, apabila autentikasi benar, maka data session akan tampil. kalau autentikasi salah berarti gk tampil. apabila bisa tampil gk bisa redirect ke viewnya check lagi controller c_homenya apakah sudah benar :)

      Delete
  9. saya mau tanya ,saya kan udah buat login dan semuanya udah berjalan dengan sukses ,
    ketika saya mau edit apapun di menu utamanya ,seharusnya hanya nampil dimenu utamanya aja kan ,tapi kasus saya
    ini setiap saya ngedit di menu utama,kenapa muncul di form loginnya juga ..
    tolong di bantu ya ,makasih :)

    ReplyDelete
    Replies
    1. bisa liat scriptnya ?
      mungkin di link editnya masih keliru, coba check lagi link editnya. :)

      Delete
  10. mau tanya gan, kalo loginnya dari tiga tabel, misalnya tabel guru, tabel siswa, tabel operator, itu gimana ya gan?

    ReplyDelete
    Replies
    1. bisa saja, dipengecekan user saat login check ketiga tabel tersebut, apakah user ada didalam salah satu tabel tersebut, tapi ingat, dikasih username atau pass unique, untuk membedakan, atau bisa dikasih dropdown pilihan login sebagai apa, guru, siswa atau operator untuk membedakan posisi login user tersebut, apabila ada user disalah satu tabel tersebut maka redirect halaman home sesuai hak akses yang diberikan, :)

      Delete
  11. makasih gan sangat membantu :D saya jadi ringan tugasnya

    ReplyDelete
:) :( ;) :D ;;-) :-/ :x :P :-* =(( :-O X( :7 B-) :-S #:-S 7:) :(( :)) :| /:) =)) O:-) :-B =; :-c :)] ~X( :-h :-t 8-7 I-) 8-| L-) :-a :-$ [-( :O) 8-} 2:-P (:| =P~ :-? #-o =D7 :-SS @-) :^o :-w 7:P 2):) X_X :!! \m/ :-q :-bd ^#(^ :ar!