在CakePHP上设置新的cookie

时间:2011-02-26 00:14:04

标签: cakephp cookies

目前我正在修改现有的CakePhp项目,我想在项目的特定页面中设置一个cookie(它有一个.ctp文件)所以首先我试图将setcookie php代码放在顶部.ctp模板(在doctype标签之前,我在普通的php网站上),但它不起作用,没有设置cookie。

所以我的问题是,当我点击网页的X页面(其模板文件名为list.ctp(例如))时,如何向访问者添加cookie?

非常感谢大家!

3 个答案:

答案 0 :(得分:9)

  1. 在控制器

    中的组件变量上设置Cookie

    var $components = array('Cookie');

  2. 在任何操作中,您都可以使用

    编写cookie

    $this->Cookie->write('anyname', cookieData, $encrypt = false, $expires = null);

  3. 要阅读存储的Cookie,只需调用此代码

    即可

    $this->Cookie->read('anyname');

答案 1 :(得分:1)

您还可以从cakephp的文档中找到更多信息: http://book.cakephp.org/2.0/en/core-libraries/components/cookie.html

答案 2 :(得分:0)

您可以在控制器中为您想要cookie设置的任何视图/页面设置cookie。因此,如果.ctp文件位于users目录中,那么您将在名为.ctp文件的函数中的users_controller.php中设置cookie:users / index.ctp将cookie添加到索引函数中的controllers / users_controller.php