【问题标题】:Set an array in cookie in codeigniter site在 codeigniter 站点的 cookie 中设置一个数组
【发布时间】:2016-03-04 15:16:27
【问题描述】:

我正在开发一个 codeigniter 网站。这是我的控制器功能:

public function hoteldetails($id)
{
    $this->load->helper('cookie');
    $hotel_details_view = array();


    $hotel_details_view = get_cookie('hotel_details_view');
    array_push($hotel_details_view, $id);

    $this->input->set_cookie($hotel_details_view);
    print_r($hotel_details_view);
    $this->load->view('hotel_details',$data);

}

现在我想在函数调用的时候在cookie中设置多个$id

我得到错误:

遇到了 PHP 错误

严重性:警告

消息:array_push() 期望参数 1 是数组,给定布尔值

文件名:controllers/hotel.php

行号:191

我需要帮助:)

【问题讨论】:

    标签: php codeigniter cookies


    【解决方案1】:

    更新:试试这个:

    public function hoteldetails($id)
    {
        $this->load->helper('cookie');
    
        $hotel_details_view = array();
        $cookieValue = get_cookie('hotel_details_view');     
        $hotel_details_view[] = $cookieValue;
        $hotel_details_view[] = $id;
    
        $this->input->set_cookie($hotel_details_view);
        print_r($hotel_details_view);
        $this->load->view('hotel_details',$data);
    }
    

    $hotel_details_view 数组被您从get_cookie() 获得的$hotel_details_view 字符串值覆盖。

    【讨论】:

      【解决方案2】:
      <?php 
      public function hoteldetails($id)
      {
          $this->load->helper('cookie');
          $hotel_details_view = array();  
          $hotel_details_view = get_cookie('hotel_details_view');
          $hotel_details_view[] = $id;
          $this->input->set_cookie($hotel_details_view);
          print_r($hotel_details_view);
          $this->load->view('hotel_details',$data);
      
      }
      ?>
      

      【讨论】:

      • 数组中只添加一个id。
      • 在推入数组之前打印你的 cookie print_r($hotel_details_view);
      猜你喜欢
      • 1970-01-01
      • 2019-04-04
      • 2012-02-19
      • 2020-12-18
      • 1970-01-01
      • 1970-01-01
      • 2020-02-07
      • 1970-01-01
      相关资源
      最近更新 更多