我需要从网址获取数据,例如domain.com/?id=username
用户名因用户而异•一旦他们访问带有此类链接的网站,他们就可以在网站上移动,然后在某些时候填写表单。由于他们在网站上移动,因此路径中的url将不会有?id = username,因此我需要将该数据存储在变量中以便能够使用表单发送它。
我假设我需要为每个会话设置和存储cookie(以便在会话/浏览器退出后cookie将刷新)
我使用ob_start(),因为我必须在标题已经发送时在正文中实现此代码。
ob_start();
session_start();
$affid = $_GET['id'];
setcookie('affid',$affid, 0, "/");
$finalaffID = $_COOKIE['affid'];
ob_end_clean();
echo '<span class="testoutput">'.$finalaffID.'</span>';
经过一些尝试后,我得到了这段代码,但是在我移动几页后它没有存储值,它只显示初始页面访问。
有什么想法吗?
答案 0 :(得分:1)
您可以使用会话变量。
$_SESSION["id"] = $_GET["id"];
此会话var可在会话打开的任何位置访问。只需使用$_SESSION["id"]
调用它即可。
的index.php
网址:www.domain.com/?id = user
<?php
session_start();
if (isset($_GET["id"])) {
$_SESSION["id"] = $_GET["id"];
}
?>
otherpage.php
网址:www.domain.com/otherpage.php
<?php
session_start();
if (isset($_SESSION["id"])){
echo $_SESSION["id"];
}
?>
答案 1 :(得分:1)
Jose对于在会话中保存ID是正确的。有一篇关于它的好帖子,特别是ID:Cookie vs Session for Storing IDs
但是,如果您想将其存储为cookie,则此代码会存储ID。
$id = $_GET['id']);
setcookie('id', $id);
此代码允许您检索ID!
echo $_COOKIE['id'];