1

I want to save textarea to Controller session using jquery ajax post method in Codeigniter smarty. I can't save data to session. How can I do this? Please guide me with full description coding example please.

$this->session->set_userdata()

Here is my view

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

Here is my 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>

Here is my controller

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);
}
1
  • hey what you are getting in print_r($this->session->userdata('answer1')); can you please post it Commented Feb 9, 2017 at 5:10

1 Answer 1

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>
Sign up to request clarification or add additional context in comments.

1 Comment

In codeigniter no need to start session like this <?php session_start();?>.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.