如何使用cookies在一个Joomla组件?
setcookie( JUtility::getHash('JLOGIN_REMEMBER'), false, time() - 86400, '/' );
任何人都可以说明这是如何工作?
如何使用cookies在一个Joomla组件?
setcookie( JUtility::getHash('JLOGIN_REMEMBER'), false, time() - 86400, '/' );
任何人都可以说明这是如何工作?
// Get input cookie object
$inputCookie = JFactory::getApplication()->input->cookie;
// Get cookie data
$value = $inputCookie->get($name = 'myCookie', $defaultValue = null);
// Check that cookie exists
$cookieExists = ($value !== null);
// Set cookie data
$inputCookie->set($name = 'myCookie', $value = '123', $expire = 0);
// Remove cookie
$inputCookie->set('myCookie', null, time() - 1);
$expire
值time()
$expire == 0
:cookie的生命期是浏览器会话。 $expire < time()
饼干被删除(过期设置为过去)。 你可以通过设置它的值设置为null删除的cookie,但显然IE没有这样做。 请记住,头被发送之前的cookie应设置(通常是之前输出是呼应)。
Cookie的键和值应正确转义
当序列化设置的数值(如json_encode($dataNode)
记得用适当的过滤器来检索它以后。 默认值是cmd
,过滤掉相当多的东西,但AZ,0-9和裂缝JSON结构。
// Get cookie data
$encodedString = $inputCookie->get('myCookie', null, $filter = 'string');
// Decode
$values = json_decode($encodedString);
// Encode and Set
$inputCookie->set('myCookie', json_encode($values));