Menü-highlightning

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Menü-highlightning

    Hi!

    Ich habe ein Menü.
    Je nach ausgewählter Kathegorie (erkennabr an index.php?cat=*id*) soll im Menü der Menüpunkt geändert werden (eine andere Grafik).

    Gibt es eine elegantere Lösung?

    Quellcode

    1. <?
    2. $menu[0] = '<img src="img/navi_items/top.gif" alt="">';
    3. $menu[1] = '<img src="img/navi_items/1_news.gif" alt="News">';
    4. $menu[2] = '<img src="img/navi_items/2_gilde.gif" alt="Die Gilde">';
    5. $menu[3] = '<img src="img/navi_items/3_ueber.gif" alt="Über uns">';
    6. $menu[4] = '<img src="img/navi_items/4_member.gif" alt="Member">';
    7. $menu[5] = '<img src="img/navi_items/5_charaktere.gif" alt="Charaktere">';
    8. $menu[6] = '<img src="img/navi_items/6_berufe.gif" alt="Berufe">';
    9. $menu[7] = '<img src="img/navi_items/7_bewerbung.gif" alt="Bewerbung">';
    10. $menu[8] = '<img src="img/navi_items/8_clan.gif" alt="Der Clan">';
    11. $menu[9] = '<img src="img/navi_items/9_forum.gif" alt="Forum">';
    12. $menu[10] = '<img src="img/navi_items/10_links.gif" alt="Links">';
    13. $menu[11] = '<img src="img/navi_items/11_impressum.gif" alt="Impressum">';
    14. switch($_GET['cat']) {
    15. case'1': $menu[1] = '<img src="img/navi_items/hl/1_news.gif" alt="News">'; break;
    16. case'2': $menu[2] = '<img src="img/navi_items/hl/2_gilde.gif" alt="Die Gilde">'; break;
    17. case'3': $menu[3] = '<img src="img/navi_items/hl/3_ueber.gif" alt="Über uns">'; break;
    18. case'4': $menu[4] = '<img src="img/navi_items/hl/4_member.gif" alt="Member">'; break;
    19. case'5': $menu[5] = '<img src="img/navi_items/hl/5_charaktere.gif" alt="Charaktere">'; break;
    20. case'6': $menu[6] = '<img src="img/navi_items/hl/6_berufe.gif" alt="Berufe">'; break;
    21. case'7': $menu[7] = '<img src="img/navi_items/hl/7_bewerbung.gif" alt="Bewerbung">'; break;
    22. case'8': $menu[8] = '<img src="img/navi_items/hl/8_clan.gif" alt="Der Clan">'; break;
    23. case'9': $menu[9] = '<img src="img/navi_items/hl/9_forum.gif" alt="Forum">'; break;
    24. case'10': $menu[10] = '<img src="img/navi_items/hl/10_links.gif" alt="Links">'; break;
    25. case'11': $menu[11] = '<img src="img/navi_items/hl/11_impressum.gif" alt="Impressum">'; break;
    26. default: $menu[1] = '<img src="img/navi_items/hl/1_news.gif" alt="News">'; break;
    27. }
    28. $menu[1] = '<a href="index.php?cat=1">'.$menu[1].'</a><br>';
    29. $menu[2] = '<a href="index.php?cat=2">'.$menu[2].'</a><br>';
    30. $menu[3] = '<a href="index.php?cat=3">'.$menu[3].'</a><br>';
    31. $menu[4] = '<a href="index.php?cat=4">'.$menu[4].'</a><br>';
    32. $menu[5] = '<a href="index.php?cat=5">'.$menu[5].'</a><br>';
    33. $menu[6] = '<a href="index.php?cat=6">'.$menu[6].'</a><br>';
    34. $menu[7] = '<a href="index.php?cat=7">'.$menu[7].'</a><br>';
    35. $menu[8] = '<a href="index.php?cat=8">'.$menu[8].'</a><br>';
    36. $menu[9] = '<a href="index.php?cat=9">'.$menu[9].'</a><br>';
    37. $menu[10] = '<a href="index.php?cat=10">'.$menu[10].'</a><br>';
    38. $menu[11] = '<a href="index.php?cat=11">'.$menu[11].'</a><br>';
    39. foreach($menu as $line) {
    40. print $line;
    41. }
    42. ?>
    Alles anzeigen
    Die Japaner glauben jetzt auch, sie könnten den Superrechner verkaufen. Das wäre
    so, als würde man einen Jumbo-Jet nehmen, vorne und hinten die Spitzen absägen,
    davon 10 Stück zusammenschweißen und als ultimativen Super-Jet verkaufen.
  • Ich würde in so einem Fall die Bilder so benennen wie die Kategorie Id, dann sparst Du Dir das ganze switchen. Evtl. noch ein array mit den Alt-Texten und Fertig.

    Also so in der Richtung:

    Quellcode

    1. <img src="img/navi_items/<?=((is_file('img/navi_items/'.$_GET['cat']'.'.gif'))?'img/navi_items/'.$_GET['cat']'.'.gif':'img/navi_items/0.gif')?>" alt="<?=$arrAltText[$_GET['cat']]?>" />


    70abc
  • Das könnte man machen, ist aber zu unsicher, falls mal nicht richtige Variablen übergeben werden.
    Daher ist das case eig standart an solchen stellen bei mir.
    Die Japaner glauben jetzt auch, sie könnten den Superrechner verkaufen. Das wäre
    so, als würde man einen Jumbo-Jet nehmen, vorne und hinten die Spitzen absägen,
    davon 10 Stück zusammenschweißen und als ultimativen Super-Jet verkaufen.
  • Ich meine eher die methode von einer per GET übergenen Variable direkt auf eine Datei zu schließen.
    Das könnte Hackern ein Einfallstor sein.
    Die Japaner glauben jetzt auch, sie könnten den Superrechner verkaufen. Das wäre
    so, als würde man einen Jumbo-Jet nehmen, vorne und hinten die Spitzen absägen,
    davon 10 Stück zusammenschweißen und als ultimativen Super-Jet verkaufen.
  • "70abc" schrieb:

    Wenn Du da irgend einen Schadcode einschleusen willst, müsstes Du also erst einmal eine Datei hochladen...

    z.B. über einen Forenaccount? :D
    Möglichkeiten gibts immer! ;)

    Ich denke, ich werde das erstmal so lassen. Trotzdem thx!
    Die Japaner glauben jetzt auch, sie könnten den Superrechner verkaufen. Das wäre
    so, als würde man einen Jumbo-Jet nehmen, vorne und hinten die Spitzen absägen,
    davon 10 Stück zusammenschweißen und als ultimativen Super-Jet verkaufen.
  • "Max123" schrieb:

    "70abc" schrieb:

    Wenn Du da irgend einen Schadcode einschleusen willst, müsstes Du also erst einmal eine Datei hochladen...

    z.B. über einen Forenaccount? :D
    Möglichkeiten gibts immer! ;)

    Ich denke, ich werde das erstmal so lassen. Trotzdem thx!


    Sorry, aber wenn ein Hacker das schaft, dann ist Dein Code ganz genauso unsicher, denn dann könnte er einfach eines Deiner Bilder austauschen und dann könnte er seine Code ausführen, auch wenn die GET Variable einen von Dir zugelassenen Wert enthält!

    70abc
  • "Max123" schrieb:

    Ich meine eher die methode von einer per GET übergenen Variable direkt auf eine Datei zu schließen.
    Das könnte Hackern ein Einfallstor sein.


    ja, mittels einer über den benutzer definierten variable sollte man nicht einfach so dateien öffnen, gerade bei http://de.php.net/include . Die möglichkeit besteht ja, dass der User als Variable ../.../pfad/zu/geheimen/informatio.nen eingibt.
  • "wulfgang" schrieb:

    "Max123" schrieb:

    Ich meine eher die methode von einer per GET übergenen Variable direkt auf eine Datei zu schließen.
    Das könnte Hackern ein Einfallstor sein.


    ja, mittels einer über den benutzer definierten variable sollte man nicht einfach so dateien öffnen, gerade bei http://de.php.net/include . Die möglichkeit besteht ja, dass der User als Variable ../.../pfad/zu/geheimen/informatio.nen eingibt.


    Vielleicht sollte Ihr das mal nicht so aus dem Kontext ziehen. Es ging ja darum, das je nach Kategorie ein Bild angezeigt wird. Was macht denn HTML, wenn du als Source für Dein Bild "../.../pfad/zu/geheimen/informatio.nen" drin stehen hast? Nix, weil's wohl kein Bild ist!

    Wäre also nur in irgend einer Form von Bedeutung, wenn Du ein geheimes Bild auf dem Server hast, und der Hacker den Pfad zu diesem Bild kennt.

    Im übrigen sollte man geheime Daten eh nie in den Server Pfad legen!

    70abc