将URL参数添加到Cookie

时间:2017-01-05 22:37:15

标签: php cookies

我正在为我的网站设置一个联盟链接区域,并且需要能够将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值,这是否需要有条件?

1 个答案:

答案 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必须先发送   脚本输出(这是协议限制)。这个   要求您在输出之前调用此函数,   包括和标签以及任何空格。