【问题标题】:Add URL Parameter to Cookie将 URL 参数添加到 Cookie
【发布时间】:2017-01-05 22:37:14
【问题描述】:

我正在为我的网站设置附属链接区域,并且需要能够将 URL 查询字符串存储到 7 天后过期的 cookie 中。

用户将点击如下链接:http://examplesite.com?afil=randomvalue

我想提取键 'afil' 和值 'randomvalue' 并将其放入 cookie 中。

这将在以后在网站的另一个区域使用,我无法将其保留在 URL 中。

我发现了这个帖子: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 值,这是否需要设置条件?

【问题讨论】:

    标签: php cookies


    【解决方案1】:

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

    【讨论】:

    • 这种工作,但它看起来不像它实际上设置了一个cookie。它确实从 url 中提取值。检查我上面的更新。
    • @MattM 我没有看到更新。我不喜欢它如何“工作”它可以或不可以。如果不是,您需要展示您如何设置 cookie,以及如何检查它
    • @MattM 您在该页面上的任何输出之前都有上述代码吗?
    • 就是这样。我将它添加到 区域,它工作了谢谢!
    猜你喜欢
    • 2015-04-24
    • 2015-06-20
    • 1970-01-01
    • 2014-07-17
    • 1970-01-01
    • 2019-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多