【问题标题】:How to set cookie in Magento如何在 Magento 中设置 cookie
【发布时间】:2015-07-01 07:31:29
【问题描述】:

我正在尝试为在 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
}
?>

哪里做错了?

【问题讨论】:

    标签: magento


    【解决方案1】:
    require_once 'Mage.php';
    Mage::app();
    $cookie = Mage::getSingleton('core/cookie');
    $cookie->set('cookiename', 'cookievalue' ,time()+86400,'/');
    

    这就是答案

    【讨论】:

    • 期间不应包含当前时间。应该是$cookie-&gt;set('cookiename', 'cookievalue' , 86400, '/');
    【解决方案2】:

    解决办法如下:

    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-10-16
      • 1970-01-01
      • 2017-10-14
      • 2018-11-18
      • 2012-08-01
      • 2021-05-19
      • 2018-06-14
      • 2015-09-08
      • 2020-01-05
      相关资源
      最近更新 更多