index.php?site=beispielseite

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • index.php?site=beispielseite

    Hi,
    ich brauche eure Hilfe.

    Ich möchte meine Seite in PHP "umschreiben", damit ich nur eine Seite mit dem Design habe in das ich dann den Inhalt includen kann.

    Dies habe ich nun so gemacht:
    <html>
    <head>
    <title>Neue Seite 1</title>
    </head>
    <body>
    <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
    <tr>
    <td width="100%" colspan="2">Header (z.B. Banner)</td>
    </tr>
    <tr>
    <td width="25%">
    Link 1
    Link 2</td>
    <td width="75%">
    <!-- Inhalt Anfang -->
    <?php
    if (!isset($_GET['site'])) { $_GET['site']="news"; }
    if (file_exists($_GET['site'].".php")) { include($_GET['site'].".php"); } else { echo " <b><center>Noch nicht implementiert</center></b> "; }
    ?>
    <!-- Inhalt Ende -->
    </td>
    </tr>
    </table>
    </body>
    </html>

    So funktioniert das auch ganz gut. Nun habe ich jedoch eine Frage.

    Das hier ist meine Homepage:
    http://www.cs-erweiterungen.de/downl...-1.6-Ls-Es.php

    Ganz oben ist das Menü. Wenn ihr dort auf Download/Erweiterungssysteme fahrt seht ihr, das Ls Es grau markiert. Dies ist der Fall, weil die Ls Es Seite geöffnet ist. Nun ändert sich diese markierung jedoch jedes mal beim Aufruf einer anderen Seite.

    Gibt es die Möglichkeit, dass man das Menü einmal in die "Designseite" schreiben muss die graue Markierung sich jedoch jedes mal "anpasst"?

    Danke für eure Hilfe

  • #2
    Re: index.php?site=beispielseite

    Mache die Abfrage, auf welcher Seite du gerade bist, im Menü - und markiere den aktuellen Punkt dann dynamisch.

    Lässt sich bspw. mit einem Array, einer Schleife und einer Abfrage recht easy lösen.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Hi, danke erstmal das du mir hilfst.

      Ich verstehe es leider noch nicht ganz.

      Das hier ist der Quellcode meiner Homepage:

      Code:
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
      "http://www.w3.org/TR/html4/loose.dtd">
      <html>
      <head>
      <title>CS-Erweiterungen - It's amazing</title>
      <link rel="stylesheet" href="css/style_menu.css" type="text/css">
      <script type="text/javascript" src="http://www.cs-erweiterungen.de/common.js"></script>
      <style type="text/css">
      #banner
      {
      	background-image:url("/images/banner_1.jpg");
      }
      </style>
      </head>
      <body>
      
      <div id="wrapper">
      
      <!--Header-->	
      	<div id="headerwrapper">		
      		<div id="header">
      		<p class="skipnav"><a href="#navigation" accesskey="s">Skip to navigation</a></p>			
      		</div>
      	</div>	
      <!--/Header-->
      
      <div id="banner"></div>
      
      <div id="contentwrapper">
      
      <!--Content-->
      <div id="mainwrapper">
      	<div id="main">
      		<div id="content">
      		<?php
           if (!isset($_GET['site'])) { $_GET['site']="nutzungshinweise"; }
           if (file_exists($_GET['site'].".php")) { include($_GET['site'].".php"); } else { echo " <b><center>Noch nicht implementiert</center></b> ";  }
          	?>
      		</div>
      	</div>
      </div>
      <!--/Content-->
      
      <!--Leftmenu-->
      	<!--...(Unwichtig)-->
      <!--/Leftmenu-->
      </div>
      
      <!--Header-->
      <a name="navigation"></a>
      		<div id="navigation">
      			<ul id="nav">
      			<li class="menuparent" id="current"><a href="http://www.cs-erweiterungen.de/">HOME</a></li>
      			<li class="menuparent"><a href="http://www.cs-erweiterungen.de/downloads/">DOWNLOAD</a></li>		
      			<li class="menuparent"><a href="http://www.cs-erweiterungen.de/forum">FORUM</a></li>
      			</ul>
      		</div>		
      <!--/Header-->
      
      <!--/Footer-->
              <!--...(Unwichtig)-->
      <!--/Footer-->
      </div>
      
      </body>
      </html>
      Der Code der in Header steht ist der Code meines Menüs. In diesem Fall ist z.B. HOME die geöffnete Seite.

      <li class="menuparent" id="current"><a href="http://www.cs-erweiterungen.de/">HOME</a></li>

      Wenn aber nun die Seite index.php?site=downloads aufgerufen wird sollte ja im Menü Downloads id="current" haben.

      <li class="menuparent" id="current"><a href="http://www.cs-erweiterungen.de/downloads/">DOWNLOAD</a></li>

      Könntet ihr mir ein Beispiel geben damit ich verstehe wie das funktioniert?

      Wäre sehr nett.

      Kommentar


      • #4
        Bitte Regeln lesen bzgl. Umbrechen von Code, und anpassen!

        Das hier ist der Quellcode meiner Homepage:
        Wen soll der interessieren?

        (Ausser Hacker natürlich, denn die möglichweise einbindbaren Dateien hast du kaum wirksam eingeschränkt, aus dem aktuellen Verzeichnis heraus in andere zu gehen wäre bspw. problemlos möglich.)
        Wenn aber nun die Seite index.php?site=downloads aufgerufen wird sollte ja im Menü Downloads id="current" haben.
        Na dann frag halt ab, ob $_GET['site'] gleich "downloads" ist - und wenn ja, gebe das ID-Attribut an der passenden Stelle aus.

        Und wie gesagt, damit das nicht zig IFs oder ein langer switch werden müssen, wäre ein Array sehr hilfreich. Das kann dann auch gleich das Sicherheitsproblem mit erschlagen - aber dazu wurden hier ja schon mehr als genug Diskussionen geführt.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Ich habe es jetzt so hinbekommen:

          Ist das so "gut"? Oder gibt es eine bessere Lösung?

          <?php
          $current = array("index", "nutzungshinweise");
          ?>
          ...
          <li <?php if ($_GET['site'] == $_GET['site']=$current[1]) { echo "class='active'"; }?> ><a href="index.php?site=nutzungshinweise">

          Danke

          Kommentar


          • #6
            OffTopic:

            Bitte Regeln lesen bzgl. Umbrechen von Code, und anpassen!
            .. ich glaub solche aussagen werden wohl echt ignoriert. Also wenn jemand postet ist es zumindest für mich wichtig das jemand die PHP Tags nutzt .. nicht wie hier.



            Na wenn es funkioniert dann kann man es wohl so verwenden hauptsache du weisst was du da tust.
            tutorial: peterkropff.de schattenbaum.de tut.php-quake.net
            documentation: php.net mysql.com framework.zend.com

            Die Nachtwache!

            Kommentar


            • #7
              Komme nicht weiter (Menüfeld hervorheben)

              Hi, hoffe erstmal, dass es ok ist wenn ich meinen ganzen Code poste. Glaube aber so könnt ihr mir am besten helfen.

              Das hier ist meine Design Seite. Alle anderen Seiten lasse ich dann in diese Seite includen mit Hilfe eines PHP Codes. (siehe <!--Content-->)

              Da immer das Menü farblich hervorgehoben ist, das gerade geöffnet ist habe ich mit Hilfe von diesem Code geprüft ob die jeweilige Seite geöffnet ist oder nicht.

              PHP-Code:
              <a href="........."<?php 
              if (isset($_GET['site']) && $_GET['site'] == $current[6]) 
              $class " class=\"currentitem\""
              else 
              $class ""
              echo 
              "$class";
              ?>
              Das habe ich vor alle Menüpunkte geschrieben. Es funktioniert auch sehr gut. Nun habe ich noch ein Problem:

              Ich weiß nicht wie ich es machen soll, wenn nur die HOME Seite geöffnet ist also index.php OHNE ?site=

              Wie kann ich da den Menüpunkt HOME hervorheben? Es gibt ja kein ?site=

              Ich habe es deshalb so versucht:
              PHP-Code:
              <?php
              if (isset($_GET['site']))
              $class "";
              else
              $class " id=\"current\"";
              echo 
              "$class";
              ?>
              Ging aber leider nicht

              Könnt ihr mir helfen?
              DANKE

              Hier noch der komplette Code: (Musste bei zwei stellen ein Absatz machen, da es sonst zu lang gewesen wäre)

              PHP-Code:
              <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
              <script type="text/javascript" src="http://www.cs-erweiterungen.de/common.js"></script>
              <style type="text/css">
              #banner
              {
                  background-image:url("/images/banner_1.jpg");
              }
              </style>
              </head>
              <body>

              <?php
              $current 
              = array("""nutzungshinweise""impressum""downloads/index""downloads/Erweiterungssysteme"
              "downloads/Erweiterungssysteme/Counter-Strike-1.6-Ds-Es",
               
              "downloads/Erweiterungssysteme/Counter-Strike-1.6-Ls-Es",  "downloads/Erweiterungssysteme/Counter-Strike-1.6-Config-Es");
              ?>

              <div id="wrapper">

              <!--Header-->    
                  <div id="headerwrapper">        
                      <div id="header">
                      <p class="skipnav"><a href="#navigation" accesskey="s">Skip to navigation</a></p>            
                      </div>
                  </div>    
              <!--/Header-->

              <div id="banner"></div>

              <div id="contentwrapper">

              <!--Content-->
              <div id="mainwrapper">
                  <div id="main">
                      <div id="content">
                      <?php
                   
              if (!isset($_GET['site'])) { $_GET['site']="news"; }
                   if (
              file_exists($_GET['site'].".php")) { include($_GET['site'].".php"); } else { echo " <b><center>Noch nicht
               implementiert</center></b> "
              ;  }
                      
              ?>
                      </div>
                  </div>
              </div>
              <!--/Content-->

              <!--Header-->
              <a name="navigation"></a>
                      <div id="navigation">
                          <ul id="nav">
                          <li class="menuparent"<?php
              if (isset($_GET['site']))
              $class "";
              else
              $class " id=\"current\"";
              echo 
              "$class";
              ?>><a href="http://www.cs-erweiterungen.de/">HOME</a></li>
                          <li class="menuparent"<?php
              if (isset($_GET['site']) && ($_GET['site'] == $current[3] || $_GET['site'] == $current[4] || 
              $_GET['site'] == $current[5] || $_GET['site'] == $current[6] || $_GET['site'] == $current[7]))
              $class " id=\"current\"";
              else
              $class "";
              echo 
              "$class";
              ?>><a href="index.php?site=downloads/index">DOWNLOAD</a>
                          <ul>
                          <li class="menuparent"><a href="index.php?site=downloads/Erweiterungssysteme"<?php 
              if (isset($_GET['site']) && $_GET['site'] == $current[6]) 
              $class " class=\"currentitem\""
              else 
              $class ""
              echo 
              "$class";
              ?>>Erweiterungssysteme</a>
                          <ul>
                          <li><a href="index.php?site=downloads/Erweiterungssysteme/Counter-Strike-1.6-Ds-Es"<?php 
              if (isset($_GET['site']) && $_GET['site'] == $current[5]) 
              $class " id=\"currentitem\""
              else 
              $class ""
              echo 
              "$class";
              ?>>Counter-Strike 1.6 Ds Es</a></li>
                          <li><a href="index.php?site=downloads/Erweiterungssysteme/Counter-Strike-1.6-Ls-Es"<?php 
              if (isset($_GET['site']) && $_GET['site'] == $current[6]) 
              $class " class=\"currentitem\""
              else 
              $class ""
              echo 
              "$class";
              ?>>Counter-Strike 1.6 Ls Es</a></li>
                          <li><a href="index.php?site=downloads/Erweiterungssysteme/Counter-Strike-1.6-Config-Es-Test"<?php 
              if (isset($_GET['site']) && $_GET['site'] == $current[7]) 
              $class " class=\"currentitem\""
              else 
              $class ""
              echo 
              "$class";
              ?>>Counter-Strike 1.6 Config Es</a></li>
                          </ul>
                          </li>
                          </ul>
                          </li>            
                          <li class="menuparent"><a href="http://www.cs-erweiterungen.de/forum">FORUM</a></li>
                          </ul>
                      </div>        
              <!--/Header-->


              <!--/Footer-->
              <div id="footer">
                  <ul>
                  <li<?php 
              if (isset($_GET['site']) && $_GET['site'] == $current[1]) 
              $class " class=\"active\""
              else 
              $class ""
              echo 
              "$class";
              ?>><a href="index.php?site=nutzungshinweise">Nutzungshinweise</a></li>
                  <li<?php 
              if (isset($_GET['site']) && $_GET['site'] == $current[2]) 
              $class " class=\"active\""
              else 
              $class ""
              echo 
              "$class";
              ?>><a href="index.php?site=impressum">Impressum</a></li>
                  </ul>
                  <p>Copyright © <a href="http://www.cs-erweiterungen.de">CS-Erweiterungen</a> 2006-2007</p>
                  <p class="toplink"><a href="#top" accesskey="y">Go to top of page</a></p>
              </div>
              <!--/Footer-->
              </div>

              </body>
              </html>

              Kommentar


              • #8
                if(!isset($_GET['site']))
                Beantworte nie Threads mit mehr als 15 followups...
                Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                Kommentar


                • #9
                  Geht leider nicht.

                  Home ist nicht hervorgehoben:
                  http://cs-erweiterungen.de/index.php

                  Kommentar


                  • #10
                    Geht leider nicht
                    ist keine genaue fehlerbeschreibung. hats du die elementaren regeln für die fehlersuche beachtet?

                    gruß
                    peter
                    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                    Meine Seite

                    Kommentar


                    • #11
                      Mmh ja.. das Problem ist, das class="currentitem" nicht hinzugefügt wird, wenn die index.php Seite geöffnet ist.

                      Kommentar


                      • #12
                        und warum???

                        Kommentar


                        • #13
                          Na wenn ich's wüsste würde ich ja euch nicht fragen.

                          Kommentar


                          • #14
                            Original geschrieben von Sp33dy G0nz4l3s
                            Na wenn ich's wüsste würde ich ja euch nicht fragen.
                            Und wenn du ein wenig Debugging betreiben würdest, wüsstest du es vielleicht inzwischen.

                            Wir geben dir gerne Tipps und Hinweise - aber Debugging ist und bleibt in allererster Linie dein Part.
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              du hast einen haufen fehler gemacht! beispiele?

                              $current[7] ist "downloads/Erweiterungssysteme/Counter-Strike-1.6-Config-Es"
                              aber an der stelle in code übergibst du
                              ...?site=downloads/Erweiterungssysteme/Counter-Strike-1.6-Config-Es-Test"

                              und hier ist auch was falsch
                              PHP-Code:
                              if (isset($_GET['site']) && $_GET['site'] == $current[5]) 
                              $class " id=\"currentitem\""
                              else 
                              $class ""
                              echo 
                              "$class"
                              peter
                              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                              Meine Seite

                              Kommentar

                              Lädt...
                              X