• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

URL der vorherigen Seite zwischenspeichern

Status
Für weitere Antworten geschlossen.

m0sT

Neues Mitglied
Hi Leute, ich wollte eine Art 'back'-Link auf meiner Seite machen
und zwar indem in meiner Link-Klasse die aktuelle URL gespeichert wird.
Durch dieses Speichern kann ich dann wieder auf die URL zugreifen.
Das Blöde ist aber, dass die aktuelle URL auf jeder Seite überschrieben wird und ich immer wieder zur aktuellen URL komme..
Ideen?

PHP:
if ($_GET['modul'] != $modul) {

      $this->lastmenu = $_GET['menu'];
      $this->lastmodul = $_GET['modul'];
      $this->lastvars = preg_replace('/menu=(.*)&modul=(.*)&(.*)/i', '$3', $_SERVER['QUERY_STRING']);

}
 
PHP:
$_SESSION['last'] = $_SESSION['this'];
$_SESSION['this'] = $_SERVER['QUERY_STRING']

das auf jeder seite und dann einfach

PHP:
echo '<a href="index.php?'.$_SESSION['last']}.'">Zurück</a>';

musst natürlich noch sicher machen aber ich see da echt kein problem xD

oder traust du dich nicht in einer class mit $_SESSION zu arbeiten? :P
 
rofl, die session wird doch auf jeder seite überschrieben,
außerdem steh ich nicht auf session, gibts keine andere lösung?
 
Vielleicht weil man sich nicht darauf verlassen kann das diese existiert?

Und warum du nicht so gerne sessions benutzt versteh ich nicht... denn überschrieben wird da garnichts :-D
 
Stells dir so vor:

Code:
link 1 :

last = altes this
this = aktuell

link 2 :

last = altes this (also aktuell vom ersten link)
[...]


Backlink <- führt zur aktuellen Seite!
 
Warum benutzt du denn nicht einfach javascript? Du brauchst doch das alles gar nicht, wenn du es mit javascript löst:

HTML:
<a href="javascript:history.back()">zur&uuml;ck</a>

MfG Icy
 
Ja, aber JS hat nicht jeder an und aus diesem Grund arbeite ich grundsätzlich nicht gern damit!
 
hm das mit dem überschreiben hab ich noch nicht ganz so verstanden ...

Möchtest du mehrere Seiten zurück kommen können ?.

Dann würde ich es so machen


PHP:
class history {
  function history() {
    $this->actual_menu = $_GET["menu"];
    $this->actual_modul = $_GET["modul"];
    $this->history = array();
    $this->history = unserialize($_SESSION["history"]);
    if(!isset($_GET["back"])) {
      $i = count($this->history);
      $this->history[$i]["menu"] = $this->actual_menu;
      $this->history[$i]["modul"] = $this->actual_modul;
      $_SESSION["history"] = serialize($this->history);
    }
  }
  function lastlink() {
    $back = isset($_GET["back"]) ? $_GET["back"] : 0;
    $back++;
    if(count($this->history)>=$back-1) {
      $last = $this->history[count($this->history)-$back];
      $_SESSION["history"] = serialize($this->history);
      $string = 
      'index.php?menu='.$last["menu"].'&modul='.$last["modul"].'&back='.$back;
      return $string;
    }
    return false;
  }
}

Damit dürftest du immer den "back link" bekommen, solange noch etwas im array existiert.
 
Ich glaube er möchte einfach nur ein "zurück" Link ohne JavaScript.....

Edit:

Habe nicht viel Wissen in Bereich PHP aber wenn ich dich richtig verstaden haben würde ich es so machen:
PHP:
<?
$referer = getenv("HTTP_REFERER");
echo"<a href=\"$referer\">Zurück</a>";
?>
 
Zuletzt bearbeitet:
Das Problem war, dass der Zurücklink bei jedem Funktionsaufruf überschrieben wird, ich habe es jetzt so gelöst, dass ich ein Array in einer Session habe, dass, wenn die aktuelle URL != Oberster Index, die URL speichert, so entsteht eine Art Log noch gleich dazu.
 
jup, du erzeugst totalen datenmüll, schonmal daran gedacht das leute die JS aus haben vielleicht auf solche spielereien verzichten wollen ?

ich würde den referer abfragen (UND ÜBERPRÜFEN!) und wenn dieser gegeben ist, dann kann man die funktion ermöglichen, ansonsten wäre es nur sinnlos, oder du verbindest es mit einem tracking system ...
 
Waum hast du dann JS aus? Fühlst dich so sicherer? :-D
Lass doch einfach mal deinen PC aus dann kann dir auch ncihts passieren.

Und zu m0sT:

Hier im Hochsprachen bereich hat jemand mal was schönes gesagt. Und dies möchte ich gerne wieder beibehalten.

"Du verhältst dich wie ein Metzger."

MFG Miah
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben