Frage zu if elseif else

berlinkw

Mitglied
hallo
verstehe gerade nicht so ganz das ergebniss meiner schleifenkonstruktion
hoffe ihr steinigt mich nicht :suspekt:
hier erst mal der code

PHP:
$link = $_GET['link'];
$link1 = $_GET['link1'];

    if($link == "katalog")
      {
      	$aktiv1 = 'menuaktiv';
        $floescher = 	'<a style="padding-left:10px" class="'.$aktiv1.'" href="katalog.php?link=katalog&link1=floescher">Feuerlöscher</a><br />';
      	$rmelder = 		'<a style="padding-left:10px" class="'.$aktiv1.'" href="rmelder.php?link=katalog">Rauchmelder</a><br />';
				$mtechnik = 	'<a style="padding-left:10px" class="'.$aktiv1.'" href="mtechnik.php?link=katalog">Medizientechnik</a><br />';

      }
    elseif($link == "dienst")
    	{
      	$aktiv2 = 'menuaktiv';
      }
    elseif($link == "gesetz")
    	{
      	$aktiv3 = 'menuaktiv';
      }
    elseif($link == "impressum")
    	{
      	$aktiv4 = 'menuaktiv';
      }
    elseif($link == "kontakt")
    	{
      	$aktiv5 = 'menuaktiv';
      }
    else
    	{
				$aktiv1 = 'menu';
      	$aktiv2 = 'menu';
        $aktiv3 = 'menu';
        $aktiv4 = 'menu';
        $aktiv5 = 'menu';
      }
nun hab ich mir das mal per echo anzeigenlassen
PHP:
    echo 'link= '.$link.'<br>';
    echo 'link1= '.$link1.'<br>';
    echo 'aktiv1= '.$aktiv1.'<br>';
    echo 'aktiv2= '.$aktiv2.'<br>';
    echo 'aktiv3= '.$aktiv3.'<br>';
    echo 'aktiv4= '.$aktiv4.'<br>';
    echo 'aktiv5= '.$aktiv5.'<br>';

so und zum schluß der teil wofür ich das brauche

PHP:
    echo '<br><br>';
		echo '<a class="'.$aktiv1.'" href="katalog.php?link=katalog">Onlinekatalog</a><br />';
    echo $floescher;
    echo $pulver;
    echo $wasser;
    echo $schaum;
    echo $fett;
    echo $spezial;
    echo $co2;
    echo $rmelder;
    echo $mtechnik;
		echo '<a class="'.$aktiv2.'" href="dienst.php?link=dienst">Diensteistungen</a><br />';
		echo '<a class="'.$aktiv3.'" href="gesetz.php?link=gesetz">gesetzliche-<br />Bestimmungen</a><br />';
		echo '<a class="'.$aktiv4.'" href="impressum.php?link=impressum">Impressum / AGB</a><br />';
		echo '<a class="'.$aktiv5.'" href="kontakt.php?link=kontakt">Kontakt</a><br />';
		echo '<br><br><br><br><br><br><br><br>';
		echo '<div align="center">';
		echo '<img src="bilder/tuef-berlin.gif" alt="">';
		echo '</div>';
		echo '<br /><br />';

mein problem ist das der teil am ende der schleife (else) nicht beachtet wird.
nur beim ersten duchlauf wenn noch kein link angeklickt wurde.

als ergebniss sollte aber folgendes rauskommen
link= dienst
link1=
aktiv1=menu
aktiv2= menuaktiv
aktiv3=menu
aktiv4=menu
aktiv5=menu

jetzt sieht es aber so aus
link= dienst
link1=
aktiv1=
aktiv2= menuaktiv
aktiv3=
aktiv4=
aktiv5=

hoffe das zu verstehen war was mein problem ist.

gruß berlinkw

nachtrag
hatte einen denkfehler
so geht es
PHP:
...
    elseif($link == "dienst")
    	{
      	$aktiv2 = 'menuaktiv';
        $aktiv1 = 'menu';
        $aktiv3 = 'menu';
        $aktiv4 = 'menu';
        $aktiv5 = 'menu';
      }
    elseif($link == "gesetz")
    	{
      	$aktiv3 = 'menuaktiv';
        $aktiv1 = 'menu';
      	$aktiv2 = 'menu';
        $aktiv4 = 'menu';
        $aktiv5 = 'menu';
      }
....
 
Zuletzt bearbeitet:
Mach es doch einfacher, setz VOR der If abfrage alles auf Menu, und änder dannach den aktiven. Dann hast du nicht so viele zuweisungen drinstehen und es einfacher falls mal einer dazukommen sollte.
 
Hallo
Mit SWITCH hab ich auch schon mal getestet. Nur wurde mir der Code da zu aufgebläht. Oder ich bin falsch rangegangen.

Ich werde jetzt das ganze mal Versuchen zu verkleinern.
Dachte da an
if($vari1 = "wert1" && $vari2 = "wert2" && $vari3 = "wert3")
hoffe das es dann etwas übersichtlicher wird.

Sollte jemand eine bessere (kürzere und/oder übersichtlichre) Variante haben dann nur her damit ;-)

Gruß berlinkw
 
Zurück