首页  >  问答  >  正文

Codeigniter:$this->session->userdata('user_id') 无法正常工作的问题

所以我正在尝试使用codeigniter 3进行学习,并且我正在尝试从用户表中获取id,用户表上的id列的名称是user_id,我有另一个名为lowongan的表,它有id_user从用户表中获取 id(user_id)。因此,当我尝试输入并提交要保存到数据库中的输入时,id_user 为空,但我已经这样设置了

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

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

但它仍然为空,我该如何解决这个问题?

型号:

<?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);
    }
}

控制器:

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 天前311

全部回复(1)我来回复

  • P粉803527801

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

    您已经创建会话了吗?如果没有,您可以这样创建:

    $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);

    之后您可以轻松地调用会话,如下所示:

    $this->session->name

    回复
    0
  • 取消回复