2017-02-09 6 views
1

Codeigniter smartyのjquery ajax postメソッドを使用して、コントローラセッションにテキストエリアを保存します。セッションにデータを保存できません。これどうやってするの?完全な説明コーディング例で私を案内してください。ここでjquery ajax postメソッド[Codeigniter]を使用して、textareaデータをセッションに保存する方法は?

の$ this - >セッション - > 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();?>'。 –

関連する問題