まず、次のコードでわかるように、Javascript 関数を使用して Cookie を作成します。
function SetCookie(cookieName,cookieValue,nDays) {
var today = new Date();
var expire = new Date();
if (nDays==null || nDays==0) nDays=1;
expire.setTime(today.getTime() + 3600000*24*nDays);
document.cookie = cookieName+"="+escape(cookieValue)+ ";expires="+expire.toGMTString();
}
SetCookie('MyCookie','MyValue',7);
次に、CakePHP を使用して値を読み取ろうとします。
<?php
$cookie = $this->Cookie->read('MyCookie');
if ( $cookie == '' ){
echo "Cookie not set";
} else {
echo "Value: ".$cookie;
}
?>
結果は、Cookie が設定されていないことを示しています。ただし、通常の Javascript 関数を使用して読み取ると、結果は異なります。
Javascript によって作成された Cookie を CakePHP でも読み取ることができるようにする正しい方法は?