Tutorial Codeigniter Part 22 – Membahas Mengenai Session & Flashdata di Codeigniter

Selamat datang di warung belajar, dalam tutorial ini kita akan melanjutkan pembahasan mengenai tutorial codeigniter, pada tutorial ini kita akan membahas bagaimana cara menggunakan session dan flashdata di framework codeigniter.

pada tutorial selanjutnya kita akan membahas proses pembuatan login di codeigniter, karena nantinya kita memerlukan session, sehingga di tutorial ini kita bahas dulu konsep penggunaan session, dan sebagai tambahan sekalian kita juga akan membahas mengenai flashdata di codeigniter.

 

Mengenal Session di Codeigniter

Mungkin anda yang telah belajar php sebelumnya, familiar dengan istilah session, session adalah data yang disimpan di server, dimana data tersebut dapat diakses secara global di server tersebut.

Fitur aplikasi yang sering menggunakan session ini adalah proses login user, dimana biasanya digunakan untuk menyimpan data user yang sedang login, sehingga data tersebut dapat dibaca oleh seluruh file didalam server.

untuk anda yang belum mengenal istilah session di php, bisa membaca tutorial kita sebelumnya yang membahas mengenai session : Cara Menggunakan Session di PHP

Dokumentasi Session di Codeigniter bisa dibaca disini : https://codeigniter.com/userguide3/libraries/sessions.html?highlight=session#

 

 

Load Library Session

Untuk dapat menggunakan session di codeigniter, anda perlu load library Session.php didalam file controller, atau anda juga dapat menggunakan file autoload, untuk otomatis load library session, untuk pembahasan mengenai library di codeigniter bisa dibaca di tutorial kita sebelumnya : Library di codeigniter

untuk load library session perintahnya adalah seperti berikut ini :

 

 

Membuat Data Session

Berikutnya untuk membuat session di codeigniter, anda bisa menggunakan perintah seperti berikut ini :

untuk membuat session, anda bisa menggunakan perintah set_userdata, dimana perintah ini memiliki 2 parameter yaitu :

  • nama session : parameter pertama ini digunakan untuk memberikan nama dari data session yang dibuat
  • nilai session : parameter kedua ini digunakan untuk memberikan nilai dari data session yang dibuat

contohnya anda ingin membuat data session, dengan nama username dan nilainya adalah administrator, maka perintahnya adalah sebagai berikut :

 

Selain cara diatas anda dapat membuat beberapa data session, dengan cara menuliskannya dengan menggunakan data array, contohnya seperti berikut ini :

kita bisa membuat array terlebih dahulu, yang berisi key dan value, dimana bagian key nantinya akan dijadikan nama dari data session, dan value merupakan nilai dari data session.

berikutnya data array itu kita gunakan saat generate data session.

 

 

Membaca Data Session

Berikutnya kita akan membahas bagaimana cara membaca data session, untuk membaca data session perintahnya adalah sebagai berikut :

kita bisa menggunakan perintah userdata, dan pada parameter pertama kita tuliskan nama session yang ingin kita tampilkan.

semisal kita ingin menampilkan data session username, maka perintahnya adalah sebagai berikut :

bagaimana mudah kan…. berikutnya kita akan langsung praktekkan dalam framework codeigniternya.

 

 

Menghapus data session

Berikutnya kita akan membahas bagaimana cara menghapus data session, perintah ini biasanya kita gunakan untuk proses logout dari authentikasi di sebuah sistem, perintahnya adalah sebagai berikut :

Keterangan :

kita menggunakan perintah unset_userdata(”) dan menuliskan nama session yang akan kita hapus, pada parameter pertama pada method unset_userdata.

 

Anda juga dapat menghapus beberapa session dengan menggunakan array, contohnya adalah sebagai berikut :

Keterangan :

kita bisa membuat array, yang didalamnya terdapat nama session, dalam contoh diatas nama variabel array kita menggunakan array_items.

berikutnya pada method unset_userdata kita tulis variabel yang berisi array nama session, pada parameter pertama method tersebut.

 

 

Praktek penggunaan session

Baik langsung kita praktekkan ya… saya asumsikan teman – teman memiliki project codeigniter, silahkan buat sebuah controller baru dengan nama User.php, lalu controller tersebut isi code seperti berikut ini :

Keterangan :

perhatikan pada line 9 kita load library session, agar kita dapat menggunakan fitur session di codeigniter, kita tulis didalam method __construct agar seluruh method di class controller ini bisa mengakses.

berikutnya kita buat method dengan nama setdata, pada method ini kita buat 2 session :

  1. session username dengan nilai administrator (Line 14)
  2. session nama dengan nilai Budi Cahyadi (Line 15)
Baik kita coba mengakses method ini dengan alamat, http://localhost/belajarcodeigniter/index.php/user/setdata

hasilnya seperti ini :

oke saat ini session sudah dibuat, diatasi ada tulisan karena di line 16 kita menuliskan perintah

kita lanjut untuk menampilkan data session.

 

Berikutnya kita buat method dengan getdata Line 19 – 24, kita akan mengambil data session, dan dimasukkan kedalam array pada variabel $data yang nantinya akan kita passing dibagian view.

Pada line 21 kita mengambil data session username, dan dimasukkan kedalam array variabel $data dengan key username

Pada line 22 kita mengambil data session nama, dan dimasukkan kedalam array variabel $data dengan key nama

lalu data itu kita passing data kedalam view dengan nama vw_user

 

Berikutnya kita akan buat file view dengan nama vw_user.php, dengan isi kode seperti berikut :

berikutnya kita akan mengakses method getdata di bagian controller user, dengan alamat : http://localhost/belajarcodeigniter/index.php/user/getdata

Hasilnya akan menampilkan data username, dan nama yang sudah kita ambil dari controller dan kita passing dibagian view.

 

 

 

Flashdata di Codeigniter

Berikutnya kita akan membahas mengenai flashdata di codeigniter, flashdata ini digunakan untuk mengirimkan data yang bersifat sementara, jadi data digunakan sekali pakai, setelah data ditampilkan maka data itu otomatis akan dihapus.

Bagaimana Bingung ya ?

jadi contohnya begini.. anda membuat fitur input user, setelah proses input user berhasil akan ditampilkan alert “Data User Berhasil disimpan” nah untuk fitur seperti ini kita bisa menggunakan flashdata.

intinya datanya hanya digenerate sekali, lalu ditampilkan dan data dihapus, nah yang seperti ini kita gunakan flashdata.

sebenarnya pembahasan flashdata ini cukup banyak, bisa dilihat dokumentasi resminya disini :

https://codeigniter.com/userguide3/libraries/sessions.html?highlight=session#flashdata

 

tapi yang kita akan bahas adalah 2 perintah yang sering digunakan yaitu :

  • perintah untuk set bagian flashdata
  • perintah untuk menampilkan data di bagian flashdata
 

baik kita mulai praktekkan ya, buka kembali file Controller User.php, dan ubah kodenya menjadi seperti berikut ini :

Keterangan :

kita tambahkan perintah set_flashdata di line 23, kita buat flashdata dengan nama success, dengan nilai “Anda Berhasil Menampilkan data User”

dalam perintah ini kita buat flashdata dengan nama success, dan nilainya adalah ‘Anda Berhasil Menampilkan data User’

 

Berikutnya silahkan buka lagi file view dengan nama vw_user.php dan ubah isinya menjadi seperti berikut ini :

Keterangan :

Perhatikan Line 2 kita menuliskan perintah :

dimana perintah itu gunakan untuk menampilkan nilai dari flashdata dengan nama success.

sehingga jika kita mengakses method getdata, dengan alamat sebagai berikut :

http://localhost/belajarcodeigniter/index.php/user/getdata

Maka tampillannya seperti berikut ini :

Perhatikan terlihat ada tulisan “Anda Berhasil Menampilkan data User“, hal tersebut karena kita menampilkan nilai dari flashdata dengan nama success, yang kita tulis di line 2 di file view vw_user.php

 

Baik sekian dulu teman – teman pembahasan tutorial kali ini, kita sudah belajar mengenai bagaimana cara menggunakan Session dan Flashdata di Codeigniter, jika ada yang ingin didiskusikan silahkan di kolom komentar, terima kasih.

One thought on “Tutorial Codeigniter Part 22 – Membahas Mengenai Session & Flashdata di Codeigniter

Leave a Reply

Your email address will not be published. Required fields are marked *