Сеансы автоматически сбрасываются после перенаправления на другую функцию в codeigniter3.0 - PullRequest
0 голосов
/ 27 декабря 2018

Мой код для первой функции - это тот, который я использовал «currenttsite» в качестве моей переменной сеанса, и я хочу эту переменную сеанса в моей функции корзины.

    public function productDetail()
{   
    $data['siteID']=$this->session->userdata('siteID');
    $productID=$this->input->get('product_id');
    $stock=$this->siteCRUD->stockDetails($productID);
    $siteID=$stock[0]->site_id;
    if($this->session->userdata('siteID')=='')
    {

        $this->session->set_userdata('siteID',$siteID);
    }
    $site=$this->siteCRUD->GetSitebyID($siteID);
    $this->session->set_userdata('currentsite',$site);
    $data['products']=$this->siteCRUD->getSiteProducts($siteID);
    // $this->add_count($siteID);
    $product=$this->metaCRUD->getProductByCatagory($site[0]->catagory_id);
    $data['siteID']=$this->input->get('id');
    $data['product']=$product;
    $data['productDetail']=$stock;
    $data['productMeta']=$this->siteCRUD->getProductMeta($product[0]->product_id);
    $data['stockMetaDetail']=$this->siteCRUD->productMetaDetails($productID);
    $site=$this->session->userdata('currentsite');
    $data['site']=$site[0];

    $data['page_name']='product-details';
    $this->load->view($site[0]->theme_link.'/index',$data);

}

Моя другая функция - эта, когдая vardump (this-> session-> currenttsite), я получаю пустую переменную сессии в этой функции.

    public function cart()
{
    if($this->session->userdata('user_id')=='')
    {
        redirect(base_url());
    }
    $site=$this->siteCRUD->GetSitebyID($this->session->userdata('siteID'));
    $this->session->set_userdata('currentsite',$site);
    $data['siteID']=$this->session->userdata('siteID');
    $site=$this->session->userdata('currentsite');
    $cartItems=$this->siteCRUD->cartItems();
    $data['items']=$cartItems;

    $data['site']=$site[0];
    $data['page_name']='cart';
    $this->load->view($site[0]->theme_link.'/index',$data);

}

1 Ответ

0 голосов
/ 28 декабря 2018

Я думаю, вы должны написать $this->session->userdata('currentsite') вместо this->session->currentsite при выводе данных.

Но, если вы правильно об этом.Попробуйте проверить конфигурацию истечения времени сеанса на application\config\config.php и найдите $config['sess_expiration'].

...