Kane: includes Dynamisch machen ! Wie !?!?!

Hi Leute ich habe ein Problem ich versuche meine includes dynamischer zu machen schaffe es aber nicht !

<a href="index.php?luli=includes/clansatzunginc" target="_self">Button</a>

(( Auszug aus meiner Index.php ))
<td width="463px" valign="top"><br>
     <?include("includes/maininc.php");?> //soll immer zuerst angezeigt werden
     <?include($luli."php");?> // soll nach klick auf den Button erscheinen und maininc.php komplett ersetzen
</td>

Klappt aber nicht !
Beim anschen der Index.php erhalte ich diesen Fehler :

Notice: Undefined variable: luli in C:\Homepages\OmniSecure\htdocs\lineagePortal\index.php on line 79

Warning: main(php): failed to open stream: No such file or directory in C:\Homepages\OmniSecure\htdocs\lineagePortal\index.php on line 79

Warning: main(): Failed opening 'php' for inclusion (include_path='.;c:\php4\pear') in C:\Homepages\OmniSecure\htdocs\lineagePortal\index.php on line 79

da drüber wird aber mein Normales include angezeigt ( <?include("includes/maininc.php");?> )

_____________________________________________________________________

wenn ich dann auf den link drück kommt dieser Fehler :

Warning: main(includes/clansatzungincphp): failed to open stream: No such file or directory in C:\Homepages\OmniSecure\htdocs\lineagePortal\index.php on line 79

Warning: main(): Failed opening 'includes/clansatzungincphp' for inclusion (include_path='.;c:\php4\pear') in C:\Homepages\OmniSecure\htdocs\lineagePortal\index.php on line 79

und der Text von meinem normalen Include steht noch da ( <?include("includes/maininc.php");?> )

Was habe ich falsch gemacht *heul* bitte helft mir

ps. Sorry wennes etwas unübersichtlich is

  1. Hi

    <? if(!$luli){
          include("includes/maininc.php");
          }else{
          include("includes/$luli.php");
          }
         ?>

    Gruss Rainer

  2. Klappt aber nicht !

    Such mal im Archiv nach register_globals!

    Und mach das niemals so:

    <?include($luli."php");?>

    Du bindest hier einfach was ein, ohne zu checken, was der User da übergibt. Indem ich bei sowas jetzt ein wenig rumspiele und verschiedene Werte an den URL anhänge, kann ich dort einbinden lassen, was ich will.
    Möglicherweise kommte ich so an Passwort-Dateien oder anderes ran...

    Außerdem sollte da wohl noch ein Punkt mehr hin: include($luli.".php");

  3. Hi Kane,

    <?include("includes/maininc.php");?> //soll immer zuerst angezeigt werden

    Das ist richtig, gesetzt dem Fall, dass es auch nach dem Klick noch angezeigt werden soll.

    <?include($luli."php");?> // soll nach klick auf den Button erscheinen und maininc.php komplett ersetzen

    Hier kriegst du eine Notice angezeigt, wenn $luli leer ist (Undefined variable) und zusätulich noch eine Warnung, weil er dann versucht die Datei "php" zu includen, die es natürlich nicht gibt.

    Nach dem Klick gibt es dann immer noch einen Fehler, weil du vor "php" den . vergessen hast.

    Im Endeffekt muss es dann so aussehen:

    <?include("includes/maininc.php");?>

    if(!empty($_GET['luli'])) {
        <?include($_GET['luli'] . ".php");?> //Der erste Punkt zum Verbinden, der zweite für .php
    }

    Außerdem solltest du die Variable über $_GET ansprechen.

    MfG, Dennis.

    --
    Mein SelfCode: ie:{ fl:{ br:^ va:) ls:< fo:) rl:( n4:& ss:) de:> js:( ch:{ sh:( mo:} zu:|
    Zufällige Hinweise:
    ------------------------
    Wer die </faq/> gelesen hat, ist klueger!
    ... und wei wie man Links macht ;-)
  4. Thx hat mir weiter geholfen :)