11

我正在尝试为在 magento 主页中使用时事通讯 pop 注册的用户设置 cookie

当用户订阅时事通讯时,我在 magento 主页中弹出一个带有时事通讯订阅选项的 cookie,该 cookie 设置为该时事通讯不会在下次访问时显示他

这是如何设置cookie的代码

<?php
$value=$_POST['newslettertext'];
setcookie("EmailCookie", $value);
setcookie("EmailCookie", $value , time()+86400,"/");  
function gotopage($url)
{
    echo "<script language=\"javascript\">";
    echo "window.location = '".$url."'; \n";
    echo "</script>";
}

$url="http://abc.com";
gotopage($url);

?>

上面的代码设置了一个cookie

订阅后,用户重定向到同一页面,我检查是否设置了 cookie,然后执行弹出代码,否则将不弹出

但订阅后仍然显示弹出窗口

我正在使用此代码检查 cookie

<?php 
if(!isset($_COOKIE['EmailCookie'] ) )
{
//popup code goes here
}
?>

哪里做错了?

4

2 回答 2

32
require_once 'Mage.php';
Mage::app();
$cookie = Mage::getSingleton('core/cookie');
$cookie->set('cookiename', 'cookievalue' ,time()+86400,'/');

here is the answer

于 2012-05-29T06:44:08.673 回答
7

这是解决方案:

Mage::getModel('core/cookie')->set($name, $value, $period, $path, $domain, $secure,$httponly);

有 7 个参数,其中 name 和 value 是必需的;其他参数是可选的,可以设置为空。让我们一一来看。

$name= Cookie name

$value= Cookie Value

$period= Cookie expire date (by default the period is set as 3600 seconds)

$path= Cookies path

$domain= Cookies domain

$secure= Cookies Security

$httponly= Http only when yes
于 2015-02-04T05:59:53.913 回答