2016-10-19 210 views
0

haii,我嘗試尋找保存數據到會話CodeIgniter 3,所以如果我張貼表單,但驗證表單表示表單不完整,用戶的值不會被刪除如何保存數據到會話CodeIgniter

控制器:

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

上面的代碼工作正確地將,如果我發佈一個數據,我從文本或文本域的意思,但不選擇如果條件爲多,我知道是因爲數據是數組。

這裏的問題開始:

<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個選擇數據,事件我是改變與陣列$this->input->post['phonebook'] 控制器我想上考慮問題,所以我如何顯示在多重選擇陣列?由於

+0

'$這個 - >輸入 - >發佈[ '通訊錄'],$這個 - >輸入 - > post('message')'檢查你可以在這裏找到的任何改變 –

+0

什麼意思?你的意思是typo []和(),我做了[],因爲數據是數組,對於多重選擇,沒有什麼變化,即使我修改爲(),我之前嘗試詢問 – Kurro

回答

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

謝謝

相關問題