Home  >  Q&A  >  body text

Codeigniter: $this->session->userdata('user_id') does not work properly

So I'm trying to learn using codeigniter 3 and I'm trying to get the id from the user table, the name of the id column on the user table is user_id and I have another one called lowongan's table, it has id_user Get the id (user_id) from the user table. So when I try to enter and submit the input to be saved into the database, the id_user is empty, but I have set the

like this
$id_user            = $this->session->userdata('user_id');

$data = array(
'id_user' => $id_user
);

But it's still empty, how can I fix this?

model:

<?php

class M_lowongan extends CI_Model{
    public function show_lowongan(){
        return $this->db->get('lowongan');
    }

    public function input_data($data, $table){
        $this->db->insert($table, $data);
    }
}

Controller:

public function store_lowongan(){
        $id_user            = $this->session->userdata('user_id');
        $title              = $this->input->post('title');
        $lokasi             = $this->input->post('lokasi');
        $level_pekerja      = $this->input->post('level_pekerja');
        $pengalaman_kerja   = $this->input->post('pengalaman_kerja');
        $pendidikan         = $this->input->post('pendidikan');
        $alamat             = $this->input->post('alamat');
        $no_wa              = $this->input->post('no_wa');
        $no_telp            = $this->input->post('no_telp');
        $min_gaji           = $this->input->post('min_gaji');
        $max_gaji           = $this->input->post('max_gaji');
        $job_desc           = $this->input->post('job_desc');

        $data = array(
            'id_user'           => $id_user,
            'title'             => $title,
            'lokasi'            => $lokasi,
            'level_pekerja'     => $level_pekerja,
            'pengalaman_kerja'  => $pengalaman_kerja,
            'pendidikan'        => $pendidikan,
            'alamat'            => $alamat,
            'no_wa'             => $no_wa,
            'no_telp'           => $no_telp,
            'min_gaji'          => $min_gaji,
            'max_gaji'          => $max_gaji,
            'job_desc'          => $job_desc
        );

        $this->m_lowongan->input_data($data, 'lowongan');
        redirect ('dashboard');
    }

P粉738346380P粉738346380177 days ago313

reply all(1)I'll reply

  • P粉803527801

    P粉8035278012024-03-31 10:32:36

    Have you already created a session? If not, you can create it like this:

    $row = $this->Auth_model->get_by_username($this->input->post('username'));
    
    $session = array(
          'id_users'    => $row->id_users,
          'name'        => $row->name,
          'username'    => $row->username,
          'email'       => $row->email,
          'usertype'    => $row->usertype,
          'photo'       => $row->photo,
          'photo_thumb' => $row->photo_thumb,
        );
    
    $this->session->set_userdata($session);

    Afterwards you can easily call the session like this:

    $this->session->name

    reply
    0
  • Cancelreply