1

我需要在我的文档中间制作一些 cookie,但我听说在输出任何内容后您无法使用 PHP 制作 cookie。所以我决定将变量输出到 javascript 来设置 cookie。setCookie 函数包含在前面的代码中。问题是没有设置cookies。如果我为 click_id 或 SID 传递数值,则会设置 cookie,但如果我传递字母,则不会设置 cookie。

function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}

<?php echo '<script>setCookie("click_id",'.$_GET["click_id"].',30);setCookie("SID",'.$_GET["SID"].',30);</script>'; ?>

提前致谢

4

1 回答 1

2

您是否尝试过将它们作为字符串传递?我的意思是双引号的值。目前你没有引用,所以它会尝试评估为 int。

<?php echo '<script>setCookie("click_id","'.$_GET["click_id"].'",30);setCookie("SID","'.$_GET["SID"].'",30);</script>'; ?>

另一种更容易阅读的方法是:

<script>
    setCookie("click_id","<?php echo $_GET["click_id"]; ?>",30);
    setCookie("SID","<?php echo $_GET["SID"]; ?>",30);
</script>
于 2012-10-27T00:42:08.997 回答