Antworten auf deine Fragen:
Neues Thema erstellen

php aktuelle Seite hervorheben

bibifellow

Nicht mehr ganz neu hier

Ich habe eine design seite mit Navigation
<li> <a href="index.php?seite=home" >Home</a></li> und das für jeden Link
und include mit
<?php
$seite = isset($_GET['seite']) ? $_GET['seite'] : '';
switch($seite){
default:
case"home":
include("start.html");
break; usw. läuft alles bestens nun möchte ich die aktuelle Seite in fetter Schrift hervorheben. Ich habe schon eine Menge Anleitungen ausprobiert aber es klappt einfach nicht mit php das ist mein letzter Versuch

<?php
$nav = array(
'/' => array('home', 'home'),
'/werbung' => array('werbung', 'werbung'),
'/industrie' => array('industrie', 'industrie'),
);
$_SERVER['REQUEST_PATH'] = preg_replace('/\?.*/', '', $_SERVER['REQUEST_URI']);
foreach ($nav as $url => $desc) {
echo '

<li' . ($url == $_SERVER['REQUEST_PATH'] ? ' class="active"' : '') . '><a href="' . $url . '" title="' . $desc[1] . '">' . $desc[0] . '</a></li>';
} ?>

das dann in die css datei eingefügt
}
#active {
color:#0F9
}

damit ich besser sehe ob sich etwas ändert

dies habe ich ganz oben vor dem head eingefügt aber es klappt auch nicht irgendwie bin ich total ratlos.
Wäre dankbar für jede Hilfe.
 

Ravetracer

Hobbyfotograf

AW: php aktuelle Seite hervorheben

Wieso fragst du nicht $seite ab?
Außerdem pack mal bitte deinen Code in die PHP-Tags, damit er besser im Thema lesbar ist.
 

bibifellow

Nicht mehr ganz neu hier

AW: php aktuelle Seite hervorheben

Geht das überhaupt wenn ich nur eine index.php habe und alle Seiten in das div #text lade und wenn wenn das geht wie stelle ich das denn an bin jetzt php anfänger. Wichtig wäre auch wo ist den Code einsetzen muss bei den include Befehlen oder wo anders.
 

Antr4ks

Nicht mehr ganz neu hier

AW: php aktuelle Seite hervorheben

Ganz einfach, nur etwas umständlich funktionierts natürlich, wenn du bei jedem Menüpunkt abfragst, ob die grad geöffnete $seite den Inhalt des Linkes hat :)

PHP:
if($_GET['seite'] == "home") { 
echo('<div class="active">'); 
} 
else { 
echo('<div class="normal">'); 
} 
echo('<a href="?seite=home">Startseite</a></div>');
 

bibifellow

Nicht mehr ganz neu hier

AW: php aktuelle Seite hervorheben

<?php
$seite = isset($_GET['seite']) ? $_GET['seite'] : '';
switch($seite){
default:
case"home":
include("start.html");
break;
if($_GET['seite'] == "home") {
echo('<div class="active">');
}
else {
echo('<div class="normal">');
}
echo('<a href="?seite=home">Startseite</a></div>'); ?>

das wäre die php

und die css
#active {
color:#0F9
}

leider bewegt sich gar nicht hab ich es falsch hintereinandergepackt oder wo kann der Fehler sein?
 

Ravetracer

Hobbyfotograf

AW: php aktuelle Seite hervorheben

Ich nehme mal deinen Code aus deinem Anfangspost, da du damit
die Lösung schon sehr einfach realisieren kannst!
(PS: Bitte nutze die PHP-Tags, damit wir deinen Code vernünftig lesen können. Einfach den Code zwischen [ PHP ] und [ /PHP ] setzen, aber ohne die Leerzeichen)

Die "index.php":
PHP:
<?php
  $seite = trim( strip_tags( $_GET[ "seite" ] ) );
  $nav = array(
    '/' => 'home',
    '/werbung' => 'werbung',
    '/industrie' => 'industrie' );

  foreach ( $nav as $url => $desc ) { ?>
     <li <?php echo $seite == $url ? "class='active'" : ""?>>
     <a href="<?php echo $url?>" title="<?php echo $desc?>"><?php echo $desc?></a></li>
<?php } ?>
Ach ja, ist ungetestet ;).
 
Zuletzt bearbeitet:

bibifellow

Nicht mehr ganz neu hier

AW: php aktuelle Seite hervorheben

Das habe ich eingefügt und bei css #acitve auch eingefügt aber warum passiert denn nichts. Habe den Code über dem head eingefügt. Ist das richtig oder muss ich einen anderen Platz nehmen.
 

Blackout289

Nicht mehr ganz neu hier

AW: php aktuelle Seite hervorheben

Also bei mir sieht das ganze so aus:
css (kannst ja die parameter nemen die du möchtest^^):
PHP:
#navcontainer ul li a.current
{
color:#000;
font-weight:bold;
background:#fff;
text-decoration:none;
width: 100%;
height:auto;
}
Und meine Navigation sieht folgendermaßen aus:
PHP:
<div id="navcontainer">
<ul id="navlist">
<li><a href="willkommen.htm?lang=de" class="<?php echo ($_GET['seite'] == 'willkommen') ? 'current': 'normal'; ?>" tabindex="1">Willkommen</a></li>....
is halt n bisschen durcheinander, weil ichs nur ausgeschnitten habe, dürfte aber verständlich sein^^
MFG black
 

lachender_engel

Aktives Mitglied

AW: php aktuelle Seite hervorheben

Liest sich schwer!
Die Abfrage nach $url hast Du im HTML-Code eingebunden - das klappt nicht.
Entweder musst mit EOF arbeiten oder <? ?>.
Zudem funktioniert (meinem Wissen nach) ($url == xyz) nicht. das muss heißen
(if $url == xyz...)
 

bibifellow

Nicht mehr ganz neu hier

AW: php aktuelle Seite hervorheben

blackout289 habe es jetzt geschafft klappt gut Deine Anleitung funktioniert. Danke!! Jetzt ist alles optimal.
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.476
Mitglieder
67.559
Neuestes Mitglied
hanuta
Oben