【问题标题】:php cookie with % in valuephp cookie 与 % 的价值
【发布时间】:2018-11-21 23:47:53
【问题描述】:

作为 php noob,我遇到了 php setcookie 的问题。我尝试使用 php 获取值为“bid_1%257C1544538505%257Ced2d154bb51e2a989fb30fe4250ce602”的 cookie。 这是我到目前为止尝试过的...... .

$cookieName = 'test';
$value =    'bid_1%7C1544538505%7Ced2d154bb51e2a989fb30fe4250ce602';
$setcookie($cookieName, $value, time()+3600); 

我得到的是一个 cookie,其值为:

  bid_1%257C1544538505%257Ced2d154bb51e2a989fb30fe4250ce602

如何获得正确的值并防止 php 转换“%”。非常感谢。

我试过没有成功

 $value =    'bid_1%%7C1544538505%%7Ced2d154bb51e2a989fb30fe4250ce602';// and
 $value =    'bid_1\%7C1544538505\%7Ced2d154bb51e2a989fb30fe4250ce602';

【问题讨论】:

  • 我建议查看php setrawcookie 可能会解决您的问题
  • @JérômeB 这正是解决了我的问题的原因。非常感谢!

标签: php cookies setcookie


【解决方案1】:

我得到的是一个值为

的cookie

没有。您在此处引用的内容代表了实际值。存储在客户端并在后续请求中返回的值与您作为参数传递给 setcookie() 的值相同。

【讨论】:

    【解决方案2】:

    基本上,根本问题是setcookie 对您的值进行编码,因此像% 这样的一些字符被编码为%25

    解决方案

    setrawcookie没有这个功能,所以返回你想要的结果

    【讨论】:

    • 不,根本问题是他们试图重新编码他们已经通过urlencode() 运行的东西。 (这并不是说你的答案当然行不通。)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-17
    • 2013-03-17
    • 2014-05-12
    • 2018-03-19
    • 1970-01-01
    相关资源
    最近更新 更多