Friday, September 27, 2019

Cara Mendapatkan IP Address Pengguna CodeIgniter 3

Penulis kali ini akan membahas Cara Mendapatkan IP Address Pengguna menggunakan CodeIgniter. Melalui IP Address pengunjung, Anda dapat mengetahui lokasinya juga. Setiap pemilik aplikasi web membutuhkan informasi mengenai pengguna sebagai bahan pertimbangan keputusan termasuk juga data mengenai lokasi dari pengguna.

Jika pemilik web aplikasi mengetahui lokasi pengguna web application yang dibuatnya telah digunakan hingga ke negara lain, pemilik web app bisa membuat web app dengan bahasa tertentu agar pengguna merasa senang dan semakin banyak yang berminat menggunakan web app tersebut.

Semisal aplikasi X yang awalnya hanya menggunakan bahasa indonesia saja juga banyak digunakan di negara Malaysia, maka pemilik web app bisa mencantumkan bahasa Melayu maupun English sebagai bahasa internasional pada web app miliknya. Berikut Cara Mendapatkan IP Address Pengguna :

Buatlah tabel user untuk menyimpan informasi akun pengguna dengan nama tbl_user :
CREATE TABLE tbl_user( id int, email varchar(50), password varchar(100), last_seen datetime,  ip_address text);

Penulis menganggap pembaca telah mengetahui cara untuk menyimpan data user ketik login dan menampilkan menggunakan session. Pada bagian Model Account tambahkan 2 model untuk menyimpan ip address dan last seen :
public function set_ip_address(){
 //untuk mengambil ID User
 $id_user = $this->session->userdata('id_user');

 //untuk mengambil ip address
 $ip = $this->input->ip_address();
 $this->db->set('ip_address', $ip);
 $this->db->where('id_user', $id_user);
 $result = $this->db->update('tbl_user');
}

public function logout(){
 $id_user = $this->session->userdata('id_user');
 $this->db->set('last_seen', date('Y-m-j H:i:s'));
 $this->db->where('id_user', $id_user);
 $result = $this->db->update('tbl_user');
}

Selanjutnya pada Controller Account tambahkan syntax 2 baris pada function Logout seperti dibawah ini :
public function logout(){
 if($this->account_model->logged_id()){
  $this->account_model->set_ip_address();
  $this->account_model->logout();
  $this->session->sess_destroy();
  redirect("account");
 } else {
  redirect("");
 }
}

Untuk bagian View Penulis tidak cantumkan karena bagian View hanya berupa link Logout yang mengarah ke Controller Account function Logout diatas. Pada postingan kali ini, Penulis tidak menampilkan cara mengubah IP Address yang didapat menjadi lokasi namun Penulis akan menjawab pada postingan yang akan datang. Sekian Tutorial kali ini , Semoga Bermanfaat ya!
Load disqus comments

0 comments