Alternative Navigation zu $_GET-Variablen

Radhad

Erfahrenes Mitglied
Hi zusammen,

ich suche eine alternative Navigationsmöglichkeit. Und zwar möchte ich die Variablen irgendwie anders als über $_GET übergeben. Gibt es da eine Möglichkeit? Evtl. sogar per Session? Freue mich über jeden Tipp!



Gruß Radhad
 
Irgendwie musst du ja linken bzw dem Script sagen welchen Code es im Content ausführen soll.
Du könntest extra Dateien erstellen z.B. news.php und auf diese aus der index.php heraus linken.
PHP:
<?php
session_start ();//Session starten um damit arbeiten zu können
unset ($_SESSION['site']); //Alle anderen sessions löschen
$_SESSION['site'] = "news"; //News in Session schreiben
header ("Location: index.php"); //auf index.php weiterleiten
?>
Die index.php könnte im Contentbereich etwa so aussehen:
PHP:
<?php
session_start ();//Session starten um damit arbeiten zu können
if ($_SESSION['site'] == "news")//Überprüfen ob $_SESION['site'] news gestzt wurde
{
include ("script/news.php"); //news.php Includen oder Code ausgeben
}
?>
Nur ich finde die sachen nicht wirklich Komfortabel. Habe nicht getestet ob das funktioniert aber ich denke schon.
 
Ich glaub ich hab mich zu allgemein ausgedrückt.

Meine Navigation ist z.B. so aufgebaut:
http://localhost/index.php?bereich=2

Ich würde aber lieber ?bereich=2 versteck übertragen und nicht über die Adresszeile.

Eine Session zu erstellen ist auch kein Problem, da ich sie schon benutze für eingeloggte User, das kann ich ja noch auf alle Besucher erweitern. Aber wie kann ich dann bei einem Klick auf einem Link, die Sessionvariable für "Bereich" dann auf den neu zu ladenden Bereich setzen?

Oder gibt es da eine andere Möglichkeit?


Gruß Radhad
 
Das heißt die Datei soll mit index.php aufgerufen werden,
aber das Skript in der index.php Datei muss trotzdem wissen das der anzuzeigende Bereich 2 ist?

Tobee
 
Wie ich schon sagte irgendwie musst du php sagen welchen Content du haben möchtest.

Eine andere Variante währe die URL mittels Frames zu verstecken.
index.html
Code:
<frameset border="0" frameborder="0" rows="0,*">
<frame name="top" src="top.html" frameborder="0"></frame>
<frame name="content" src="content.html"></frame>
</frameset>

top.html lässt du einfach lehr bzw gibst du einfach nichts aus.

content.html bzw der normale Inhalt deiner Seite.

z.B.
Code:
<a href="#notext">nichts steht in der URL</a>

so steht immer der Pfad in der URL über den der User auf die Seite kommt.
 
Ah...was soll das
warum willst du das nicht ? Irgendwie muss es ja übergeben werden, und wenn du willst, das die Leute auch noch Bookmarken können ist $_GET unumgänglich.

Aber du könnstet es mit einem modrewrite machen (Wenn dein hoster es unterstützt)
da kannst du dann einen link alla "www.deinserver.de/seite_getvariable.html" machen und beim server kommt dann "seite.php?id=getvariable an.

einfach mal hier nachlesen :
http://www.tutorials.de/forum/webse...u-mod_rewrite-ist-es-wie-funktioniert-es.html
 
Ich will das nicht weil das ein Negativ-Kriterium beim Google-Page-Rank ist. Daher wollt ich halt wissen, was es sonst noch für Möglichkeiten gibt. Vielleicht hat der ein oder andere da ganz spezielle Tricks auf Lager ;) Außerdem wäre die Website dann sicherer vor attacken!
 
Zurück