如何将数据保存到会话CodeIgniter

时间:2016-10-19 20:26:56

标签: php codeigniter-3

haii,我尝试将数据保存到会话CodeIgniter 3,所以如果我发布表单但验证表单表示表单不完整,则表示用户不要删除该值

控制器:

$err = array();
if(!$_POST['message']) {
        $err['msg_err'] = '<strong>Oh snap!</strong> message is empty';
}
//saving temporary data if error
if(count($err)){
        $ses_data = array(
            'phonebook'         => $this->input->post['phonebook'],
            'message'           => $this->input->post('message')
        );
        $this->session->set_tempdata($ses_data);
}

查看:

<textarea name="message" placeholder="Type a message"><?php if (isset($_SESSION['message'])) {echo $_SESSION['message'];} ?></textarea>

上面的代码是正确工作的,如果我发布单个数据,我的意思是从文本或textarea而不是select如果条件是多个,我知道因为数据是数组。

这里问题开始了:

<select name="phonebook" class="form-control select2" multiple="multiple" data-placeholder="Select a contact" style="width: 99.5%;">
<?php
    foreach ($phonebook->result() as $p){
    echo"<option value='$p->Number' ";if (isset($_SESSION['phonebook'])) { if($_SESSION['phonebook']===$p->Number){echo "selected";}} echo">$p->u_full_name</option>"; }
    }
?>
</select>

它只能保存1个选择数据,事件i在数组$this->input->post['phonebook']的控制器上发生变化 我认为视图上的问题,所以我如何在多个选择上显示数组?感谢

1 个答案:

答案 0 :(得分:0)

首先在ci中配置自动加载会话然后尝试此代码

$err = array();
if(!$_POST['message']) {
    $err['msg_err'] = '<strong>Oh snap!</strong> message is empty';
  }
 //saving temporary data if error
 if(count($err)){
    $ses_data = array(
        'phonebook'         => $this->input->post['phonebook'],
        'message'           => $this->input->post('message')
    );
    $this->session->set_userdata($ses_data);
 }

谢谢