2016-10-19 13 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> 

私は、単一のデータを投稿する場合、条件が複数ある場合は、上記のコードは、私が選択してcorrecly作業のテキストまたはテキストエリアから意味ではなく、データが配列なので、私は知っている。

ここ

問題が始まる:

<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'] とコントローラ上の変化であった私は、複数の選択に配列を示したので、どのように、ビュー上の問題はないでしょうか?おかげで、CI内の設定で

+0

'の$ this - >入力 - >ポスト[ '電話帳']、の$ this - >入力 - > post( 'message') 'ここにある変更を確認してください –

+0

どういう意味ですか?あなたは、データが配列なので、複数の選択のために、私は[]に変更しても何の変更も()、私は試してみた – Kurro

答えて

0

まず自動ロード・セッションは、このコードを試してみてください

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

サンキュー

関連する問題