2017-05-25 5 views
0

Ich möchte den Link der vorherigen Seite mit HTTP_REFERER erhalten, um eine Schaltfläche zurück zu machen, aber diese vorherige Seite hat Filter, die die URL mit einem Anker aktualisieren. Für den Moment bekomme ich nur die einfache URL.Erhalten Sie den vorherigen Link mit HTTP Referer von einem Link mit einem Anker

Danke

if($_SERVER['HTTP_REFERER'] == "http://website.com/cars/#blue-car/"):?> 
    <a href="/cars/#blue-car/"> 
      <input type="button" class="back-button"></input> 
      </a> 
+0

Haben Sie versucht, 'encodeURIComponent (document.referrer)' statt '$ _SERVER [ 'HTTP_REFERER']'? – doutriforce

+0

Vielen Dank für Ihre Antwort. Ich weiß nichts darüber, ich werde es untersuchen. – tomdes

Antwort

0

$_SERVER['HTTP_REFERER'] leicht gefälscht werden können, ich onclick="window.history.back();" verwenden würde, d.h .:

<input value="Go Back" type="button" onclick="window.history.back()" class="back-button"> 

oder go(-1):

<input value="Go Back" type="button" onclick="window.history.go(-1)" class="back-button"> 

Window.history

0

Danke euch beiden, hilf mir die richtige Lösung zu finden. Das finde ich in einem anderen Beitrag

Js

home_url = ['http://website.com/']; 

pathArray = document.referrer.split('/'); 
protocol = pathArray[0]; 
host = pathArray[2]; 

url_before = protocol + '//' + host; 

url_now = window.location.protocol + "//" + window.location.host; 


function goBackOrGoHome(){ 
if (url_before == url_now) { 
window.history.back();  
}else{ 
window.location = home_url; 
}; 
} 

Html

<input value="Go Back" type="button" class="back-button" onclick="goBackOrGoHome()"> 
+0

Die Post verlor einen Teil meiner Antwort. Tatsächlich vergleicht es die vorherige URL mit der tatsächlichen URL und es wird zur Homepage umgeleitet, wenn die vorherige URL von einer anderen Domain stammt. – tomdes

Verwandte Themen