codeigniter session issue - some session info not sticking -


i'm using codeigniter session library hold data used in series of 3 pages , i'm experiencing strange behavior. session variables remain in tact values disapear. stranger: i'm trying store serialized array in session data , first item of array ends being stored in different variable?

i've attached link starts @ first page in series possible click next page. i've printed user_session data @ top of both pages (the third page isn't set yet).

http://playmatics.com/nypl/site/index.php/member_area/quest/accept_quest/12

sessions work everywhere else, example i'm using session store login data , works fine.

i've attached controller , view below

    //controller:     function accept_quest() {         $assoc_quest_id = end($this->uri->segments);          if(!isset($quest_id)) {             redirect('member_area/quest');             //send message: no quest started         }          $quest_rows = $this->quest_model->get_quest_with_images($assoc_quest_id);         $quest = current($quest_rows);         $images = $this->pull_out_images($quest_rows);          //the data array used both in session,          //to pass values on next function in quest chain         //and in template         $data = array();         $data['quest_id'] = $assoc_quest_id;         $data['instruction_text'] = $quest->instructions;         $data['quest_title'] = $quest->name;         $data['quest_time_limit'] = $quest->time_limit;         $data['points_awarded'] =  $quest->points_availible;         $data['quest_images'] = serialize($images);         //save data in flash session used in next function call in quest chain: quest_action        $this->session->set_userdata($data);        print_r($this->session->all_userdata());          //the following data aren't needed in session added data array after session has been set        $data['annotation_text'] = $quest->note;                $data['main_content'] = 'quests/quest_desc';        $this->load->view('includes/template', $data); }   function quest_action() {     print_r($this->session->all_userdata());      $quest_id = $this->session->userdata('quest_id');     echo "the quest id is: $quest_id";     if(!isset($quest_id)) {         redirect('member_area/quest');         //send message: no quest started     }      $data['quest_id'] = $quest_id;     $data['quest_title'] = $this->session->userdata('quest_title');     $data['quest_images'] = $this->session->userdata('images');     $data['instruction_text'] = $this->session->userdata('instructions');     $data['quest_time_limit'] = $this->session->userdata('quest_time_limit');      $data['main_content'] = 'quests/quest_action';     $this->load->view('includes/template', $data);                 }  //view    //quest_desc: <h1><?= $quest_title ?></h1>     <div id="quest_elements">         <figure>         <? foreach(unserialize($quest_images) $image): ?>             <img class="media" src="<?= $image ?>" alt="<?= $quest_title ?> image"/>         <? endforeach; ?>             <figcaption>annotation: <?= $annotation_text ?></figcaption>         </figure>         <?= anchor("member_area/quest/quest_action", "start quest", array('title' => 'start quest')); ?>     </div><!-- end quest_elements -->       //quest_action: <h1><?= $quest_title ?></h1>     <div id="quest_elements">         <figure>         <? foreach(unserialize($quest_images) $image): ?>             <img class="media" src="<?= $image ?>" alt="<?= $quest_title ?> image"/>         <? endforeach; ?>             <figcaption>instructions: <?= $instruction_text ?></figcaption>         </figure>     <div id="timer">         <?= $quest_time_limit; ?>     </div>     <?= anchor("#start_timer", "start timer", array('title' => 'start quest timer')); ?> </div> 

if hitting cookie size limit, suggest switching codeigniter's native database sessions class. enables store session information in database, removing cookie size limitation, restricted size of user_data field in ci_sessions database.

following link above, section on utilizing database sessions near bottom, providing proper db schema , config switch database sessions.


Comments

Popular posts from this blog

java - SNMP4J General Variable Binding Error -

windows - Python Service Installation - "Could not find PythonClass entry" -

Determine if a XmlNode is empty or null in C#? -