我正在使用以下代码,并希望在单击时将变量发送回上一页:
echo "<center> Photo #{$Count} | <a href='javascript:history.go(-1)'>Go Back</a></center>"
我想我可以做这样的事情,但它不起作用:我添加了?VP='Y'
echo "<center> Photo #{$Count} | <a href='javascript:history.go(-1)'?VP='Y'>Go Back</a></center>"
既然你标记了PHP,你可以做
echo "<center> Photo #{$Count} | <a href='".$_SERVER['HTTP_REFERER']."?VP=Y'>Go Back</a></center>";
然后在另一页
$var = $_GET['VP'];
这样行吗?
<a href='' id="back">Go Back</a>
<script>
document.getElementById("back").href = document.referrer + "?variable=value";
</script>
注意这个文档。如果用户直接导航到页面,Referrer将为空。这当然是一个问题,为什么这可能是一个备份解决方案:
<a href='' id="back">Go Back</a>
<script>
var ref = document.referrer;
if(ref == "") {
ref = "javascript:history.go(-1);";
} else {
ref = ref + "?variable=value";
}
document.getElementById("back").href = ref;
</script>
我看到你正在使用php,所以你可以通过制作一个简单的表单与$_SERVER['HTTP_REFERER']
作为动作,并添加一个隐藏的字段值来解决它。或者添加一个会话变量:)SESSION['yourvar'] = 'whatever'
然后在下一页上,您可以使用$_GET
或$_POST
从表单中获得它,或者通过echo $_SESSION['yourvar']
获得会话变量。当使用会话时,确保在页面的开始处启动它们。更多细节请点击http://php.net/manual/en/book.session.php