Selasa, 25 September 2012

Codeigniter : Tips untuk menangani back button pada browser setelah logout

Disini ada sedikit tips yang saya dapat dari vidcence.blogspot.com tentang Masalah “back button” setelah logOut.

Pada permasalahan yang dihadapi adalah ketika kita sudah logout, pastinya status kita benar-benar logout. Akan tetapi apabila kita mengklik tombol kembali (back button) pada browser, seolah-olah kita masih dalam kondisi login. Hal ini tentunya dapat mengganggu ataupun membuat kita harus berfikir keras untuk mencegahnya (tentunya dari segi developer... XD ). Apalagi ketika saat menekan back button halaman yang ditampilkan browser adalah form input data, nah pastinya jd masalah kan... (sok iye..) 

Nah disini ada kode yang saya dapat dari web vidcence.blogspot.com, akan tetapi saya modif agar simple. Buat helper dengan nama sukasukalo_helper.php, isikan kode berikut
function backButtonHandle(){ // nama fungsinya juga bisa d ganti "suka-suka lo" XD (y)
  $CI =& get_instance();
  $CI->load->library(array('output'));
  $CI->output->set_header('Last-Modified: ' . gmdate("D, d M Y H:i:s") . ' GMT');
  $CI->output->set_header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
  $CI->output->set_header('Pragma: no-cache');
  $CI->output->set_header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
 }

Nah untuk memakainya cukup di load helper tersebut dan panggil fungsinya pada SETIAP fungsi konstruktor (__construct) di controller

function __construct(){
  parent::__construct(); 
  $this->load->helper('sukasukalo'); // helper yg di atas
  
  backButtonHandle(); // ni fungsinya yg d panggil
 }

Sekarang coba jalankan aplikasinya (login -> klik sembarang menu/link -> logout -> back button).
Alhamdulillah udah saya coba (di firefox n Chrome) dan berhasil (berhasil, berhasil, berhasil... hore  XD)

Cukup sekian tips nya, tumben nih lagi seneng ngetik... :D

Untuk menghargai HKI(Hak Kekayaan Intelektual), sumber referensi yang saya pakai dan saya pelajari akan ditampilkan.
Referensi     :http://vidcence.blogspot.com/2012/06/masalah-back-button-setelah-logout.html
Author        : Moch. Zawaruddin Abdullah, www.zawaruddin.blogspot.com

8 komentar:

  1. Sipplah dijadiin helper.. :D
    Klo perlu dibikin downloadnya... (developer lama banyak yang males ngetik) :P

    BalasHapus
    Balasan
    1. hehe iya, buat menyederhanakan fungsi biar bisa dipanggil di banyak controller...
      itu tinggal copas aja... file helpernya bikin sendiri aja... :)

      Hapus
  2. kalau di klik back sekali benar tidak kembali ke halaman sebelumnya, tapi punya saya, klik back 2 kali masih bisa knp ya ????

    BalasHapus
  3. ko saya malah jadi eror gini pas di coba saat mau logout Unable to load the requested class: Output

    BalasHapus