navigation mit PHP! fehler!
master-eax
- php
Hallo,
ich habe bei meiner Page anstatt mit Frames mit PHP ein menu geschrieben! der code zum verdeutlichen:
inhalt der index.php:
switch($action) {
case "home": include("home.php"); break;
.......usw
default: include("home.php");}
menue:
<a href="index.php?action=home" ...>bla</a>
...
alles funktioniert auch so weit!
Allerdings wenn ich zb ein anderes script auf der home.php benutze, zb. ein bildergalery script! dann funzt es nie!
da es immer "index.php?action=home" bleibt und nie umschaltet auf home.php... für weitere variabeln!
Bei stink normalen Frame Sets is des auch kein Problem!
Ich bin schon fast am verzweifeln!
Weiß jemmand woran das liegt? oder hat jemmand ein bessers menu script?
Vielen dank schon ma im vorraus
Greez Eax
Hallo,
Allerdings wenn ich zb ein anderes script auf der home.php benutze, zb. ein bildergalery script! dann funzt es nie!
da es immer "index.php?action=home" bleibt und nie umschaltet auf home.php... für weitere variabeln!
Wenn dein Script unbedingt ne URL braucht, dann änder sie im script doch einfach auf index.php?action=home o.ä. um.
Dann müsste es funzen
Tschau
Tobias
Hallo,
Ich verstehe Dein Problem nicht ganz.
PHP schreibt genau das, was Du ihm sagst.
Wenn Du sagst, es soll "index.php" schreiben, warum erwartest Du,
dass es ploetzlich "home.php" schreibt?
Der Pfad zur Datei selbst ist in der Variable
$_SERVER['PHP_SELF'] (funktioniert ab PHP 4.1 immer + ueberall)
oder
$HTTP_SERVER_VARS['PHP_SELF'] (nur unter gewissen Bedingungen)
oder
$PHP_SELF (nur unter gewissen Bedingungen)
Siehe http://www.php.net/manual/en/language.variables.predefined.php
Nur den Dateinamen, also alles nach dem letzten Slash, erhaeltst Du so:
$dateiname=substr(strrchr($_SERVER['PHP_SELF'],"/"),1);
HTH, Gruesse,
Thomas
Hm habe es Falsch euch erklärt sorry!
Das menu funktioniert auch einwandfrei!
das heißt wenn ich auf irgend ein link von mir klicke
wird es in die index.php eingebunden.
zb. seite1.php seite2.php seite3.php
so wie halt ein normales menu aufgebaut ist!
Allerdings bleibt bei mir in der Addressen leiste immer
index.php?action=seite2.php usw stehen! dass heißt nicht wie bei einem Frame set, wenn man auf ein link klickt dass nur da steht seite2.php, sonder immer
index.php?action=seite1
index.php?action=seite2
usw
halt jede php site die ich in meine index als inhalt benutze!
SO und mein problem ist es nun! wenn ich zb. auf irgend einer seite, egal welche die ich eingebunden habe (zb ein Bildergalery script usw)
es immer auf die index.php zurückgreift! und nicht auf die eigentliche datei in der es steht! zb seite2.php
und somit kann ich nicht weiter vortfahren! da es immer index.php?action=seitex angiebt und wenn ich jetzt auf der seitex.php zum bs irgend etwas ausführe zb seitex.php?macheok=ok schreibt es mir entweder index.php?action=pics?macheok=ok oder es springt von der seite! ich brauche einfach nur den befehl der sagt lasse seitex.php in index.php.
*g* ich hoffe ihr versteht mich jetzt
Danke noch mal!
Hallo,
Hm habe es Falsch euch erklärt sorry!
Das menu funktioniert auch einwandfrei!
das heißt wenn ich auf irgend ein link von mir klicke
wird es in die index.php eingebunden.
zb. seite1.php seite2.php seite3.php
so wie halt ein normales menu aufgebaut ist!
Allerdings bleibt bei mir in der Addressen leiste immer
index.php?action=seite2.php usw stehen! dass heißt nicht wie bei einem Frame set, wenn man auf ein link klickt dass nur da steht seite2.php, sonder immer
index.php?action=seite1
index.php?action=seite2
usw
halt jede php site die ich in meine index als inhalt benutze!SO und mein problem ist es nun! wenn ich zb. auf irgend einer seite, egal welche die ich eingebunden habe (zb ein Bildergalery script usw)
es immer auf die index.php zurückgreift! und nicht auf die eigentliche datei in der es steht! zb seite2.php
und somit kann ich nicht weiter vortfahren! da es immer index.php?action=seitex angiebt und wenn ich jetzt auf der seitex.php zum bs irgend etwas ausführe zb seitex.php?macheok=ok schreibt es mir entweder index.php?action=pics?macheok=ok oder es springt von der seite! ich brauche einfach nur den befehl der sagt lasse seitex.php in index.php.*g* ich hoffe ihr versteht mich jetzt
Danke noch mal!
Dann arbeite doc mit mehreren Übergabeparametern in der Leiste. also so das da z.B. steht: index.php?id=seitex&action=pics&macheok=ok
Tschau
Tobias
Achso, noch was zu include().
Damit wir der inhalt der datei die du angibts an die die stelle eingefügt, wo der include Befehl ist.
D.h. das ist dann fester Bestandteil der Datei mit dem Befehl und ist nicht der Aufruf der Datei (bei dir home.php)
Tschau
Tobias