vorheriges include merken

Layna

Erfahrenes Mitglied
Hallo :)
Ok, ein wahrscheinlich etwas merkwürdiges problem, das AN SICH lösbar ist... allerdings mit einer lösung die mir so nicht gefällt ;).
Ich habe eine Seite, die links eine Datei mit der Navigation auf der Seite inkludiert (ein Relativ normales design eben).
Wenn auf einen der Links geklickt wird, wird unter umständen (halt je nachdem wohin der Link führt) eine andere Navi-Datei included.
So weit, so gut, das geht auch.
Allerdings kann es trotz aller sorgfalt passieren das diese neue Datei nicht existiert. Was ich mit jetzt wünsche:
Wenn Datei existiert, diese includieren (das klappt), wenn sie NICHT existiert, die vorherige Navi Datei behalten.
Meine bisherige Lösung ist eine variable "oldnav" mitzugeben, aber so wirklich die ultimative lösung kann das, meiner Meinung nach, nicht bleiben.
Fällt euch dazu etwas anderes ein?

Ciao
Larayna
 
Ganz einfach mal mit $HTTP_REFERER arbeiten. Dann kannst du angeben das wenn eine Seite nicht existent ist das das script einfach wieder auf die Vorige Datei springt.

Gruß Mirko
 
Kann ich nicht empfehlen, da manche Browser von
Natur keine Referer unterstützen und einige Nutzen
stellen es manuell aus.

Schnapp dir doch einfach eine zweite Variable
$letzteseite, die du so füllst entsprechend füllst.
 
*Ihre Scripte wachsen und wachsen sieht*
Naja, sowas passiert wenn man absolut alle Möglichkeiten abfangen will :).
Der Referer wäre schonmal ein anderer ansatz, aber wenn der echt nicht überall unterstützt wird lasse ich das doch lieber... dann besser den alten übergeben :).
Bin noch immer dankbar für weitere ideen, meine query wächst nämlich mehr und mehr (mit der alten navi werden bis zu 5 parameter übergeben...) ;).
Danke schonmal für die bisherigen antworten :)

Ciao,
Larayna
 
Schau einfach ob die Datei exestiert bevor du den Link überhaupt anzeigst
if(file_exist($link))
echo $link;

dann brauchste dir nichts merken und es macht keinen schlechten eindruck
ich mag keine Links die nicht funktionieren ^^

um das ganze noch bisl Performanter zu gestallten erstellste dir nen globales Array wo du dann speicherst ob der Link wirklich exestiert
dann brauchste nicht immer prüfen ob das File exestiert :-)
 
Dann müsste er das Array aber fest codieren in der Hoffnung an den Dateien ändert sich nix oder per Session o.ä, übergeben. Denn irgendeinen Grund wird es schon haben das er überprüfen will ob die Navi existiert.
Ich würde einfach einen Parameter wie z.B. Oldnav mit übergeben entweder per GET oder du arbeitest eben mit Sessions und speicherst da deine Sachen rein, was fast eleganter wäre und liest daraus die alte Navi aus. Wenn da etwas ungültiges drinstehen sollte (insbesondere bei einer GET-Übergabe), springst du mit der kompletten Seite auf den Urpsrungspunkt, z.B. home. Dann haben halt die Pech gehabt die per hand an den Parametern rumspielen müssen ;)
 
Ja. SIE hat einen Grund die alte Navi speichern zu wollen ;).
Aber in der Session ist auch eine gute idee, ich denke das werde ich dann mal versuchen :).
 
Hm... ist es nicht möglich, einem bestimmten Seiteninhalt auch eine bestimmte Navi zuzuordnen? Das musst du nämlich spätestens machen, wenn jemand einem externen Link auf deine Site folgt und damit zufällig gleich auf eine Unterseite stößt , welche die vorherige Navi anzeigen soll. Da es aber keine vorherige Navi gibt, wirst du ein Problem haben...

Ich würd mal sagen, das Problem ist hier nicht das Problem selbst, sondern wie es dazu gekommen ist, sprich, die Konzeption :)
 
Die Konzeption war (leider): Ich möchte jetzt mal was basteln.
Das das ein mittleres Privatprojekt wird habe ich zu dem Zeitpunkt ja noch gar nicht geahnt ;)
 
Zurück