2017-02-09 109 views
1

我想使用codeigniter smarty中的jquery ajax post方法將textarea保存到Controller會話中。我無法將數據保存到會話中。我怎樣才能做到這一點?請引導我以完整的描述編碼的例子。如何將textarea數據保存到使用jquery ajax post方法的會話[Codeigniter]?

$這 - >會話級> set_userdata()

這是我的視圖

<div class="col-md-9" id="label"> 
    <form method="post" id="programmingQ1" name="programmingQ1" action="{base_url('home/question2')}" enctype="multipart/form-data"> 
     <div class="form_block"> 
     {foreach $question_data as $qdata} 
      <p class="question"> 
       {$qdata->Question|nl2br} 
      </p> 
     {/foreach} 

      <label for="text">Fill in the answer :</label> 
      <br> 
      <textarea name="answer1" id="text" maxlength="2000" class="form-control" rows="20">{if isset($value)}{$value['answer1']}{/if}</textarea> 
      <input type="button" id="mybutton" name="next" class="btn btn-default nextbutton" id="btn_submit" value="Next"> 
     </div> 
    </form> 
</div> 

這是我的AJAX

<script type="text/javascript"> 
$('input#mybutton').click(function() { 
var text = $('textarea#text').val(); 

alert(text); 


$.ajax({ 
    url : "saveq1", 
    type: "POST", 
    data : text, 
    success: function(data) 
    { 
     alert(data); 
    }, 

}); 

}); 
</script> 

這是我的控制器

public function saveq1() 
{ 
    $data=array(); 

    if($_SERVER['REQUEST_METHOD']=='POST') 
    { 
     $this->load->library('session'); 
     $this->session->set_userdata('answer1',$this->input->post()); 
     print_r($this->session->userdata('answer1')); 
    } 
    $data['value']=$this->session->userdata('question1'); 
    $this->smarty->view('question1.tpl',$data); 
} 
+0

嘿你在print_r中獲得了什麼($ this-> session-> userdata('answer1'));你可以請張貼它 –

回答

0
<?php session_start();?> 

<div class="col-md-9" id="label"> 
    <form method="post" id="programmingQ1" name="programmingQ1" action="{base_url('home/question2')}" enctype="multipart/form-data"> 
     <div class="form_block"> 
     {foreach $question_data as $qdata} 
      <p class="question"> 
       {$qdata->Question|nl2br} 
      </p> 
     {/foreach} 

      <label for="text">Fill in the answer :</label> 
      <br> 
      <textarea name="answer1" id="text" maxlength="2000" class="form-control" rows="20">{if isset($value)}{$value['answer1']}{/if}</textarea> 
      <input type="button" id="mybutton" onclick="setTxtAreaDataToSession();" name="next" class="btn btn-default nextbutton" id="btn_submit" value="Next"> 
     </div> 
    </form> 
</div> 



<script type="text/javascript"> 
    function setTxtAreaDataToSession(){ 
     var text = $('#text').val(); 

     '<?php $this->session->set_userdata(?>'+text+'<?php)?>'; // setting in session.  

    } 
</script> 
+0

在codeigniter中不需要像這樣開始會話'<?php session_start();?>'。 –

相關問題