mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Sa 11.10.2008 06:20 Benutzername: Passwort: Auto-Login

Thema: [solved] php findet aktuelle shtml-seite nicht vom 11.02.2007

Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [solved] php findet aktuelle shtml-seite nicht
Autor Nachricht
maxmad
Threadersteller

Dabei seit: 11.02.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst So 11.02.2007 03:50
Titel

[solved] php findet aktuelle shtml-seite nicht

Antworten mit Zitat Zum Seitenanfang

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 &nbsp; ";
      } else {
           echo "<a href=\"$val\">$key</a> &nbsp; ";
      }
}

?>

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 13:17, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
xaos

Dabei seit: 06.10.2004
Ort: -
Alter: -
Geschlecht: -
Verfasst So 11.02.2007 10:59
Titel

Antworten mit Zitat Zum Seitenanfang

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.
  View user's profile Private Nachricht senden
maxmad
Threadersteller

Dabei seit: 11.02.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst So 11.02.2007 11:47
Titel

Antworten mit Zitat Zum Seitenanfang

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?
  View user's profile Private Nachricht senden
CIX88

Dabei seit: 14.12.2005
Ort: -
Alter: 42
Geschlecht: Männlich
Verfasst So 11.02.2007 11:53
Titel

Antworten mit Zitat Zum Seitenanfang

Zum Beispiel mit stristr() abfragen ...
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
dastef

Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst So 11.02.2007 12:36
Titel

Antworten mit Zitat Zum Seitenanfang

schau dir doch mal $_SERVER an .. REQUEST_URI sollte dem was
du suchst eigentlich schon relativ nahe kommen.
  View user's profile Private Nachricht senden E-Mail senden
maxmad
Threadersteller

Dabei seit: 11.02.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst So 11.02.2007 12:42
Titel

Antworten mit Zitat Zum Seitenanfang

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 &nbsp; ";
      } else {
           echo "<a href=\"$val\">$key</a> &nbsp; ";
      }
}
?>

Aber wie bekomme ich jetzt das ergebnis aus dem ersten an den Wert $val übergeben?
  View user's profile Private Nachricht senden
maxmad
Threadersteller

Dabei seit: 11.02.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst So 11.02.2007 12:46
Titel

Antworten mit Zitat Zum Seitenanfang

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. *hehe*
Leider kommt das dem was suche eben nur sehr nah. ... Oder würde es helfen die Links absolut anzugeben?
  View user's profile Private Nachricht senden
maxmad
Threadersteller

Dabei seit: 11.02.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst So 11.02.2007 13:07
Titel

Antworten mit Zitat Zum Seitenanfang

aua! Manchmal sieht man den Wald vor lauter Bäumen nicht. * Wo bin ich? *
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 &nbsp; ";
      } else {
           echo "<a href=\"$val\">$key</a> &nbsp; ";
      }
}
?>

Jetzt jedenfalls funzt es wie erwartet. * Ich bin unwürdig *
  View user's profile Private Nachricht senden
 
Ähnliche Themen [solved]PHP Variable aus URL wieder auf Seite ausgeben
[php]wer findet den fehler
Wieviele pixel hat eine A4 Seite? [solved]
[Hilfe] Finde Fehler in Seite nicht. [solved]
[PHP] Zeichenkettenformatierung von double [solved]
php / html combi [solved]
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.