PHP Frage

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von Schattenmantel, 20.09.2003.

  1. Schattenmantel

    Schattenmantel Thread Starter MacUser Mitglied

    Beiträge:
    1.752
    Zustimmungen:
    1
    MacUser seit:
    22.04.2002
    Hallo zusammen

    Ich möchte meine HP mittels PHP einfacher für mich zum bearbeiten machen. In einem ersten Schritt habe ich die Menuführung ausgelagert und per include () an der gewünschten stelle eingefügt.

    Jetzt möchte ich alle meine textseiten als einfach HTML Seite machen und dann diese per Befehl auf der HP an der richtigen Stelle einfügen. So nun meine Idee wie ich mir gedacht habe, wie es aussehen sollte.

    Ich habe einen folder der sich templates nennt. Dort sind alle Textdateien drinne. Dann habe ich pro Untersection auf der HP eine PHP Seite in der die Zugriffe auf die einzelnen templates stehen müssen.

    Ich dachte mir das man ja per Link auf einen Scriptbestandteil linken kann. Bsp:

    www.bla.com/index.php?zeigetext1

    Oder geht das nicht so? Wie kann ich jetzt die zeigetext1 Funktion schreiben, das mir diese meintetwegen den Text aus der html oder txt Datei Text1 aus dem templatefolder einfügt?

    Verstanden was ich meine?
     
  2. Grady

    Grady MacUser Mitglied

    Beiträge:
    2.277
    Zustimmungen:
    0
    MacUser seit:
    25.04.2003
    Du müsstest schon einen Wert übergeben, z.B. www.bla.com/index.php?zeige=text1

    Dann brauchst du nur ein

    switch($zeige){
    case text1: include("text1.php");
    break;
    default: include("text.php");
    }

    einbauen und kannst je nach Anzahl der Texte dir den jeweiligen ausgeben lassen. Man kann nämlich auch ganz normalen HTM-Dateien ein .PHP anhängen und includen, der Parser macht einfach eine Ausgabe, wenn keine weiteren PHP-Tags mit Anweisungen drin sind. Du fügst sozusagen nur eine Datei in eine andere ein.

    Diese Lösung ist auf Dauer natürlich nicht so toll, wenn du es erwetern willst und dann irgendwann 150 Texte drin sind. Da würde ich erstmal einen Switch machen mit den Funktionen und dann von der Funktion mit einer Suche ermitteln lassen, welche Datei gebraucht wird und wo die liegt. Da eignen sich sehr gut die Dateinamen, um eine Zuordnung von Link (index.php?zeige=text123) zu Datei zu haben (text123.php).
     
  3. Faser

    Faser MacUser Mitglied

    Beiträge:
    1.012
    Zustimmungen:
    0
    MacUser seit:
    20.08.2003
    Genau, ich würde einfach folgendes schreiben:

    PHP:
    if ( !empty($text) )
    {
       include(
    $text ".php");
    }
    else
    {
       include(
    "index.php");
    }
    Wenn also die Variable $text angegeben ist (zum Beispiel über die URL, also http://seite.de/seite.php?text=sowieso), gibt er die entsprechende php-Datei aus, ansonsten gibt er die index.php aus... ;-)
     
  4. Schattenmantel

    Schattenmantel Thread Starter MacUser Mitglied

    Beiträge:
    1.752
    Zustimmungen:
    1
    MacUser seit:
    22.04.2002
    Danke für eure Tips. Meine index.php sieht im Moment folgendermassen aus:

    PHP:
    <html>
    <head>
    <title>Schattenmantel</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <style type="text/css">
    <!--
    @import url("/shadowstyle.css");
    -->
    </style>
    </head>

    <body bgcolor="#000000" text="#FFFFFF">
    <p>&nbsp;</p>
    <table width="95%" border="0" align="center">
      <tr> 
        <th colspan="3"><img src="/images/schattenmantel.gif" width="600" height="90"></th>
      </tr>
      <tr> 
        <td height="20" colspan="3">&nbsp;</td>
      </tr>
      <tr> 
        <td width="100"><div align="center"><br>
            <?php include( "mainmenue.php" ); ?>
          </div></td>
        <td width="650" background="/images/skulls.gif">&nbsp;</td>
        <td width="100">&nbsp;</td>
      </tr>
      <tr> 
        <td width="100">&nbsp;</td>
        <td><div align="center"> 
            <?php include("footer.php"); ?>
          </div></td>
        <td>&nbsp;</td>
      </tr>
    </table>
    </body>
    </html>
    Und mein Text sollte jeweils in folgender Zelle ausgeben werden:

    <td width="650" background="/images/skulls.gif">&nbsp;</td>
    <td width="100">&nbsp;</td>

    Wo setze ich dann meinen PHP code ein?

    Schaut euch sonst mal die Seite an die ich auf PHP umstellen möchte:

    www.schattenmantel.com

    Was leider auch noch nicht 100%ig klappt ist der Import des Stylesheets... Aufm Webserver klappts aber nicht auf meinem localserver...
     
  5. Jiji

    Jiji MacUser Mitglied

    Beiträge:
    289
    Zustimmungen:
    0
    MacUser seit:
    25.02.2003
    Für das CSS tausch mal das

    PHP:
    <style type="text/css"
    <!-- 
    @
    import url("/shadowstyle.css"); 
    --> 
    </
    style
    gegen das

    PHP:
    <LINK rel="stylesheet" href="shadowstyle.css" type="text/css">
    aus. Dann dürfte es gehen.


    Das mit dem Text kannst du auf viele wege Lösen zb über Templates oder du übergibst immer eine Variable die angibt welcher Text eingefügt werden soll so wie Faser es als Beispiel gegeben hat.
     
  6. Schattenmantel

    Schattenmantel Thread Starter MacUser Mitglied

    Beiträge:
    1.752
    Zustimmungen:
    1
    MacUser seit:
    22.04.2002
    Danke für den Hinweis!

    Ich werde das mal ausprobieren und dann hier posten wies gegangen ist!
     
  7. Schattenmantel

    Schattenmantel Thread Starter MacUser Mitglied

    Beiträge:
    1.752
    Zustimmungen:
    1
    MacUser seit:
    22.04.2002
    Okay ich habs mal versucht. Ich bekomme leider nen Parseerror on line 24... :D Wahrscheinlich hab ich alles falsch gemacht und nichts ist richtig!

    Hab ja auch erst begonnen PHP zu lernen. Sind quasi meine ersten Versuche mit PHP! Also seid bitte nachsichtig!


    PHP:
    <html>
    <head>
    <title>Schattenmantel</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <LINK_rel ="stylesheet"_ href ="shadowstyle.css"_ type ="text/css" >
    </head>

    <body bgcolor="#000000" text="#FFFFFF">
    <p>&nbsp;</p>
    <table width="95%" border="0" align="center">
      <tr> 
        <th colspan="3"><img src="/images/schattenmantel.gif" width="600" height="90"></th>
      </tr>
      <tr> 
        <td height="20" colspan="3">&nbsp;</td>
      </tr>
      <tr> 
        <td width="100"><div align="center"><br>
            <?php include( "mainmenue.php" ); ?>
          </div></td>
        <td width="650" background="/images/skulls.gif">
        <?php 
              
    if ( !empty( $text ) ) 
              {
                include( 
    "/templates" $text ".html" ); }
                else
                {
                include( 
    "templates/index.html" );
                }
                
    ?>
        </td>
        <td width="100">&nbsp;</td>
      </tr>
      <tr> 
        <td width="100">&nbsp;</td>
        <td><div align="center"> 
            <?php include("footer.php"); ?>
          </div></td>
        <td>&nbsp;</td>
      </tr>
    </table>
    </body>
    </html>
    Was ist in dem Code falsch?

    Danke für eure Hilfe!!!!!
     
    Zuletzt bearbeitet: 20.09.2003
  8. Jiji

    Jiji MacUser Mitglied

    Beiträge:
    289
    Zustimmungen:
    0
    MacUser seit:
    25.02.2003
    PHP:
    <LINK_rel ="stylesheet"_ href ="shadowstyle.css"_ type ="text/css" >
    Warum machst du da "_" rein?

    PHP:
    include("/templates" $text ".html");} 

    Die Zeile dürfte es sein. Versuch es mal mit

    PHP:
    include("/templates/" $text ".html"); } 
     
  9. sevY

    sevY Gast

    &nbsp;

    Ich glaube nicht das er das war, sondern der WYSIWYG-Editor ;)
     
  10. Schattenmantel

    Schattenmantel Thread Starter MacUser Mitglied

    Beiträge:
    1.752
    Zustimmungen:
    1
    MacUser seit:
    22.04.2002
    Glaubt mir im Dreamweaver ist das nicht mit "_" drinne! Muss ein copy/paste Fehler von Dreamweaver zu Forum machen. Denn ich hab den Code nicht als WYSIWYG sondern von hand geschrieben...

    Ich werds mit dem anderen PHP code morgen mal ausprobieren. Hoffe es geht!
     
Die Seite wird geladen...
Ähnliche Themen - PHP Frage
  1. Sokill
    Antworten:
    10
    Aufrufe:
    886
  2. hero1977
    Antworten:
    8
    Aufrufe:
    607
  3. ThaHammer
    Antworten:
    4
    Aufrufe:
    416
  4. e-dude
    Antworten:
    4
    Aufrufe:
    836
  5. Maja84
    Antworten:
    25
    Aufrufe:
    1.347

Diese Seite empfehlen