Days
Hours
Minutes
Seconds

Promo Grand Opening

15% OFF

Khusus Pelanggan Baru

Tutorial CodeIgniter #14 : Mendapatkan Data User Dengan CodeIgniter

 

 

Mendapatkan data user adalah salah satu tugas fundamental dalam pengembangan web, terutama untuk sistem yang membutuhkan otentikasi atau personalisasi konten. Dalam seri tutorial CodeIgniter ini, kita akan belajar cara mendapatkan data user yang sedang login dan menampilkannya di halaman web.


 

Persiapan

 

Sebelum memulai, pastikan Anda sudah memiliki hal-hal berikut:

  1. Sistem Login: Anda sudah memiliki sistem login yang berfungsi dengan baik.
  2. Session: Saat user berhasil login, datanya (misalnya, id, nama, email) sudah tersimpan di dalam session.
  3. Database: Anda memiliki tabel users yang berisi data user.

Pada tutorial ini, kita akan menggunakan data user yang sudah disimpan di session dan mengambil data lengkapnya dari database.


 

Langkah 1: Memuat Library dan Helper

 

Pastikan Anda memuat library session dan helper url di controller Anda. Cara terbaik adalah memuatnya di konstruktor controller agar bisa digunakan di semua method.

PHP

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Dashboard extends CI_Controller {

    public function __construct(){
        parent::__construct();
        $this->load->library('session');
        $this->load->helper('url');
        $this->load->model('m_user'); // Memuat model user
    }

    // ... method lainnya
}
  • $this->load->library('session'): Memuat library session CodeIgniter.
  • $this->load->model('m_user'): Memuat model yang akan kita gunakan untuk berinteraksi dengan tabel users.

 

Langkah 2: Membuat Model User

 

Kita akan membuat model baru yang bertugas mengambil data user dari database. Buat file baru bernama M_user.php di dalam folder application/models.

application/models/M_user.php

PHP

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class M_user extends CI_Model{

    function get_user_data($id){
        return $this->db->get_where('users', array('id' => $id))->row_array();
    }
}
  • get_user_data($id): Fungsi ini menerima id user sebagai parameter.
  • $this->db->get_where('users', array('id' => $id)): Fungsi ini akan menjalankan query SELECT * FROM users WHERE id = $id.
  • ->row_array(): Metode ini mengembalikan satu baris hasil query dalam bentuk array asosiatif.

 

Langkah 3: Mengambil dan Menampilkan Data User di Controller

 

Sekarang, kita buat method di controller (misalnya Dashboard.php) yang akan mengambil data dari session, memanggil model, dan mengirimkan data lengkap ke view.

application/controllers/Dashboard.php

PHP

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Dashboard extends CI_Controller {

    public function __construct(){
        parent::__construct();
        $this->load->library('session');
        $this->load->helper('url');
        $this->load->model('m_user');
    }

    public function index(){
        // Cek apakah user sudah login
        if(!$this->session->userdata('is_logged_in')){
            redirect('login');
        }

        // Mendapatkan ID user dari session
        $user_id = $this->session->userdata('user_id');

        // Mendapatkan data user lengkap dari model
        $data['user_data'] = $this->m_user->get_user_data($user_id);

        // Memuat view dan mengirimkan data user
        $this->load->view('dashboard_view', $data);
    }
}
  • $this->session->userdata('user_id'): Mengambil nilai user_id yang sudah disimpan di session saat login.
  • $this->m_user->get_user_data($user_id): Memanggil model untuk mengambil data lengkap berdasarkan id.
  • $data['user_data']: Menyimpan data user ke dalam array $data agar bisa dikirim ke view.
  • $this->load->view('dashboard_view', $data): Memuat view dashboard_view dan menyertakan data user.

 

Langkah 4: Menampilkan Data di View

 

Terakhir, kita akan membuat view untuk menampilkan data user. Buat file dashboard_view.php di dalam folder application/views.

application/views/dashboard_view.php

PHP

<!DOCTYPE html>
<html>
<head>
    <title>Dashboard</title>
</head>
<body>
    <center>
        <h3>Selamat Datang, <?php echo $user_data['nama']; ?>!</h3>
        <p>Email: <?php echo $user_data['email']; ?></p>
        <p>ID User: <?php echo $user_data['id']; ?></p>

        <a href="<?php echo base_url('logout'); ?>">Logout</a>
    </center>
</body>
</html>
  • <?php echo $user_data['nama']; ?>: Menampilkan nama user yang kita dapatkan dari controller.
  • $user_data: Nama variabel ini sesuai dengan kunci array yang kita kirimkan dari controller. Kita bisa mengakses setiap kolom data user dengan kunci array-nya, seperti ['nama'], ['email'], dll.

 

Kesimpulan

 

Proses mendapatkan data user di CodeIgniter melibatkan alur yang terstruktur:

  1. Simpan Identitas: Setelah login, simpan identitas unik user (misalnya id) ke dalam session.
  2. Ambil Identitas: Di controller, ambil id user dari session.
  3. Tarik Data: Panggil model untuk mengambil data lengkap dari database berdasarkan id tersebut.
  4. Tampilkan: Kirim data lengkap ke view untuk ditampilkan.

Dengan memisahkan logika ini ke dalam MVC, aplikasi Anda menjadi lebih terorganisir, aman, dan mudah untuk dikembangkan.

Wawasan Terbaru

Gemini_Generated_Image_wfw5uwwfw5uwwfw5
Mengenal Dunia Grafis: Dari Piksel Hingga Vektor, Kekuatan Visual di Era Digital
Gemini_Generated_Image_b6dimfb6dimfb6di
Mengenal Foundation: Kerangka Kerja Front-End Profesional untuk Web Responsif
Gemini_Generated_Image_sx3ztpsx3ztpsx3z
CSS
Mempercantik Website dengan CSS: Seniman di Balik Tampilan Web 🎨
Gemini_Generated_Image_e013qke013qke013
Mengenal HTML: Fondasi dari Setiap Halaman Website 🌐
Gemini_Generated_Image_ldki4nldki4nldki
Menyelami Dunia Coding: Seni Berbicara dengan Komputer
Gemini_Generated_Image_dpvliydpvliydpvl
Menguasai GIT: Fondasi Penting dalam Dunia Pengembangan Perangkat Lunak
Gemini_Generated_Image_sqcib9sqcib9sqci
Tutorial Python #12: Mengenal Jenis-jenis Operator dalam Python
Gemini_Generated_Image_o1bw3do1bw3do1bw
Memahami Tipe Data Dictionary dalam Python
Gemini_Generated_Image_ko4ixfko4ixfko4i
Mengenal Tipe Data Set dalam Python
Gemini_Generated_Image_1xop7m1xop7m1xop
Tuple dalam Python: Pengenalan dan Tutorial

Wawasan Serupa

Gemini_Generated_Image_4mxd334mxd334mxd
ef5c8286-b6c4-4e25-b155-697374d570dc
Gemini_Generated_Image_m1hsycm1hsycm1hs
Gemini_Generated_Image_jxblqjxblqjxblqj

Ceritakan Detail Proyekmu

Mulai dari 30K aja, solusi IT kamu langsung jalan tanpa drama.

Kata Mereka Tentang Solusi Coding

Dipercaya oleh lebih dari 200++ client untuk menyelesaikan proyeknya dengan total 250++ proyek dari berbagai jenis proyek