Autor |
Nachricht |
maxmad
Threadersteller
Dabei seit: 11.02.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst So 11.02.2007 02:50
Titel [solved] php findet aktuelle shtml-seite nicht |
|
|
Hallo,
mein Problem ist vermutlich nicht besonders schwierig zu lösen. Da ich mich leider php-programmier-technisch auf absolutem Neuland befinde, hoffe ich ihr könnt mir helfen. (Sorry nach 5h Suche im Netz brauch ich jmd der sich auskennt).
Hier also das kleine Menü-Script, dass ich über SSI in die Seite eingebunden habe.
Code: | <?php
$navigation = array ("Home"=>"/index.shtml",
"Restaurant"=>"/rest.shtml",
"Sammelrezept"=>"/rezept.shtml",
"Routenplaner"=>"/route.shtml",
"Eierkuchen-Shop"=>"/shop.shtml",
"Kontakt"=>"/kontakt.shtml");
while(list($key, $val) = each($navigation)){
if ($PHP_SELF == $val){
echo "$key ";
} else {
echo "<a href=\"$val\">$key</a> ";
}
}
?> |
Es funktioniert auch wunderbar, bis auf eine Kleinigkeit. Ziel ist es, die aktuell angezeigte Seite nicht mit einem aktiven Link zu versehen (andere Farbe, nicht klickbar > Überschrift [wird mit css geregelt])
Hoffe das ist ohne große Programmierorgien zu bewältigen.
Danke
Max
Zuletzt bearbeitet von maxmad am So 11.02.2007 12:17, insgesamt 1-mal bearbeitet
|
|
|
|
|
xaos
Dabei seit: 06.10.2004
Ort: Kargath
Alter: -
Geschlecht: -
|
Verfasst So 11.02.2007 09:59
Titel
|
|
|
Mit $PHP_SELF liest du den Dateinamen der PHP-Datei relativ zum Document-Root aus.
Du lädst über die Navigation deine neue Seite (*.shtml) in der die PHP-Navi includet wird, der Name der PHP-Datei der in $PHP_SELF liegt ändert sich also nicht und kann nie dem in $val hinterlegtem Wert entsprechen.
|
|
|
|
|
Anzeige
|
|
|
maxmad
Threadersteller
Dabei seit: 11.02.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst So 11.02.2007 10:47
Titel
|
|
|
Sowas dachte ich mir schon und habe deshalb mit einigen Variablen (anstatt $PHP_SELF) herumprobiert. Irgendwie fehlt mir aber der Überblick.
Gibt es denn eine Möglichkeit, den Dateinamen (index.shtml) auszulesen und somit mit dem Wert $val gleichzusetzen?
|
|
|
|
|
Benutzer 28377
Account gelöscht
Ort: -
|
Verfasst So 11.02.2007 10:53
Titel
|
|
|
Zum Beispiel mit stristr() abfragen ...
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst So 11.02.2007 11:36
Titel
|
|
|
schau dir doch mal $_SERVER an .. REQUEST_URI sollte dem was
du suchst eigentlich schon relativ nahe kommen.
|
|
|
|
|
maxmad
Threadersteller
Dabei seit: 11.02.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst So 11.02.2007 11:42
Titel
|
|
|
So jetzt habe ich zwei Scripts:
Code: | <?php
$str = $_SERVER['REQUEST_URI'];
$pos = strrpos($str, '.shtml');
$before = substr($str, 0, $pos-0);
echo "Vor .shtml steht '$before'";
?>
<?php
$navigation = array ("Home"=>"index.shtml",
"Restaurant"=>"rest.shtml",
"Sammelrezept"=>"rezept.shtml",
"Routenplaner"=>"route.shtml",
"Eierkuchen-Shop"=>"shop.shtml",
"Kontakt"=>"kontakt.shtml");
while(list($key, $val) = each($navigation)){
if ($PHP_SELF == $val){
echo "$key ";
} else {
echo "<a href=\"$val\">$key</a> ";
}
}
?>
|
Aber wie bekomme ich jetzt das ergebnis aus dem ersten an den Wert $val übergeben?
|
|
|
|
|
maxmad
Threadersteller
Dabei seit: 11.02.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst So 11.02.2007 11:46
Titel
|
|
|
dastef hat geschrieben: | schau dir doch mal $_SERVER an .. REQUEST_URI sollte dem was
du suchst eigentlich schon relativ nahe kommen. |
Hab ich zu spät gelesen; bin aber auch auf die Idee gekommen.
Leider kommt das dem was suche eben nur sehr nah. ... Oder würde es helfen die Links absolut anzugeben?
|
|
|
|
|
maxmad
Threadersteller
Dabei seit: 11.02.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst So 11.02.2007 12:07
Titel
|
|
|
aua! Manchmal sieht man den Wald vor lauter Bäumen nicht.
Die Version hatte ich bestimmt schon drei mal (allerdings gabs vermutlich einen winzigen Unterschied)
Code: | <?php
$navigation = array ("Home"=>"/index.shtml",
"Restaurant"=>"/rest.shtml",
"Sammelrezept"=>"/rezept.shtml",
"Routenplaner"=>"/route.shtml",
"Eierkuchen-Shop"=>"/shop.shtml",
"Kontakt"=>"/kontakt.shtml");
while(list($key, $val) = each($navigation)){
if ($_SERVER['REQUEST_URI'] == $val){
echo "$key ";
} else {
echo "<a href=\"$val\">$key</a> ";
}
}
?>
|
Jetzt jedenfalls funzt es wie erwartet.
|
|
|
|
|
|
|
|
Ähnliche Themen |
[solved]PHP Variable aus URL wieder auf Seite ausgeben
Wieviele pixel hat eine A4 Seite? [solved]
[Hilfe] Finde Fehler in Seite nicht. [solved]
Kontaktformular php in shtml
shtml - mit js include austauschen
- aktuelle ps tutorials?
|
|