在搜索(并测试)提供某种 go-back 按钮的方法后,我在这里提出这个问题(也许有一个简单的解决方案)。
我在我的网站上有关于定向运动的描述(5页):http://www.uhebeisen.net/o-def/o-definition_ge.php
国外有很多网站都有这个页面的链接。现在我想在网页浏览器进入我的网页时获取他们的网址。然后我可以将一个按钮返回到我的导航列表,将他带回他的页面,然后点击链接到我的描述页面。
我已经看过使用javascript:history.go(-1)或$ _SERVER ['HTTP_REFERER']与PHP的解决方案,但问题是,websurfer可以在我的页面上移动,如果从任何页面完成他的阅读应该提供用他的(调用)URL,例如他的一所大学。
所以我需要抓住他的网址并将其存放在一个安全的地方,直到他决定离开。如果他在我的网页上浏览时返回起始页面,则不应覆盖其URL。 因为我没有编程 - 只需复制和粘贴并尝试了解会发生什么。关于如何做到这一点的任何建议都是值得欢迎的。
Firefox在会话方面的设置可能性与其他浏览器不同吗?
答案 0 :(得分:4)
您应该在抵达时在用户的会话中存储$ _SERVER ['HTTP_REFERER']。使用此方法,当用户在您的站点中浏览时,该值不会被过度压缩。
session_start();
if ( !isset( $_SESSION['referrer'] ) ) {
if ( !empty( $_SERVER['HTTP_REFERER'] ) ) { // Because not all browsers set this
$_SESSION['referrer'] = $_SERVER['HTTP_REFERER'];
}
}
答案 1 :(得分:2)
这样做的一种方法是存储某个地方(可能在cookie或会话中,这很容易与您的PHP页面一起)来自他们来自的页面,但仅当该页面时不在您网站的域名上。这将需要一些if语句来适当地设置cookie /会话值,但是可以使用referrer变量的特定部分相对容易地完成。可能有一种更有效的方式来存储它,但这是一个立即浮现在脑海中的想法。
编辑:我强烈推荐乔治的解决方案,这是更好的方法。答案 2 :(得分:0)
您是否尝试过使用会话?
session_start();
if( !isset($_SESSION['refer']) )
{
$_SESSION['refer'] = $_SERVER['HTTP_REFERER'];
}
然后,准备好按钮后,将链接设置为$ _SESSION ['refer']。
答案 3 :(得分:0)
在我过去的项目中,我通常会在此过程后存储重定向网址:
在这两种情况下,我都会在验证网址属于我网站的域后,将该值存储在SESSION变量中。