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