Powered by Blogger.
RSS

Codeigniter : Tips untuk menangani back button pada browser 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..)

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)

Sumber dari sini http://zawaruddin.blogspot.com/2012/09/codeigniter-tips-untuk-menangani-back.html



  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS