2017-09-13 40 views
0

我需要存储一些数据,我通过ajax请求获取方法,然后在我调用另一个方法时回顾它们。回复一些数据存储与codeigniter会话

public function updateInt() 
{ $this->load->library('session'); 
    $interval = $this->input->post('_interval'); 
    $aInt = array('my_interval' => $interval); 
    $this->session->set_userdata('post', $aInt); 
    $_interval_ = $this->session->userdata['post']['my_interval']; 
    return $_interval_; 
} 



public function getInt() 
    { 
     $interval = $this->updateInt(); 
     // print $interval and do some stuff !! 
    } 

//这返回空,但我需要由用户前端设置,并与一个AJAX调用updateInt()方法传递的值。 我需要一些帮助,因为我是codeignter的新手。

回答

1

确保您已设置您的config.php您的会话不离开会话保存路径空

$config['sess_driver'] = 'files'; 
$config['sess_cookie_name'] = 'ci_session'; 
$config['sess_expiration'] = 7200; 
$config['sess_save_path'] = APPPATH . 'cache/session/'; 
$config['sess_match_ip'] = FALSE; 
$config['sess_time_to_update'] = 300; 
$config['sess_regenerate_destroy'] = FALSE; 

确保会议文件夹的权限0700

确保您获得正确的发布数据后,你的后

public function updateInt() 
{ 
    // You can autoload it in config/autoload.php saves loading every page 
    $this->load->library('session'); 

    $aInt = array('my_interval' => $this->input->post('_interval')); 

    $this->session->set_userdata('post', $aInt); 

    // Use `(` and `)` not `[]` 
    $interval = $this->session->userdata('post'); 

    return $interval; 
} 



public function getInt() 
{ 
    $interval = $this->updateInt(); 

    // Test 
    echo $interval['my_interval']; 

    // print $interval and do some stuff !! 
} 
+0

它工作得很好。 –

+0

@SoptareanuAlex如果作品不要接受答案。 – user4419336