网址设置为Cookie值未正确编码

时间:2019-11-24 17:00:33

标签: php url cookies encoding

我正在尝试将URL保存为Web浏览器cookie中的值。

URL为: https://www.instructables.com/json-api/getIbleStats?id=EVHUTKMJ4OFY92W

我使用以下代码输入URL:

echo '<form action="apibell.php" method="post"><input style="position:absolute; top:0; right:0" type="submit" value="api" placeholder="URL" name="api"></form>';

我使用以下PHP代码设置cookie:

 if (isset($_POST["submit"])) {
  $api = urldecode($_POST["api"]);
  setcookie("api", $api);
}

这是输出的cookie。它缺少URL的一部分: -api%2FgetIbleStats%3Fid%3DEVHUTKMJ4OFY92W

1 个答案:

答案 0 :(得分:0)

我通过在设置为cookie值之前重新编码URL来解决了该问题:

<?php
    if (isset($_POST["submit"])) {
    $url = urldecode($_POST["url"]);
    $urlcookie = urlencode($url);
    setcookie("url", $urlcookie);
    }
    else if (isset($_COOKIE["url"])) {
    $link = $_COOKIE["url"];
    }
?>