我正在使用Cakephp 1.2(旧网站),我正在尝试实现一个cookie。
我在app_controller中的beforeFilter()操作中有以下Cookie声明:
function beforeFilter()
{
$this->Cookie->name = 'MyCookie';
$this->Cookie->time = '10 Days`s';
//$this->Cookie->domain = '';
$this->Cookie->key = 'securitytoken';
}
我的一个页面(行动)中有以下内容:
$cookie = $this->Cookie->read('T1');
echo $cookie;
echo $this->Cookie->read('T1');
echo 'a';
//set cookie so we can keep track of this
if(empty($cookie))
{
echo 'b';
$this->Cookie->write('T1', 'Y');
}
echo 'c';
echo $this->Cookie->read('T1');
echo 'd';
运行此命令时,输出始终输出:
abcYd
当我第二次运行它时,它也输出abcYd,这不应该发生。第二次T1 cookie变量不应为空。怎么了?
答案 0 :(得分:0)
必须在脚本输出之前发送Cookie。尝试删除“echo”语句,看看会发生什么。
答案 1 :(得分:0)
检查您的网址是否包含任何#
字符,然后先删除它。