Domeniko
Domeniko

Reputation: 109

Get ID from URL and store it in variable

I need to get the data from URL, example domain.com/?id=username

Username will vary from one user to another... Once they visit the website with link like that, they can move around the website and then at some point fill out the form. Since they moved around the website, the url will not have ?id=username in the path, so I need to store that data in the variable to be able to send it with the form.

I assume I need to set and store the cookie per session (so that cookie will refresh after session / browser exit)

I use ob_start() since I have to implement this code in the body, when the headers are already sent.

ob_start(); 
session_start();
$affid = $_GET['id'];
setcookie('affid',$affid, 0, "/");
$finalaffID = $_COOKIE['affid'];
ob_end_clean(); 
echo '<span class="testoutput">'.$finalaffID.'</span>';

After some attempts, I got this code, but it doesnt store the value after I move around couple pages, it only shows the on initial page visit.

Any ideas please?

Upvotes: 0

Views: 3445

Answers (2)

Buildersrejected
Buildersrejected

Reputation: 167

You could use session variables.

$_SESSION["id"] = $_GET["id"];

this session var will be accessible anywhere the session is open. Just call it with $_SESSION["id"].

index.php

Url: www.domain.com/?id=user

    <?php
         session_start();
         if (isset($_GET["id"])) {
              $_SESSION["id"] = $_GET["id"];
    }
?>

otherpage.php

Url: www.domain.com/otherpage.php

<?php
session_start();
if (isset($_SESSION["id"])){
echo $_SESSION["id"];
}
?>

Upvotes: 1

Ray Li
Ray Li

Reputation: 7919

Jose is right about saving IDs in sessions. There's a good post about it that deals SPECIFICALLY with IDs here: Cookie vs Session for Storing IDs

But, if you want to store it as a cookie, this code stores the ID.

$id  = $_GET['id']);
setcookie('id', $id);

And this code allows you to retrieve the ID!

echo $_COOKIE['id'];

Upvotes: 1

Related Questions