mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 28.03.2024 20:43 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 02: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 12:17, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
xaos

Dabei seit: 06.10.2004
Ort: Kargath
Alter: -
Geschlecht: -
Verfasst So 11.02.2007 09: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
Anzeige
Anzeige
maxmad
Threadersteller

Dabei seit: 11.02.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst So 11.02.2007 10: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
Benutzer 28377
Account gelöscht


Ort: -

Verfasst So 11.02.2007 10:53
Titel

Antworten mit Zitat Zum Seitenanfang

Zum Beispiel mit stristr() abfragen ...
 
dastef

Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst So 11.02.2007 11: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
maxmad
Threadersteller

Dabei seit: 11.02.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst So 11.02.2007 11: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 11: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 12: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
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?
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 an Umfragen in diesem Forum nicht mitmachen.