Navigation : aktuelen link fett anzeigen

hallo,

ich habe heute 2 fragen:

  1. Ich arbeite an meiner seite an der Navigation und da hätte ich gerne dass der Link auf dem man gerade ist, fett angezeigt wird und kein link mehr ist (also nur ein fetter text).

ICh habe das jetzt mit PHP gelöst mit input, und in dem input steht folgendes:

<?php
$adresse = $_SERVER['PHP_SELF'];
if($adresse == "dieunddieseite.php")
{
echo '<b>Startseite</b>';
}
else
{
echo '<a href="dieunddieseite.php">Startseite</a>'
}

Frage: Geht das auch eleganter? Jetzt habe ich nämlich für jeden Link so einen Code gemacht. Und außerdem ist das sehr empfindlich: Wenn man die URL zum Beispiel in
hallo.bplaced.net//////////////////index.php ändert dann wird die Seite immer noch angezeigt, aber der PHP-Code gilt er schon nicht mehr und der Link wird normal angezeigt.
Gibt es da ne if-Abfrage, dass ein Code irgendwas enthält (zum Beispiel “index.php”) und er dann die Bedingung ausfüllt?

  1. Frage: Bei meiner Seite gibt es ein paar Unterordner mit PHP Dateien, in denen auch die Links angezeigt werden sollen. Ich habe dazu auch ein input verwendet, aber diesmal ohne if-Abfragen, da man auf diesen Seiten sicher sein kann, dass es nicht diese Links sind.
    Das Problem: ich will nur ein input datei verwenden, und so müssten die Links ja bei jedem Unterordner unterschiedlich sein, sonst gehen sie nicht mehr, da ich interne Links verwende. Ich könnte zwar jeden Link so machen: hallo.bplaced.net/index.php, aber das wär dann ein externer link und der braucht dann so lange zum laden und das will ich eigentlich vermeiden. kann man das irgendwie “universialisieren”

Danke
bosz4

Ich hätte das vielleicht fogendermaßen gelöst:

[code]$adresse = $_SERVER[‘PHP_SELF’];
// vielleicht ($adresse = “link1.php”:wink: in jede php Datei und das Folgende per include einbinden
$values = array(“link1.php”, “link2.php”,…);
$names = array(“Hns”, “Blub”,…);
$cnt = 0;
foreach ($values as $value)
{
if ($adresse == $value)
{ echo ‘’.$names[$cnt].’
’; }
// oder echo ‘’.$names[$cnt].’
’;

else
{ echo '<a href="$value">'.$names[$cnt].'</a><br>'; }

$cnt++;

}[/code]

Es gibt auch bessere Lösungen!!!
Schau mal unter http://phpbox.de/php_befehle/urlhtml.php

ok danke schon mal für deine Antwort! Ich werde es in den nächsten Tagen mal ausprobieren und melde mich dan wieder.

bosz4

Hallo,

danke für deine Hilfe! Das funktioniet super!!!

Hast du auch noch einen Tipp für mein 2tes Problem:

  1. Frage: Bei meiner Seite gibt es ein paar Unterordner mit PHP Dateien, in denen auch die Links angezeigt werden sollen. Ich habe dazu auch ein input verwendet, aber diesmal ohne if-Abfragen, da man auf diesen Seiten sicher sein kann, dass es nicht diese Links sind.
    Das Problem: ich will nur ein input datei verwenden, und so müssten die Links ja bei jedem Unterordner unterschiedlich sein, sonst gehen sie nicht mehr, da ich interne Links verwende. Ich könnte zwar jeden Link so machen: hallo.bplaced.net/index.php, aber das wär dann ein externer link und der braucht dann so lange zum laden und das will ich eigentlich vermeiden. kann man das irgendwie “universialisieren”

bosz4

hat keiner ne idee :neutral_face:

Eventuell ist das Problem nicht so ganz klar.
Ist doch eigentlich egal, ob die Dateien in einem Unterverzeichnis
stehen oder nicht.

Etwa kannst du erst gucken, ob die Datei im übergeordneten
Verzeichnis steht und dann diese einbinden, sonst im
Unterverzeichnis gucken und die verwenden.

Oder wenn es von der aktuellen Datei abhängt, legst du in einer
Variable den aktuellen Dateinamen oder das anwendbare
Unterverzeichnis fest und bindest dann entsprechend die
Datei ein.

Wenn sich der Wert des href-Attributes in einer eingebundenen
Datei ändern soll, so setzt du den Wert flexibel mit PHP anhand
der aktuellen Hauptdatei zusammen, also aus mehreren
Variablen, bei denen eine eben das zu verwendende Verzeichnis
kennzeichnet.

Bei den vorgeschlagenen Lösungen zum ersten Problem solltest
du dann auch entsprechend das a-Element wie vorgesehen
ersetzen, denn es ist in der Tat nicht sinnvoll, einen Verweis zur
gerade aktuellen Datei anzugeben, das ist nur verwirrend, daher
ist der ursprüngliche Gedanke, das zu ersetzen schon sehr schön.
Kannst dir noch überlegen, ob die Elemente em oder strong
dafür sinnvoll eingesetzt sind, das b-Element hat ja eher keine
semantische Funktion und ist für den Zweck eher suboptimal.
Ich verwende b meist, um Vektoren zu kennzeichnen ;o)

oh danke, ich habs jetzt hinbekommen.