PHP保留页面到页面的URL参数

时间:2015-07-15 03:23:45

标签: php url-parameters

我希望能够使用PHP测试我正在构建的网站,该网站从使用时间点的数据库中获取所有内容。我有一系列页面用于维护内容并指定有效日期。

直播网站无法访问会话。

我只是想用这样的参数破解URL:

mywebsite.com/current.php?asof=2016-01-01

但我希望此参数出现在所有后续页面上。

我猜我可以使用cookies,但我想要视觉提示。

最后,我导航到的一些页面将有其他参数。

可以这样做吗?如果是这样,怎么样?

编辑: 有没有办法通过为任意响应注入URL参数来编辑响应。

2 个答案:

答案 0 :(得分:2)

如果仅通过链接和表单进行导航,并且您没有会话,则可以尝试在呈现html之前将params注入所有链接和表单。

// set the asof value once upon starting navigation
$_GET['asof'] = '2016-01-01';

// then on all pages onward
// grab all links and inject all $_GET params
$html = preg_replace('/(href="[^"]+)"/', '$1?'.http_build_query($_GET).'"', $html);
// the same for forms
$html = preg_replace('/(action="[^"]+)"/', '$1?'.http_build_query($_GET).'"', $html);

echo $html;

这将获取查询字符串($ _GET)中传递的所有数据,并将其注入所有链接和表单。因此,链接上的每次点击都会传播$ _GET参数。请记住,这是一个粗略的实现。这并未考虑已有查询字符串或粘贴网址的链接。

答案 1 :(得分:1)

设置您的Cookie,然后为每个链接执行以下操作:

<?php
$asof = (isset($_COOKIE['asof']) ? 'asof=' . $_COOKIE['asof'] : '');
?>

<a href="/current.php?<?=$asof?>">link</a>