Maison  >  Questions et réponses  >  le corps du texte

Codeigniter : $this->session->userdata('user_id') ne fonctionne pas correctement

J'essaie donc d'apprendre à utiliser codeigniter 3 et j'essaie d'obtenir l'identifiant de la table utilisateur, le nom de la colonne id sur la table utilisateur est user_id,我有另一个名为lowongan的表,它有id_user从用户表中获取 id(user_id)。因此,当我尝试输入并提交要保存到数据库中的输入时,id_user vide mais je l'ai défini comme ça

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

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

Mais il est toujours vide, comment puis-je résoudre ce problème ?

Modèle :

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

Contrôleur :

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粉738346380226 Il y a quelques jours387

répondre à tous(1)je répondrai

  • P粉803527801

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

    Avez-vous déjà créé une session ? Sinon, vous pouvez le créer comme ceci :

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

    Ensuite, vous pouvez facilement appeler la session comme ceci :

    $this->session->name

    répondre
    0
  • Annulerrépondre