使用CodeIgniter获取{URL}段并将其存储在Cookie中

时间:2019-07-10 10:26:24

标签: php codeigniter

对于一种转换跟踪,我想将一部分URL存储到cookie中,并将其用于我的模型函数中。

所以我想到了https//:www.example.com?track=this

我如何使用CodeIgniter获得曲目(=this)的一部分并将其保存到Cookie中?

我想就是这样创建一个cookie,

$this->load->helper('cookie');
                $cookie = array(
                        'name'   => 'track',
                        'value'  => '???',                            
                        'expire' => '300',                                                                                   
                        'secure' => TRUE
                        );
               set_cookie($cookie);  

如何在每个可能的页面上使用CodeIgniter获取URL的一部分并设置Cookie等?因此,我的意思是,无论用户在网站上访问哪个页面,都需要确保在每种情况下都存储此跟踪信息。

稍后再获取cookie,我想我可以使用$cookie= get_cookie('track');

感谢您向我展示使用CodeIgniter的方法。

2 个答案:

答案 0 :(得分:0)

  

主要是需要使用parse_urlurl提取到query string,然后使用parse_str提取query string

首先,您需要从query string那里获得URL

$query = parse_url('https//:www.example.com?track=this&h=1');
echo'<pre>';print_r($query);

输出:

Array
(
    [path] => https//:www.example.com
    [query] => track=this&h=1
)
  

然后您需要提取query

parse_str($query['query'],$array);
echo'<pre>';print_r($array);die;

输出:

Array
(
    [track] => this
    [h] => 1
)

您可以在此处将上述数组信息存储在cookies

答案 1 :(得分:0)

要获取查询字符串的所需部分,有一个内置的Codeigniter函数

Stream<Integer> infiniteStream = Stream.iterate(1, i -> i + 1);

我将其添加了一部分以存储并在我的mainlayout-theme的标题中获取cookie。

所以它将起作用:-)