1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Include Probleme mit PHP5

Dieses Thema im Forum "PHP & Co." wurde erstellt von save, 01.09.07.

  1. save

    save Gast

    Hallo Zusammen
    Ich habe seit der Umstellung meines Provider Probleme mit Include. Es funktioniert nur noch der else Befehl am Schluss der Seite. Kann mir jemand weiterhelfen?

    <?php
    if ($clu==s1){
    include ("main/home.php");}
    elseif ($clu==s2){
    include ("main/geschichte.php");}
    elseif ($clu==s3)
    {include ("main/termine.php");}
    elseif ($clu==s4)
    {include ("main/aktualitaeten/aktualitaeten.php");}
    elseif ($clu==s8)
    {include ("main/baustellen/baustellen.php");}
    elseif ($clu==s5)
    {include ("main/fotogalerie.php");}
    elseif ($clu==s6)
    {include ("mail/mail.html");}
    elseif ($clu==s7)
    {include ("main/link.php");}
    elseif ($clu==s9)
    {include ("mail/mail_fehler.html");}
    elseif ($clu==a1)
    {include ("main/anlagen/n_anlage/n_anlage.php");}
    elseif ($clu==a2)
    {include ("main/anlagen/n_anlage/n_anlage.php");}
    elseif ($clu==a3)
    {include ("main/anlagen/h0_gleich/h0_gleich.php");}
    elseif ($clu==a4)
    {include ("main/anlagen/h0_wechsel/h0_wechsel.php");}
    elseif ($clu==a5)
    {include ("main/anlagen/jugend/jugend.php");}
    elseif ($clu==a6)
    {include ("main/anlagen/bahn_quer/bahn_quer.php");}
    elseif ($clu==a7)
    {include ("main/anlagen/meca_drome/meca_drome.php");}
    elseif ($clu==a8)
    {include ("main/anlagen/0_modul/0_modul.php");}
    elseif ($clu==a9)
    {include ("main/anlagen/1_modul/1_modul.php");}
    elseif ($clu==a10)
    {include ("main/anlagen/maerklin_70er/maerklin_70er.php");}
    elseif ($clu==i1)
    {include ("main/informationen/mitglied/mitglied.php");}
    elseif ($clu==i2)
    {include ("main/informationen/mitglied/mitglied.php");}
    elseif ($clu==i3)
    {include ("main/informationen/anfahrt/anfahrt.php");}
    elseif ($clu==i4)
    {include ("main/informationen/bar/bar.php");}
    elseif ($clu==i5)
    {include ("main/informationen/sponsoring/sponsoring.php");}
    elseif ($kon==k1)
    {include ("kontakt/kontakt_auswerten.php");}
    elseif ($clu==i6)
    {include ("main/informationen/download/download.php");}
    else
    {include ("main/home.php");}
    ?>
     
  2. reimic

    reimic Stina Lohmann

    Dabei seit:
    31.08.06
    Beiträge:
    1.036
    Probier doch mal ' statt "
     
  3. save

    save Gast

    funkt auch nicht.
     
  4. PatrickB

    PatrickB Rhode Island Greening

    Dabei seit:
    29.10.05
    Beiträge:
    478
    probiers mit mit $clu=='s1' (und so weiter natürlich)
     
    1 Person gefällt das.
  5. Hobbes_

    Hobbes_ Gast

    Das scheint mir auch der Schlüssel zum Erfolg zu sein.

    Ein weiteres Problem könnte sein, dass register_globals beim neuen Provider wahrscheinlich ausgeschaltet ist (wie es korrekterweise sein sollte!) und beim alten fälschlicherweise eingeschaltet war.

    Eineschaltetes register_globals erlaubt es Dir, einen Parameter direkt als Variable zu verwenden, was zahlreiche Tore für Sicherheitsprobleme öffnet. Deshalb sollte es immer ausgeschaltet sein, und die Parameter eigenständig eingelesen werden.

    Siehe PHP-Dokumentation bzgl superglobals ($_GET, $_POST,$_SERVER, etc.)

    ------

    Daneben ist so eine if-Schlange nicht wirklich effizient bzw. erweiterungsfreundlich. Besser scheint mir ein Array zu sein. Dieses kannst Du dann noch weiter abstrahieren, zB. einlesen aus einer Datenbank oder einem Text-File, so dass Du bei Ergänzungen nicht immer den eigentlichen Code ändern musst...

    Code:
    <?
    $jumpList = array("s1" =>"main/home.php", "s2" => "main/geschichte.php", undsoweiter);
    
    $clu=$_GET['clu']; // oder $_POST['clu'], wenn Die Variable per POST übermittelt wird.
    
    if($clu != "")
    {
        $jump=$jumpList[$clu];
    }
    else
    {
        $jump="";
    }
    
    if($jump != "")
    {
        include($jump);
    }
    else
    {
      // Fehlermanagement wegen falschem / fehlendem Input-Parameter
      include ("main/home.php");
    }
    ?>
    
    just my 2 cents
     
    #5 Hobbes_, 01.09.07
    Zuletzt von einem Moderator bearbeitet: 01.09.07
  6. zeno

    zeno Lane's Prinz Albert

    Dabei seit:
    05.11.05
    Beiträge:
    4.898
    Und schau dir mal switch an ;)
     

Diese Seite empfehlen