PHP Include, Switch, Code Probleme

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

  • PHP Include, Switch, Code Probleme

    Hallo Gemeinde,
    habe da ne Frage. Habe jetzt da für meine Navigation und meine Contenseiten die in die index.php geladen werden 2 Codeschnippsel, die ich gerne zusammenführen würde zu einem.

    Teil 1:

    Quellcode

    1. <?php
    2. if ($_GET['dk'] == 'anasayfa')
    3. {
    4. $css_style = 'id=nav01on';
    5. }
    6. else
    7. {
    8. $css_style = 'id=nav01';
    9. }
    10. echo '<li '.$css_style.'><a href="index.php?dk=anasayfa"><span>Anasayfa</span></a></li>';
    11. ?>
    Alles anzeigen


    Teil2:

    Quellcode

    1. <?php
    2. if(isset($_GET['dk'])){
    3. switch($_GET['dk']){
    4. case 'anasayfa' :
    5. include('includes/anasayfa.php');
    6. break;
    7. case 'hakkimizda' :
    8. include('includes/hakkimizda.php');
    9. break;
    10. case 'multimedia' :
    11. include('includes/multimedia.php');
    12. break;
    13. case 'forum' :
    14. include('includes/forum.php');
    15. break;
    16. case 'iletisim' :
    17. include('includes/iletisim.php');
    18. break;
    19. case 'kunye' :
    20. include('includes/kunye.php');
    21. break;
    22. default :
    23. include('includes/error.php');
    24. break;
    25. }
    26. }else{
    27. include('includes/anasayfa.php');
    28. }
    29. ?>
    Alles anzeigen


    Und am besten noch zu Teil 2 ne möglichkeit, das er gleichzeitig mein Submenü aufruft. Aber irgendwie bin ich total mit php überfordert.
    Jetzt schonmal großen Dank! LG VOLKAN

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von esertime ()

  • hi,

    wo genau lag dein problem? die beides codes zusammenzuführen.
    Das ginge zum Beispiel so:

    Quellcode

    1. <?php
    2. if(isset($_GET['dk'])){
    3. $css_style = 'id=nav01';
    4. switch($_GET['dk']){
    5. case 'anasayfa' :
    6. $css_style = 'id=nav01on';
    7. include('includes/anasayfa.php');
    8. break;
    9. case 'hakkimizda' :
    10. include('includes/hakkimizda.php');
    11. // ...
    Alles anzeigen


    ansonsten erläutere nochmal genauer dein Vorhaben,
    Lg
  • Hey
    d0nut! Das Problem ist, das es totaler Schwachsinn war und es gar nicht
    hätte funktionieren können was ich habe machen wollen. Daher, Sorry!
    Habe jedoch das ganze nun überdacht und mein eigentliches Problem festgestellt :)

    Teil 1:

    Quellcode

    1. <?php
    2. if ($_GET['dk'] == 'anasayfa'){
    3. $css_style = 'id=nav01on';
    4. }else{
    5. $css_style = 'id=nav01';}
    6. echo '<li '.$css_style.'><a href="index.php?dk=anasayfa"><span>Anasayfa</span></a></li>';
    7. $sub='';
    8. if ($_GET['dk'] == 'hakkimizda'){
    9. $css_style = 'id=nav02on';
    10. $sub.='<div id="headerSubNavBar">';
    11. $sub.='<ul>';
    12. $sub.='<li id="subnav01"><a href="index.php?dk=inanckurulu"><span>Inanc Kurulu</span></a></li>';
    13. $sub.='<li id="subnav02"><a href="index.php?dk=hakkimizda"><span>Yönetim Kurulu</span></a></li>';
    14. $sub.='<li id="subnav03"><a href="index.php?dk=hakkimizda"><span>Kadinlar Kolu</span></a></li>';
    15. $sub.='<li id="subnav04"><a href="index.php?dk=hakkimizda"><span>Genclik Kolu</span></a></li>';
    16. $sub.='</ul>';
    17. $sub.='</div>';
    18. }else{
    19. $css_style = 'id=nav02';}
    20. echo '<li '.$css_style.'><a href="index.php?dk=hakkimizda"><span>Hakkimizda</span></a>'.$sub.'</li>';
    21. if ($_GET['dk'] == 'multimedia'){
    22. $css_style = 'id=nav03on';
    23. }else{
    24. $css_style = 'id=nav03';}
    25. echo '<li '.$css_style.'><a href="index.php?dk=multimedia"><span>Multimedia</span></a></li>';
    26. if ($_GET['dk'] == 'forum'){
    27. $css_style = 'id=nav04on';
    28. }else{
    29. $css_style = 'id=nav04';}
    30. echo '<li '.$css_style.'><a href="index.php?dk=forum"><span>Forum</span></a></li>';
    31. if ($_GET['dk'] == 'iletisim'){
    32. $css_style = 'id=nav05on';
    33. }else{
    34. $css_style = 'id=nav05';}
    35. echo '<li '.$css_style.'><a href="index.php?dk=iletisim"><span>Iletisim</span></a></li>';
    36. if ($_GET['dk'] == 'kunye'){
    37. $css_style = 'id=nav06on';
    38. }else{
    39. $css_style = 'id=nav06';}
    40. echo '<li '.$css_style.'><a href="index.php?dk=kunye"><span>Kunye</span></a></li>';
    41. ?>
    Alles anzeigen


    So
    sieht nun der Aufbau meiner Navigation in meiner header.php aus. Das
    Problem ist, das es verschachtelt ist und auch Sub/Sub Menüs haben
    soll. Hat es auch, jedoch wenn ich auf einen der Sub-Menü Punkte
    Klicke, funktioniert es zwar, aber das Sub-Menü wird nicht wieder
    angezeigt.

    Beispiel:

    Teil 2:

    Quellcode

    1. $sub='';
    2. if ($_GET['dk'] == 'hakkimizda'){
    3. $css_style = 'id=nav02on';
    4. $sub.='<div id="headerSubNavBar">';
    5. $sub.='<ul>';
    6. $sub.='<li id="subnav01"><a href="index.php?dk=inanckurulu"><span>Inanc Kurulu</span></a></li>';
    7. $sub.='<li id="subnav02"><a href="index.php?dk=hakkimizda"><span>Yönetim Kurulu</span></a></li>';
    8. $sub.='<li id="subnav03"><a href="index.php?dk=hakkimizda"><span>Kadinlar Kolu</span></a></li>';
    9. $sub.='<li id="subnav04"><a href="index.php?dk=hakkimizda"><span>Genclik Kolu</span></a></li>';
    10. $sub.='</ul>';
    11. $sub.='</div>';
    12. }else{
    13. $css_style = 'id=nav02';}
    14. echo '<li '.$css_style.'><a href="index.php?dk=hakkimizda"><span>Hakkimizda</span></a>'.$sub.'</li>';
    Alles anzeigen


    Das
    ist die Ober-Kategorie "Hakkimizda". Das Submenü sind das 01 Inanc
    Kurulu, 02 Yönetim Kurulu, 03 Kadinlar Kolu, 04 Genclik Kolu.
    Bis
    hier hin funktioniert das auch! Aber wenn ich z.B auf 01 Inanc Kurulu
    bin, wird das Sub-Menü wieder ausgeblendet. d.h der Code sollte in etwa
    so dann aussehen, das mein Untermenü eine Art Untermenü anzeige hat,
    die dann wiederrum angezeigt wird und das dann auch noch mit der
    richtigen id z.b id="subnav01" sollte dann werden nach klick
    id="subnav01on" ...

    Zum Aufbau ist zu sagen, das ich eine
    index.php, header.php und footer.php habe. In die index.php wird per
    include die header.php, die footer.php und der Contentbereich mittels:

    Quellcode

    1. <?php
    2. if(isset($_GET['dk'])){
    3. switch($_GET['dk']){
    4. case 'anasayfa' :
    5. include('includes/anasayfa.php');
    6. break;
    7. case 'hakkimizda' :
    8. include('includes/hakkimizda.php');
    9. break;
    10. case 'multimedia' :
    11. include('includes/multimedia.php');
    12. break;
    13. case 'forum' :
    14. include('includes/forum.php');
    15. break;
    16. case 'iletisim' :
    17. include('includes/iletisim.php');
    18. break;
    19. case 'kunye' :
    20. include('includes/kunye.php');
    21. break;
    22. case 'siteharitasi' :
    23. include('includes/siteharitasi.php');
    24. break;
    25. case 'inanckurulu' :
    26. include('includes/inanckurulu.php');
    27. break;
    28. default :
    29. include('includes/error.php');
    30. break;
    31. }
    32. }else{
    33. include('includes/anasayfa.php');
    34. }
    35. ?>
    Alles anzeigen


    ...dem hier hineingeladen.

    In der header.php stehen die ganzen Navigations-Daten drinne. Siehe Teil 1.

    ich hoffe du kannst mir dabei behilflich sein.. komme echt seit 2 Tagen nicht weiter :(
    Achja und sorry das der Code so Chaotisch aussieht :(

    Danke! LG Volkan

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von esertime ()

  • Ich versuchs erstmal mit einer kurzen Antwort.
    Wenn du Haupt- und Unternavigation haben willst dann hast du zwei Möglichkeiten.

    Du stellst diese Kategorien irgendwie miteinander in Verbindung. (Datenbankrelation).. oder ein verschachteltes Array, etc.
    Die Datenbank ist die einfachste Lösung.

    Weg zwei ist nicht ganz so schon, aber dafür sehr einfach.
    Du verwendest eine Variable für die Hauptnavigation und eine Variable für die Unternavigation.

    Beispiel:
    index.php?cat=Hakkimizda&subcat=InancKurulu

    sub sorgt dann dafür welche Hauptkategorie geladen wird. Und in dieser Hauptkategorie fragst du einfach noch $_GET[subcat] ab.
    Um die Navigation zu markieren benötigst du natürlich auch mehrere Fälle die nicht nur nach dem Ausschlussprinzip arbeiten.
    Das heißt du darfst kein if/else if/else if/else if für alles machen.. sondern eben ein Switch für die Hauptkategorie und ein Switch je Unterkategorie.

    Lg