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']
的控制器上发生变化
我认为视图上的问题,所以我如何在多个选择上显示数组?感谢
答案 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);
}
谢谢