Chris: Menü - Aktives Item

Hallo zusammen,
mein Problem bezieht sich das aktive Item in meinem Menü. Der Aufbau der Website:

index.php
-- include menu.php
-- include $_GET['site'].".php"

Wenn ich nun den Menü-Punkt "Home" (home.jpg) anklicke möchte ich, dass die Seite Home geladen wird und zugleich das home.jpg sich in home_active.jpg verwandelt.

Beispielsweise wie hier: http://www.joomla.de/neuigkeiten.html
Dort ist die Seite "Neuigkeiten" geladen und dessen Menüpunkt "activated".

Diese scheinbar primitive Funktion will bei mir einfach nicht gelingen. Ich versuchte es über Javascript und onClick"..." dabei machte PHP irgendwie Probleme.

Dann habe ich es total kompliziert über die Get-Funktion versucht:
if(empty($_GET['img']) || !file_exists($_GET['img'].".jpg") || $_SERVER["HTTP_HOST"]!="www.test.de") {
$_GET['img']="1";

Pro Bild:
<img src="home<? echo $_GET['img'] ?>.jpg" />. Wenn man jedes Bild nun x-mal erstellt, die Links anpasst und dann die Links nachfolgende öffnet, würde es auch funktionieren, aber viel zu kompliziert und viel zu viel Arbeit irgendwie: <a href="index.php?site=home&img=1">Home</a>

Ich schätze ich sehe den Wald vor lauter Bäume nicht?
Wäre euch um Tipps, Anregungen oder Lösungsvorschläge sehr verbunden!

Grüße
Chris

  1. hallo

    -- include $_GET['site'].".php"

    ich würd das erstmal absichern, sonst hast du beim nächsten 1337-hack0r ein Problem

    Wenn ich nun den Menü-Punkt "Home" (home.jpg) anklicke möchte ich, dass die Seite Home geladen wird und zugleich das home.jpg sich in home_active.jpg verwandelt.

    zum Beispiel...

    if($_GET['site'] == 'Home') // Sicherung nicht vergessen  
    // home-aktiv.jpg  
    else  
    // home.jpg
    

    <img src="home<? echo $_GET['img'] ?>.jpg" />.

    auch hier, die GET-Variable muss abgesichert werden

    cu

    1. Grüße,

      auch hier, die GET-Variable muss abgesichert werden

      bei navi wäre ein switch oder in_array vllt ein egute idee - billig und böse ;)
      MFG
      bleicher

      --
      __________________________-

      FirefoxMyth
    2. Hallo und danke für deinen Tipp!

      ich würd das erstmal absichern, sonst hast du beim nächsten 1337-hack0r ein Problem

      Mit dem Absichern habe ich mich noch nicht befasst, darum kümmer ich mich anschließend (muss google wohl wieder eine Std. herhalten ;-).

      Mein Versuch (funktioniert leider nicht):

        
      <a onMouseOver="tauschaus1.src='Bilder/home_aktiv.jpg';" onMouseOut="tauschaus1.src='Bilder/<? if($_GET['site'] == 'home')  
      { echo 'home_aktiv.jpg'; } else { echo 'home.jpg'; } ?>';"  href="index.php?site=home">  
      <img src="Bilder/<? if($_GET['site'] == 'home') { echo 'home_aktiv.jpg'; } else { echo 'home.jpg'; } ?>" width="122" height="64" alt="home" name="tauschaus1" border="0"></a>
      

      Erkennt jemand den Fehler?

      1. Sorry für den DOppelpost, aber ich habe meinen Fehler gefunden. Ein fehlendes Semikolon im PHP-Skript davor brachte mir das Problem.

        Danke euch die Tipps, haben mir sehr geholfen!

  2. Hi,

    if(empty($_GET['img']) || !file_exists($_GET['img'].".jpg") || $_SERVER["HTTP_HOST"]!="www.test.de") {

    Du arbeitest für die Stiftung Warentest?

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
    1. Du arbeitest für die Stiftung Warentest?

      Hey Andreas,

      natürlich, bei meinen beschränkten Programmmierkenntnisse wollten Die mich unbedingt haben :-P

      Nein, Quatsch. Die richtige Website wird dort, wenns denn funktionieren sollte, dann schon stehen. Aber leider finde ich meinen Fehler nicht:
      http://forum.de.selfhtml.org/?t=190644&m=1270806