Ich habe auf meiner Webseite bereits ein Aufklappmenü mit CSS-Hover gehabt und wollte dann jeweil die aktuelle Seite hervorheben bzw. den aktuellen Unterpunkt "aufklappen".
Nun habe ich folgenden Code geschrieben, gibt es da Verbesserungen, weil ich noch totaler Anfänger bin, Sicherheitsprobleme sehe ich keine, aber das hat ja nichts zu heißen...
Beispiel Menüstruktur (aktulle Seite: "Startseite"), bei href="" ist jeweils noch die URL eingetragen
	PHP Code für die Navigation:
	
	
							
						
					Nun habe ich folgenden Code geschrieben, gibt es da Verbesserungen, weil ich noch totaler Anfänger bin, Sicherheitsprobleme sehe ich keine, aber das hat ja nichts zu heißen...
Beispiel Menüstruktur (aktulle Seite: "Startseite"), bei href="" ist jeweils noch die URL eingetragen
Code:
	
	       <ul>
    <li id="akt_up">Startseite</li>
    <li><a target="_top" href=""></a></li>
    <li><a target="_top" href=""></a></li>
    <li class="off">Software
      <ul class="menueliste">
        <li><a target="_top" href="" >Unterpunkt 1</a></li>
        <li><a target="_top" href="">Unterpunkt 2</a></li>
      </ul>
    </li>
  </ul>
PHP-Code:
	
	
//Auslesen der aktuellen Seite (alle Dateien sind im Hauptverzeichnis)
$aktuell = substr($_SERVER['SCRIPT_NAME'], 1 );
$seiten[] = array ( "name" => "Impressum", "url" => "impressum.php", "sonstiges" => 'accesskey="1"'); // Beispiel - Array 
PHP-Code:
	
	
$ausgabe = '';
foreach ( $seiten as $seite )
{
    if ( isset ($seite['sub']) )
    {
        $check = false;
        $ausgabe .= "\t\t" . '<li class="off" id="{[check]}">' . 
$seite['name'] . "\n" . "\t\t\t" . '<ul class="menueliste">' . "\n";
        foreach ( $seite['sub'] as $unterseite )
        {
            if ($unterseite['url'] == $aktuell)
            {
                $ausgabe.= "\t\t\t\t" . '<li id="akt_sub">' . 
$unterseite['name']. '</li>' . "\n";
                $check = true;
            }
            
            else
            {
                $ausgabe.= "\t\t\t\t" .'<li><a rel="nofollow" target="_top" 
href="example.com/?url=' . $unterseite['url'] . '">' . $unterseite['name']. 
'</a></li>' . "\n";
            }
        }
        if ( $check )
            $ausgabe = str_replace('id="{[check]}"', 'id="akt"', $ausgabe);
        else
            $ausgabe = str_replace('id="{[check]}"', '', $ausgabe);
        $ausgabe .= "\t\t\t</ul>\n\t\t</li>\n";
    }
    else
    {
        if ( $seite['url'] == $aktuell )
        {
            $ausgabe.= "\t\t" . '<li id="akt_up">' . $seite['name']. "</li>\n";
        }
        else
        {
            $ausgabe.= "\t\t" . '<li><a target="_top" href="http://example.com/?url=' . $seite['url'] . '" ' . 
$seite['sonstiges'] .
 '>' . $seite['name']. '</a></li>' . "\n";
        }
                
    
    }
}
    echo $ausgabe; 
 
          

 ), manche haben ein „nofollow“ gesetzt und insgesamt ist der Code ohne Kommentare nicht wirklich zu durchblicken.
), manche haben ein „nofollow“ gesetzt und insgesamt ist der Code ohne Kommentare nicht wirklich zu durchblicken.

Kommentar