Codeigniter Session-> userdata(curs)为null

I create the session curs inside the controller function step2. The form action of the view go to this function but the session is null.

Controller step2:

public function step2($id=null){
    $this->load->library('session');
    $this->load->model('model_cursos');

    if(!$this->input->post()){

        if($id == null){
            redirect("Cursos/administrar");
        }

        $this->session->set_userdata('curs',$id);

        var_dump($this->session->userdata('curs'));// is not null

    }else{
        var_dump($this->session->all_userdata()); // is null
        exit;


        /*$titol = $_POST['titol'];
        $data = $_POST['data'];
        $horesT = $_POST['horesT'];
        $horesD = $_POST['horesD']; */

        //var_dump($titol,$data,$horesD,$horesT);

        //$this->model_cursos->afegirDades($id,$titol,$data,$horesT,$horesD);
        //$this->model_cursos->crearSessions($id,$data,$horesT,$horesD);
    }
    $this->load->view('step2');

}

View step2:

    <form id="step2" method="post" action="<?php echo site_url('Cursos/step2'); ?>">

        <label>Titol</label><br>
        <input type="text" name="titol" id="titol"><br><br>
        <label>Data inici</label><br>
        <input type="date" name="data" id="data"><br><br>
        <label>Hores totals</label><br>
        <input type="number" name="horesT" id="horesT"><br><br>
        <label>Hores diaries</label><br>
        <input type="number" name="horesD" id="horesD"><br><br>

        <input type='submit' name='next' value='Afegir dades'/>
    </form>
</div>

On this line :

var_dump($this->session->all_userdata());

It's normal that your session is empty because you never insert data on it when you passed directly in the 'else' condition.

If you put this line like this in the 'if' condition :

var_dump($this->session->all_userdata());
var_dump($this->session->userdata('curs'));

Do you see something for the userdate('curs') ?