我正在为我的网站设置一个联盟链接区域,并且需要能够将URL查询字符串存储到一个在7天内到期的cookie中。
用户将点击以下链接:http://examplesite.com?afil=randomvalue。
我想拉钥匙' afil'和价值' randomvalue'把它放在一个饼干里。
稍后将在网站的其他区域使用此功能,我无法将其保留在网址中。
我发现了这篇文章:Set a Cookie based on url Parameter
但它似乎没有做我想做的事情或设定过期日期。我不确定是否最好使用php或javascript,但我之前正在计划使用php来提取数据。
更新:
我将此代码添加到我的开发网站:http://inventivewebdesign.com/dev/about?afil=great
<?php
$value=$_GET['afil']; //the value from the url
setcookie("afilCookie", $value, strtotime( '+7 days' )); /* expire in 7 days */
echo "Cookie = " . $value;
?>
正如您所看到的,它确实显示了cookie值(我在header.php文件末尾添加了它,将其放入正文中)。出于某种原因,当我查看它时,它不会将它添加到我的cookie中。
另外,如果没有afil值,这是否需要有条件?
答案 0 :(得分:2)
http://php.net/manual/en/function.setcookie.php
$value=$_GET['afil']; //the value from the url
setcookie("TestCookie", $value, strtotime( '+7 days' )); /* expire in 7 dasy */
关于它在代码流程中的位置,手册说:
setcookie()定义了一个与其余部分一起发送的cookie HTTP标头。与其他标头一样,Cookie必须先发送 脚本输出(这是协议限制)。这个 要求您在输出之前调用此函数, 包括和标签以及任何空格。