wie funktioniert das includen nochmal?

Dieses Thema im Forum "Webentwicklung" wurde erstellt von zocker88, 31. Januar 2007 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 31. Januar 2007
    Ich hab die Suchfunktion benutzt, aber nix gefunden
    Also, ich habe folgendes Problem:

    ich hab einen Ordner auf dem server worin sich die bilder(header.jpg usw), index.php(hab ich von .html umgeändert) und einige testseiten(zb aboutme.php) aufhalten.

    Die index.php hat links eine Navigation und in der Mitte stehen die News.
    Wenn ich links auf "About Me" klicke, kommt ein weißes Fenster mit dem Text. Ich möchte, wenn ich auf "About Me" klicke, dass das komplette Layout bleibt, und dass der Text in der Mitte angezeigt wird, wo auf index.php die News stehen.

    Früher hab ich das gewusst, hab aber lange keine HP mehr gemacht. Deswegen hab ichs vergessen XD. Ich kann mich aber noch erinnern als ich eine Seite home.php + index.php hatte. Weiß aber nichtmehr wofür ich die home.php gebraucht habe. Auf jeden Fall hatte die Seite etwas mit dem includen zu tun.

    Ich bewerte euch gut, wenn ihr mir genau beschreibt wo ich was hineinschreiben muss, damit diese Funktion ähhh funktioniert

    Ich wäre sehr dankbar..

    mfg zocker88
     
  2. 31. Januar 2007
    AW: wie funktioniert das includen nochmal?

    link schema:
    PHP:
    < a href = "index.php?site=1" > Link1 </ a >
    da wo der content hinsoll das rein:
    PHP:
    <? php

    if(!empty( $_GET [ 'site' ]))
    {
       switch(
    $_GET [ 'site' ])
       {
          case 
    1 :
            include 
    'page1.php' ;
            break;
          case 
    2 :
            include 
    'page2.php' ;
            break;
          default:
            include 
    'page1.php' ;
            break;
       }
    }

    ?>
    page1.php & page2.php durch deine dateinamen austauschen. falls du mehr brauchst, einfach den case-teil (mit break!) kopieren und zahl austauschen. das default unten steht für die seite, die standardmäßig geladen werden soll.
    page2.php sprichst du also so an:
    PHP:
    < a href = "index.php?site=2" > Link2 </ a >
     
  3. 31. Januar 2007
    AW: wie funktioniert das includen nochmal?

    Eine Möglichkeit wäre, dass du die index.php mit GEt Parameter aufrufst, also z.B. index.php?content=gbook und dann überprüfst du an der Stelle wo der Inhalt hin soll, welcher Bereich aufgrufen wurde:
    PHP:
    if( $_GET [ 'content' ] ==  'content' )
    {
      include(
    'guestbook.php' );
    }
    Und dass halt für alle Bereiche.

    Zweite Möglichkeit: Du speicherst die Navigation in einer extra Datei navigation.php und fügst sie per include() in jeder Datei ein.
    PHP:
    include( 'navigation.php' );
    //Inhalt: Gästebuch, News oder was auch immer.
    Ich hoffe du verstehst was ich meinte. Ist irgendwie schwer zu erklären ohne ellenlanges Beispiel.

    *EDIT:*
    Da war jemand schneller. Hätte vor dem Posten nochmal Aktualisieren sollen.
     
  4. 31. Januar 2007
    AW: wie funktioniert das includen nochmal?

    kommt nicht drauf an wer schneller ist oder nicht, jeder der sich bemüht mir ne erklärung zu schreiben wird bewertet, das zählt

    also zum 1.: irgendwie funktioniert das nicht =/

    wo genau muss ich das denn hinschreiben

    <?php

    if(!empty($_GET['site']))
    {
    switch($_GET['site'])
    {
    case 1:
    include 'page1.php';
    break;
    case 2:
    include 'page2.php';
    break;
    default:
    include 'page1.php';
    break;
    }
    }

    ?>

    Also bei mir sieht die Stelle, wo die Mitte ist, so aus:

    <td width="25">
    &nbsp;
    </td>
    <td width="374" valign="top">
    <div id="head">Welcome</div>
    <div id="inhalt">
    Test Test Test Test Test TestTest Test TestTest Test TestTest Test TestTest Test TestTest Test TestTest Test TestTest Test TestTest Test TestTest Test TestTest Test TestTest Test TestTest Test TestTest Test Test
    <br>
    </div>



    Zum 2.: Ich kapier das nicht =/ Habs zwar irgendwie versucht aber es ging nicht
     
  5. 1. Februar 2007
    AW: wie funktioniert das includen nochmal?

    Code:
    
    <td width="25">
    &nbsp;
    </td>
    <td width="374" valign="top">
    <div id="head">Welcome</div>
    <div id="inhalt">
    <?php
    
    if(!empty($_GET['site']))
    {
     switch($_GET['site'])
     {
     case 1:
     include 'page1.php';
     break;
     case 2:
     include 'page2.php';
     break;
     default:
     include 'page1.php';
     break;
     }
    }
    
    ?> 
    <br>
    </div>
    
    in den body text. du kannst dir die sache auch so vorstellen. du hast eine php datei. und willst das layout von einer anderen seite mit übernehmen, dann wird der quelltext durch include (wie der name schon sagt), genau an der stelle eingefügt. hier ist ein anderes beispiel:
    http://de.php.net/include/
    vllt könntest du uns genau sagen um welche dateien es sich handelt, dann können wir dir auch genauer helfen!!!
     
  6. 1. Februar 2007
    AW: wie funktioniert das includen nochmal?

    Das 1. ist bei meinem Vorposter ja sehr schön erklärt.
    Das 2. wäre dann so:
    PHP:
    <html>
    <head></head>
    <body>

    <div id="header">LOgo oder sowas</div>
    <div id="navigation"><?php  include( 'navigation.php' );  ?></div>
    <div id="inhalt">Hier kommt der Inhalt hin, also z.B. News oder ein Gäastebuch oder was auch immer</div>

    </body>
    </html>
     
  7. 1. Februar 2007
    AW: wie funktioniert das includen nochmal?

    nun ja klingt alles sehr logisch und früher hab ich das hinbekommen aber jetz gehts irgendwie nicht =/ was mache ich falsch?

    ps: ich hab kein navigation.php. das ganze layout ist im index.php gecodet

    EDIT: Habs jetzt hinbekommen das es in der mitte steht, jedoch nicht das was ich wollte. Die HP starte ich mit http://profiblalblabla.pr.funpic.de/myhp/index.php.
    Ok das heißt index.php ist offen.
    Sobald ich in der Navigation auf "About Me" klicke, kommt, statt einem Text, das hier:

    Code:
    Warning: main(page2.php) [function.main]: failed to open stream: No such file or directory in 
    /usr/export/www/vhosts/funnetwork/hosting/prof/myhp/index.php on line 56
    
    Warning: main() [function.include]: Failed opening 'page2.php' for inclusion (include_path='.:') in 
    /usr/export/www/vhosts/funnetwork/hosting/prof/myhp/index.php on line 56
    
    Und dann wenn ich auf News(index.php) klicke in der Navigation, dann wir das ganze layout untereinander nochmal dargestellt.

    Am besten ich schreib hier mal wie index.php aussieht xD

    Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>Welcome to Telfer Pimp's HP</title>
    <link rel="stylesheet" type="text/css" href="stylesheet.css">
    
    </head>
    <body>
    
    <table border="0" cellspacing="0" cellpadding="0" align="center" background="bgtable.jpg">
    <tr>
    <td colspan="5">
    <IMG SRC="layout.jpg" WIDTH=583 HEIGHT=478 BORDER=0 USEMAP="#layout_Map">
    <MAP NAME="layout_Map">
    <AREA SHAPE="rect" ALT="Pce to my homies !!!!" COORDS="339,441,553,458" HREF="http://www." TARGET="_blank">
    </MAP>
    </td>
    </tr>
    <tr> 
    <td width="25">
    &nbsp;
    </td>
    <td width="129" valign="top">
    <div id="head">Navigation</div>
    
    <p>
    <a href="index.php?site=1" class="nav">&raquo; News</a><br>
    <a href="aboutme.php?site=2" class="nav">&raquo; About Me</a><br>
    <a href="music.php" class="nav">&raquo; About Hip-Hop</a><br>
    <a href="friends.php" class="nav">&raquo; Friends</a><br>
    <a href="vidz.php" class="nav">&raquo; Videos</a><br>
    </p>
    
    <p>
    Hier kommen später mehrere Links hinein
    </p>
    
    </td>
    <td width="25">
    &nbsp;
    </td>
    <td width="374" valign="top">
    <div id="head">Welcome</div>
    <div id="inhalt">
    <?php
    
    if(!empty($_GET['site']))
    {
     switch($_GET['site'])
     {
     case 1:
     include 'aboutme.php';
     break;
     case 2:
     include 'page2.php';
     break;
     default:
     include 'page1.php';
     break;
     }
    }
    
    ?> 
    <br>
    </div>
    <div id="head">Credits</div>
    <div id="inhalt">
    <table>
    <tr>
    <td valign="top">
    goes to
    </td>
    <td>
    <base target="_blank">
    <a href="http://prof/myhp/index.php">MyPage</a><br>
    <a href="http://prof/myhp/index.php">MyPage</a><br>
    </base>
    </td>
    </tr>
    </table>
    </div>
    
    </td>
    <td width="30">
    &nbsp;
    </td>
    </tr>
    <tr>
    <td colspan="5">
    <img src="footer.jpg" border="0">
    </td>
    </tr>
    </table>
    
    </body>
    </html>
    
    Die Page aboutme.php sieht so aus:
    Code:
    Test
    
    viel ne? XD
    

    Nun könnt ihr es mir vielleicht ein bisschen ausführlicher erklären?

    Achja die Links hab ich absichtlich geändert, weil ich noch nicht will, dass da jemand draufkuckt.
     
  8. 1. Februar 2007
    AW: wie funktioniert das includen nochmal?

    Du musst innerhalb der switch() Anweisung natürlich noch die Dateien die eingefügt werde anpassen. Dass heißt in dem jetzigen Fall bei "case 2:" (weil 2 der Wert ist, der angegeben wird wenn man auf About Me klickt.) nach include. anstatt page2.php aboutme.php schreiben.
     
  9. 1. Februar 2007
    AW: wie funktioniert das includen nochmal?

    ja dann ist die fehlermeldung weg, aber das include funktioneirt nicht mehr
     
  10. 1. Februar 2007
    AW: wie funktioniert das includen nochmal?

    Was wird denn ausgegeben? Gar nichts?
    Wie sieht deine aboutme.php aus? Also inklusive irgendwelchem Code und HTML Tags.
     
  11. 1. Februar 2007
    AW: wie funktioniert das includen nochmal?

    aboutme.php:

    Code:
    <html>
    <head></head>
    <body>
    
    <div id="header"></div>
    <div id="navigation"><?php include('index.php'); ?></div>
    <div id="inhalt">Hm bla bla bla blaaaaaaaaaaaaaaaaaa</div>
    
    </body>
    </html> 
    
    der Text wird unten links angezeigt, anstatt in der mitte
     
  12. 1. Februar 2007
    AW: wie funktioniert das includen nochmal?

    Wieso fügst du in der aboutme.php wieder die index.php auf? Du brauchst in der aboutme.php keine Navigation usw. Du brauchst nur den Inhalt, der ausgegeben werden soll, also in diesem Fall den About Me Text. Der Rest ist ja noch aus der Datei in die die aboutme.php eingefügt wird vorhanden.
     
  13. 2. Februar 2007
    AW: wie funktioniert das includen nochmal?

    scheint immernochnicht zu funktionieren. aboutme.php ist immernoch weiß!

    kannst du mir das genauer beschreiben also ich meine schreib du in index.php und aboutme.php wo was drinstehen muss. siehst den ganzen quelltext auf er vorigen seite
     
  14. 2. Februar 2007
    AW: wie funktioniert das includen nochmal?

    Also in der index.php legst du dein Design fest, also wie die Seite ausssehen soll:
    PHP:
    <html>
    <body>

    <div id="header">Logo</div>
    <div id ="navigation">
      <a href="index.php?site=1">News</a>
      <a href="index.php?site=2">About Me</a>
    </div>
    <div id="inhalt">
      <?
      
    if(!empty( $_GET [ 'site' ]))
      {
         switch(
    $_GET [ 'site' ])
         {
            case 
    1 :
              include 
    'news.php' ;
              break;
            case 
    2 :
              include 
    'aboutme.php' ;
              break;
            default:
              include 
    'news.php' ;
              break;
         }
      }
      
    ?>
    </div>
    </body>
    </html>
    In der news.php und in der aboutme.php sieht es dann nur noch so aus:
    PHP:
    Hier stehen News oder ein Text über mich .
    Das ist schon alles. So sollte es funktionieren.
     
  15. 2. Februar 2007
    AW: wie funktioniert das includen nochmal?

    Vielleicht auch mal <?PHP statt <? probieren, manche Server mögen <? nicht.
     
  16. 2. Februar 2007
    AW: wie funktioniert das includen nochmal?

    Habs ganz genau so gemacht - es geht trotzdem nicht! WTF mache ich falsch? Hatte es davor auch so, klappte aber nicht!

    liegts daran dass ich die index.html einfach auf .php umgeänert habe?
     
  17. 2. Februar 2007
    AW: wie funktioniert das includen nochmal?

    nein, das liegt daran dass das script schlecht ist
    PHP:
    <html>
    <body>

    <div id="header">Logo</div>
    <div id ="navigation">
      <a href="index.php?site=1">News</a>
      <a href="index.php?site=2">About Me</a>
    </div>
    <div id="inhalt">
      <?
      
    if(!empty( $_GET [ 'site' ]))
      {
         switch(
    $_GET [ 'site' ])
         {
            case 
    1 :
              include 
    'news.php' ;
              break;
            case 
    2 :
              include 
    'aboutme.php' ;
              break;
            default:
              include 
    'news.php' ;
              break;
         }
      }
      else
      {
        include 
    'news.php' ;
      }
      
    ?>
    </div>
    </body>
    </html>
    es fehlte eine standartseite
     
  18. 2. Februar 2007
    AW: wie funktioniert das includen nochmal?

    Meistens ist die Lösung so einfach und naheliegend, dass man sie übersieht ...
     
  19. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.