Diskon 50% terbatas! Masukkan kupon "programmer2025" di kelas apa saja

Menampilkan data user login seperti nama lengkap dihalaman beranda setelah log in

Bagaimana coding Menampilkan data user login seperti nama lengkap bukan username? kalo pke session cuma muncur username aja, mohon pencerahan nya gan. Model

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

  class M_account extends CI_Model{

       function daftar($data){
            $this->db->insert('users',$data);
       }
	   function tampil_data($data){
            return $this->db->get('users',$data);

       }
  }

controller

<?php

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

class Template extends CI_Controller {

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

    public function index() {
        $data['user'] = $this->m_account->tampil_data()->result();
		$this->load->view('template/header',$data);
		}
    }
}
avatar MifanM
@MifanM

9 Kontribusi 1 Poin

Diperbarui 9 tahun yang lalu

18 Jawaban:

Jawaban Terpilih

jika memang yang disimpan session user_id / username, bisa get data lagi ke model dengan where user_id / username dari session


//controller
public function index() {
     $data['user'] = $this->m_account->tampil_data($this->session->userdata('user_id'));
     $this->load->view('template/header',$data);
}

//model
function tampil_data($user_id){
     $this->db->where('user_id',$user_id);
     $query = $this->db->get('users');
     $query->row();
}

atau saat login, set session

function do_login($username, $password){
  $this->db->where('username', $username);
  $this->db->where('password', md5($password));
  $query = $this->db->get('users');

  if($query->num_rows() > 0){
    $row = $query->row();
    $data = array(
        'user_id' 		=> $row->id,
        'user_avatar' 	=> $row->avatar,
        'user_name' 	=> $row->username,
        'full_name' 	=> $row->fullname,
        'logged_in'  	=> TRUE,
        );
    $this->session->set_userdata($data);
    return true;
  }else{
    return false;
  }
}

avatar gunalirezqimauludi
@gunalirezqimauludi

350 Kontribusi 243 Poin

Dipost 9 tahun yang lalu

kalo untuk coding view gmna gan?

avatar MifanM
@MifanM

9 Kontribusi 1 Poin

Dipost 9 tahun yang lalu

di view bisa langsung :

<?php echo $this->session->userdata('nama_lengkap'); ?>

avatar gunalirezqimauludi
@gunalirezqimauludi

350 Kontribusi 243 Poin

Dipost 9 tahun yang lalu

terimakasih atas jawaban nya gan sangat membantu :)

avatar MifanM
@MifanM

9 Kontribusi 1 Poin

Dipost 9 tahun yang lalu

sip :)

avatar gunalirezqimauludi
@gunalirezqimauludi

350 Kontribusi 243 Poin

Dipost 9 tahun yang lalu

public function login($username, $password) {

         //cek username dan password
         $query = $this->CI->db->get_where('users',array('username'=>$username,'password' => md5($password)));

         if($query->num_rows() == 1) {
             //ambil data user berdasar username
             $row  = $this->CI->db->query('SELECT id_user FROM users where username = "'.$username.'"');
             $admin     = $row->row();
             $id   = $admin->id_user;


             //set session user
             $this->CI->session->set_userdata('username', $username);
             $this->CI->session->set_userdata('id_login', uniqid(rand()));
             $this->CI->session->set_userdata('id', $id);
			 $this->CI->session->set_userdata('nama', $name);

             //redirect ke halaman dashboard
             redirect(site_url('dashboard'));
         }else{

             //jika tidak ada, set notifikasi dalam flashdata.
             $this->CI->session->set_flashdata('sukses','Username atau password anda salah, silakan coba lagi.. ');

             //redirect ke halaman login
             redirect(site_url('login'));
         }
          return false;
      }

sebelumnya saya udh set session gini? tp tetap ga muncul untuk nama nya pada view?

avatar MifanM
@MifanM

9 Kontribusi 1 Poin

Dipost 9 tahun yang lalu

$this->CI->session->set_userdata('nama', $name);

variable name itu di inisiasi / isi nya apa?

avatar gunalirezqimauludi
@gunalirezqimauludi

350 Kontribusi 243 Poin

Dipost 9 tahun yang lalu

isinya nama lengkap setelah kita register gan, seharusnya gmna gan? saya masih newbie gan

avatar MifanM
@MifanM

9 Kontribusi 1 Poin

Dipost 9 tahun yang lalu

1. saya belum nyoba berjalan baik atau engga penggunaan ' $this->CI-> ' klo menurut saya coba hanya ' $this-> ', kecuali

$CI =& get_instance();

//contoh
$CI->session
$CI->db

2. pada query yg di select hanya id_user

//ambil data user berdasar username
$row  = $this->CI->db->query('SELECT id_user FROM users where username = "'.$username.'"');
$admin     = $row->row();
$id   = $admin->id_user;

jadi hasil yg akan di tampilkan dari row(); hanya id_user, coba select all, dengan 'SELECT *' atau 'SELECT id_user, nama'.. coba

//ambil data user berdasar username
$query  = $this->db->query('SELECT * FROM users where username = "'.$username.'"');
$row     = $query->row();

dan

.....
$this->session->set_userdata('id', $row->id_user);
$this->session->set_userdata('nama', $row->nama);
.....

avatar gunalirezqimauludi
@gunalirezqimauludi

350 Kontribusi 243 Poin

Dipost 9 tahun yang lalu

pada $this->session->set_userdata('nama', $nama); sebelumnya, memang tidak akan menyimpan session nama, karna saya liat $nama itu undefinied, karna tidak di deklarasikan sebelmnya misal

$nama = 'budi'; $this->session->set_userdata('nama', $nama);

maka session akan menyimpan 'nama' dengan value 'budi',

avatar gunalirezqimauludi
@gunalirezqimauludi

350 Kontribusi 243 Poin

Dipost 9 tahun yang lalu

iya gan sudah pakai itu

var $CI = NULL;

     public function __construct() {
         $this->CI =& get_instance();
     }
avatar MifanM
@MifanM

9 Kontribusi 1 Poin

Dipost 9 tahun yang lalu

masih error?

avatar gunalirezqimauludi
@gunalirezqimauludi

350 Kontribusi 243 Poin

Dipost 9 tahun yang lalu

var $CI nya dihapus atau engga gan?

avatar MifanM
@MifanM

9 Kontribusi 1 Poin

Dipost 9 tahun yang lalu

di controller / model, menurut saya gausah pake juga gapapa langsung aja $this-> , tpi gamasalah sih sebenrnya, di coba coba aja :) karna yg jadi masalah nya cuma di query get nya aja ..

avatar gunalirezqimauludi
@gunalirezqimauludi

350 Kontribusi 243 Poin

Dipost 9 tahun yang lalu

kalo di controller /model emang ga pakai bang, untuk username bisa aja, solusi nya gmna ya gan?

avatar MifanM
@MifanM

9 Kontribusi 1 Poin

Dipost 9 tahun yang lalu

solusi untuk yang mana?

avatar gunalirezqimauludi
@gunalirezqimauludi

350 Kontribusi 243 Poin

Dipost 9 tahun yang lalu

solusi di query getnya bang, itu dia ga bisa manggil nama kan?

avatar MifanM
@MifanM

9 Kontribusi 1 Poin

Dipost 9 tahun yang lalu

script yang post sebelumnya udah di coba belum? apakah masih ada masalah? yang..

.....
//ambil data user berdasar username
$query  = $this->db->query('SELECT * FROM users where username = "'.$username.'"');
$row     = $query->row();
.....
.....
$this->session->set_userdata('id', $row->id_user);
$this->session->set_userdata('nama', $row->nama);
.....

avatar gunalirezqimauludi
@gunalirezqimauludi

350 Kontribusi 243 Poin

Dipost 9 tahun yang lalu

Login untuk ikut Jawaban