【问题标题】:Retrive some data store in session with codeigniter使用 codeigniter 在会话中检索一些数据存储
【发布时间】:2017-09-13 09:59:26
【问题描述】:

我需要将通过 ajax 请求获得的一些数据存储在一个方法上,然后在我调用另一个方法时检索它们。

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 的新手。

【问题讨论】:

    标签: ajax codeigniter session


    【解决方案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 !!
    }
    

    【讨论】:

    • @SoptareanuAlex 如果可行,请不要接受答案。
    猜你喜欢
    • 2014-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-12
    相关资源
    最近更新 更多