Philip Naggert: Wie geht das mit index.php?site=impressum ???

hi,
ich arbeite seit vorgestern mit php *g*.

Nen Kumpel hat mir davon erzählt, ich kann damit ja seiten includen oder so.

Ich will das so machen, dass ich nicht auf jeder unterseite wieder die navigation include, sondern, dass ich nur einmal das script habe und dann im content die einzelnen seiten includiert (?) werden, sowas, wie index.php?site=impressum und sowas.

was benötige ich dafür ? PHP und MySQL oder was ? und wie mache ich das eigentlich mit MySQL ? ich habe mir dieses phpMyAdmin runterladen müssen, aber weiß nicht, was ich damit anfangen soll, ich bitte um Eure Hilfe. Danke im Vorraus.

Hier mein erster Versuch auf nem Testwebspaceteil bei f2s: http://www.fussball-pur.f2s.com/php/index.php

Gruß
Philip

  1. Hi Philip,

    ich arbeite seit vorgestern mit php *g*.

    weiser entschluß :-)

    Ich will das so machen, dass ich nicht auf jeder unterseite wieder die navigation include, sondern, dass ich nur einmal das script habe und dann im content die einzelnen seiten includiert (?) werden, sowas, wie index.php?site=impressum und sowas.

    zum Beispiel.
    Deine index.php könnte dann ungeführ so aussehen:
    <html>
    ...
    menuleiste...
    <?php
     if (isset($site)) {
       include $site.".html"
     }
    ?>
    </html>

    irgendwo an der stelle für den "content" prüfst du ob der parameter site übergeben wurde und - wenn das den name der einzufügenden datei ist - fügst du sie mit include ein.
    im beispiel würde also eine datei "impressum.html" eingebunden werden.
    Natürlich soltest du vorher prüfen, ob die datei auch existiert (file_exists()) und ggf. eine "Standardseite" einbinden, wenn alle Stricke reissen.

    was benötige ich dafür ? PHP und MySQL oder was ?

    mySQL ist eine Datenbank und solange Du keine Datenbank brauchst, brauchst du auch kein mySQL
    Das hat mit PHP nix zu tun. PHP kann ohne Zusatzprogramme auf mxSQL zugreifen

    Viel Spaß
    CirTap

    1. Moin

      zum Beispiel.
      Deine index.php könnte dann ungeführ so aussehen:
      <html>
      ...
      menuleiste...
      <?php
      if (isset($site)) {
         include $site.".html"

      Damit wäre ich ganz vorsichtig! Dieser Befehl neigt dazu, beliebige Dateien auf der Festplatte des Webserservers anzuzeigen.

      Persönlich regele ich es meist so, dass alle meine Webseiten am Anfang so aussehen:

      <?php include("inc.php"); start("Titel der Seite");?>
      <p>Hier steht HTML- und PHP-Code.</p>
      <?php foot();?>

      und in inc.php steht sowas:

      <?php
      function start($titel)
      { ?>
      <html>
       <head
        <title><?php echo $titel;?></title>
       ...

      <?php
      }

      function foot()
      { ?>
       </body>
      </html>
      <?php
      }

      ?>

      Das stellt sicher, dass keine unerwünschte Datei angezeigt wird, und es ist wesentlich praktischer für Offline-Reader und dergleichen als bla.php?seite=start.

      Der Ursprungsposter wollte aber anscheinend genau dieses includen der Navigation in jeder Seite nicht, und dafür sollte man wenigstens so etwas einsetzen:

      <html>
       <head>
       ...

      <?php

      switch($seite) {
       case 'start': include("start.inc"); break;
       case 'news': include("news.inc"); break;
       ...
       default: include("fehler.inc");
      }

      ?>

      </body>
      </html>

      auch wenn das evt. zusätzliche Arbeit macht (man muss jetzt beim Hinzufügen von neuen Seiten 2 Dateien ändern).

      --
      Henryk Plötz
      Grüße von der Ostsee