当我通过ajax jQuery将一些值传递给function ResponseOnline($qid,$response)
时,我无法同时存储新的会话值和旧会话值。
这是我的问题
1 即可。在会话中登录一些值存储
2 即可。然后我通过ajax jquery传递一些值来运行,然后将它存储在数组中,然后存储在会话中。
第3 即可。当我通过ajax jquery获得会话值时,我把事情做对了,
4 即可。但是当我传递第二个值然后我丢失了我的会话值 已存储在上一个传递中。
这是我的函数调用:
public function ResponseOnline($qid,$response)
{
$d=$qid;
$s=$response;
if($this->session->userdata('countnew')==0) // algo for this function i check the
//countnew session varaible if 0 do this
{
$sc=$this->session->userdata('countnew'); // store the countnew variable
echo $sc=$sc+1; // increment the counter variable
$this->session->set_userdata('countnew',$sc); // store it in session
echo $this->session->userdata('countnew');
$r2[$d]=$s; // store array value $r2 with key $d and
$this->session->set_userdata('res',$r2); //set this array value in session
}
else{ // if session countnew!=0 then do this
$r2=$this->session->userdata('res'); // first store $r2 as array return from session
$r2[$d]=$s; //then add value to this array
$this->session->set_userdata('res',$r2); // storing this array to session
}
echo '<pre>';
print_r($r2); // printing the array
}
答案 0 :(得分:0)
public function ResponseOnline($qid,$response)
{
if($this->session->userdata('res'))
{
$result = $this->session->userdata('res');
$result[$qid] = $response;
$this->session->set_userdata($result);
}
else
{
$result = array();
$result[$qid] = $response;
$this->session->set_userdata($result);
}
}