Code Igniter无法插入多个cookie

时间:2014-09-12 06:33:12

标签: php codeigniter cookies setcookie

我目前正在使用Code igniter,并且在同时插入2个Cookie时遇到问题。 这是我的代码:

    $cookie = array(
        'name'   => '__ncookie',
        'value'  => json_encode(array("fr" => 0,    "dc"=> 0,"cor"=> 0 )),
        'expire' => '86500',
        'secure' => false
    );
    $this->input->set_cookie($cookie);
    $chat = array(
        'name'  => '__nsgs',
        'value' => json_encode($this->mchat->get_unread()),
        'expire' => '86500',
        'secure' => false
    );
    $this->input->set_cookie($chat);// when var_dump = NULL

WarningCannot modify header information - headers already sent by (output started at C:\xampp\htdocs\onyx_agent\application\controllers\clogin.php:59)core/Input.php286

我做错了吗?

1 个答案:

答案 0 :(得分:1)

我打算把它写成评论,但它太长了。

如果需要将信息传递到其他网站,Cookie是至关重要的,例如跟踪他们访问的用户或他们来自哪里(例如跟踪用户从哪个广告系列到您的网站)。

另一方面,会话由您自己的服务器在内部使用。这意味着网站A上的会话通常不能在网站B上使用,如果您要保存cookie /会话以便在您自己的网站中使用并且您有很多信息要存储,您可以使用数据库表来存储会话,只需给客户端一个sessionID。

所以我进入你的网站,你给我的用户分配了一个42的cookie /会话ID(此时它的会话或cookie无关紧要),当我用浏览器发送http请求时网站,我通过你的cookie /会话,你可以使用该ID运行SQL查询,并为我的用户获取所有多汁的数据。

但是,如果您需要所有这些数据供其他网站使用,您需要考虑不同的解决方案