2016-10-11 5 views
1

Ich habe versucht, die Lösung im Internet zu finden und ich kann keine Lösung sehen, die für mein Problem gilt.PHP "Gehe zur übergeordneten Seite" Button auf Directory Style URL

Ich habe ein Verzeichnis gestylt Website: link here

Und ich habe auch eine Zurück-Taste auf jeder Seite. Momentan sendet der Button den Benutzer zurück zur Startseite, aber ich möchte zur übergeordneten Seite zurückkehren.

Wenn sich der Benutzer beispielsweise hier "site.com/page/subpage" befindet und auf die Schaltfläche "Zurück" klickt, sollte er sie an "site.com/page" senden.

Ich habe keine Lösung gefunden. Ich bin bereit, jQuery oder PHP zu verwenden.

Ich würde wirklich etwas Hilfe in dieser Angelegenheit schätzen.

Vielen Dank im Voraus,

Bruno

EDIT: Mein Zweck die „Geschichte zurück“ nicht zu verwenden, weil, wenn ein Benutzer nicht von der übergeordneten Seite kommt oder wenn sie von einem anderen kommen Website, wird es sie zurück dorthin schicken. Ich möchte das nicht, ich möchte, dass es ein "Gehe zur Hauptseite" -Schaltfläche ist.

EDIT 2: Theorie: Meine Theorie mit der ganzen URL zu bekommen wäre:

$url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 

und es trimmen, den letzten Teil zu entfernen. Zum Beispiel das Entfernen "/ Unterseite" von "site.com/page/subpage"

+1

Die Antwort von @RasulIslam ist die beste für diesen Fall, wie es integriert in Nutzt PHP-Funktionalität. Auch diese Art von Feature wird "Brotkrumen" genannt. Die Suche nach diesem Satz sollte zu viel interessanteren Ergebnissen führen. :) – ChristianF

Antwort

3

Try (Javascript):

var url = window.location.href.split('/'); 
url.splice(url.length-1,1); 
var pUrl = url.join('/'); 
window.location.href = pUrl; 
+0

Ihre Lösung funktioniert GENAU wie vorgesehen. Es ist sehr unähnlich, aber was ist, wenn die URL mit "/" endet. Ich habe einen Test gemacht und es ging von "site.com/page/subpage/" zu "site.com/page/subpage". Weißt du zufällig, wie ich es beheben kann? Es ist nicht notwendig, aber die Lösung würde von 99% perfekt zu 100% gehen. – White8Tiger

+1

Ah ich sehe. Vielleicht können Sie nach der Teilung eine if-Prüfung wie if hinzufügen (url [url.length-1] == "") {url.splice (url.length-2,1); } else {url.splice (url.length-1,1); }.Ich habe das nicht getestet, vielleicht können Sie es ausprobieren und sehen. –

1

Sie die history Objekt verwenden:

$('.clickme').click(function() { 
    history.back(); 
}); 

Hoffe, es hilft.

+0

Mein Zweck ist es NICHT zu verwenden, denn wenn eine Person von Google oder einer anderen Website kommt, wird sie dorthin zurückgeleitet. – White8Tiger

2

Sie können den Pfad der übergeordneten Verzeichnisse mit dirname() Methode von PHP abrufen.

$parentPath = dirname($currentPath, 1) 

Hier ist 1 die Ebene, die Sie navigieren möchten. Zum Beispiel

$currentPath = "/page/subpage/anotherpage" 

kehren /page/subpage

+0

Dies ist die beste Antwort, da es die integrierten Funktionen nutzt, die nur für diese Aufgabe gemacht werden! – ChristianF