I am trying to save a URL as the value inside a web browser cookie.
The URL is: https://www.instructables.com/json-api/getIbleStats?id=EVHUTKMJ4OFY92W
I get URL input using this code:
JavaScript
x
echo '<form action="apibell.php" method="post"><input style="position:absolute; top:0; right:0" type="submit" value="api" placeholder="URL" name="api"></form>';
I set cookie using this PHP code:
JavaScript
if (isset($_POST["submit"])) {
$api = urldecode($_POST["api"]);
setcookie("api", $api);
}
And here’s the outputted cookie. It’s missing part of the URL: -api%2FgetIbleStats%3Fid%3DEVHUTKMJ4OFY92W
Advertisement
Answer
I solved it by re-encoding the URL before setting it as the cookie value:
JavaScript
<?php
if (isset($_POST["submit"])) {
$url = urldecode($_POST["url"]);
$urlcookie = urlencode($url);
setcookie("url", $urlcookie);
}
else if (isset($_COOKIE["url"])) {
$link = $_COOKIE["url"];
}
?>