Ankündigung

Einklappen
Keine Ankündigung bisher.

design.html datei in PHP ausrufen

Einklappen

Neue Werbung 2019

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

  • design.html datei in PHP ausrufen

    Hallo
    Ich möchte mal den versuch starten mir ein kleines system zu coden
    da kommt schon mein erster Problem ich habe 3 dateien einmal design.html, indes.php und functions.php das mit functions.php ist kein problem
    nur das mit dem design.html so sieht es aus, ist nur mal ein beispiel

    design.html
    PHP-Code:

    <p>{zeit} </p
    <
    p>&nbsp;</p
    <
    table width="100%" border="0">   
    <
    tr>     
    <
    td width="15%"><table width="200" border="0">       
    <
    tr>         
    <
    td>{blocktittel}</td>       
    </
    tr>      
    </
    table></td>     
    <
    td width="85%"><table width="100%" border="0">       
    <
    tr>         
    <
    td>{blockinhalt}</td>       
    </
    tr>      
    </
    table></td>   
    </
    tr> </table
    {
    blocktittel
    und so sieht die index.php aus

    PHP-Code:
    <?PHP

    include("functions.php");  
    $homepage file_get_contents('design.html'); 
    $homepage str_replace("{blocktittel}"blocktittel(), $homepage);  
    $homepage str_replace("{blockinhalt}""Block Inhalt4"$homepage);  
    $homepage str_replace("{zeit}""die Uhrzeit"$homepage); 
    echo 
    $homepage;

    ?>
    mein problem ist, das zweite {blocktittel} wo in design.html drin ist wird nicht angezeigt, die Zeit ist bei Design.html ganz oben ist wird bei mir in der zweiten zeile angezeigt kann mir einer ein beispiel geben wie ich das am besten machen könnte.

    gruß

    DeMa

  • #2
    Heißt die Funktion wirklich
    Code:
     blocktittel()
    ?

    http://php.net/manual/de/function.error-reporting.php
    [URL]http://hallophp.de[/URL]

    Kommentar


    • #3
      Mit einem Aufruf von str_replace wird jedes Vorkommen von {blocktitel} ersetzt. Du kannst nicht 2 verschiedene Werte für 1 Platzhalter einfügen (zumindest nicht über str_replace).
      Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

      Kommentar


      • #4
        Interpunktion wäre Grundsätzlich nicht schlecht.. Ich musste ein paar Male lesen, bis ich wusste was du willst

        Wie sieht die Ausgabe aus?
        Wird das zweite {blocktittel} mit einem leeren String ersetzt oder steht da dann einfach {blocktittel} ?

        Kommentar


        • #5
          Hallo

          Danke für die schnelle Antwort

          die ausgabe sieht so aus

          Code:
          ist nur ein function testdie Uhrzeit 
            
                                   
                                           Block Inhalt4
          Die Funktion
          blocktittel() Gibt es wirklich und die wird auch angezeigt

          das zweite {blocktittel} ist leer, wie kann ich es auslesen das es nicht leer ist

          gruß

          DeMa

          Kommentar


          • #6
            Schau bitte in den generierten Quelltext, der 2. {blocktitel} wird auch ausgegeben, steht nur ausserhalb von jeglichen HTML tags und wird deswegen nur nicht im Browser angezeigt.
            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

            Kommentar


            • #7
              der quelltext sieht so aus

              PHP-Code:
              ist nur ein function test
              <html xmlns="http://www.w3.org/1999/xhtml"
              <
              head
              <
              meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Unbenanntes Dokument</title
              </
              head>   
              <
              body>  
              <
              p>die Uhrzeit </p
              <
              p>&nbsp;</p
              <
              table width="100%" border="0">   
              <
              tr>    
               <
              td width="15%"><table width="200" border="0">       
              <
              tr>         
              <
              td>
              </
              td>       
              </
              tr>      
              </
              table></td>     
              <
              td width="85%">
              <
              table width="100%" border="0">       
              <
              tr>         
              <
              td>Block Inhalt4</td>       
              </
              tr>      
              </
              table></td>   
              </
              tr> </table>      
              </
              body
              </
              html
              da wird der zweite {blocktittel} nicht angezeigt

              Kommentar


              • #8
                und die {zeit} wird auch nicht angezeigt

                gibt es eine andere möglichkeit? würde mich für ein beispiel freuen

                gruß

                DeMa

                Kommentar


                • #9
                  Wenn du den Code so schreibst und hier auch postest, dass man nicht kilometerweit nach rechts scrollen muss, dann wird es wesentlich übersichtlicher.
                  [PHP]if ($var != 0) {
                  $var = 0;
                  }[/PHP]

                  Kommentar


                  • #10
                    Hab es geändert,

                    Ich hab mein code kopiert und eingefügt der hat die zeilenumbruch nach speichern nicht übernommen das ist komisch

                    naja habs geändert

                    gruß

                    DeMa

                    Kommentar


                    • #11
                      der design.html sieh komplett so aus

                      PHP-Code:

                      <html xmlns="http://www.w3.org/1999/xhtml">
                      <
                      head>
                      <
                      meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                      <
                      title>Unbenanntes Dokument</title>
                      </
                      head>


                      <
                      body>

                      <
                      p>{zeit}
                      </
                      p>
                      <
                      p>&nbsp;</p>
                      <
                      table width="100%" border="0">
                        <
                      tr>
                          <
                      td width="15%"><table width="200" border="0">
                            <
                      tr>
                              <
                      td>{blocktittel}</td>
                            </
                      tr>

                          </
                      table></td>
                          <
                      td width="85%"><table width="100%" border="0">
                            <
                      tr>
                              <
                      td>{blockinhalt}</td>
                            </
                      tr>

                          </
                      table></td>
                        </
                      tr>
                      </
                      table>
                      {
                      blocktittel}




                      </
                      body>
                      </
                      html

                      Kommentar


                      • #12
                        blocktitel, es heißt titel. Tittel ist... naja, lassen wir das.

                        Wie sind die blocktitel()-Funktion aus?

                        Kommentar


                        • #13
                          PHP-Code:
                          <?PHP

                          function blocktittel() {

                          echo 
                          "ist nur ein function test";

                          }

                          ?>
                          So sieht die functions.php aus

                          Kommentar


                          • #14
                            und warum hat die methode keinen return-wert?

                            Dann ist mir auch klar, warum es nur einmal passiert. Beim Aufruf von str_replace wird das echo ausgeführt und dein Platzhalter anschließend durch die Rückgabe der Funktion ersetzt. Und die ist nunmal leer.

                            Mach aus dem echo ein return, dann klappts

                            Kommentar


                            • #15
                              tausche mal das 'echo' gegen ein 'return' aus

                              Kommentar

                              Lädt...
                              X