Include in gesamter datei?!

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

  • #16
    Original geschrieben von jahlives
    Wirf doch die Output Buffer an und verwende einen Platzhalter für die Titelanzeige
    PHP-Code:
    //ganz als erstes deines Codes
    ob_start();
    echo 
    '<head><title>{TITLE}</title></head>';
    [...]
    //sobald du den Titel festgestellt hast
    //in $title speicherst du den anzuzeigenden Titel
    echo str_replace('{TITLE}',$title,ob_get_contents());
    ob_end_clean(); 
    Gruss

    tobi

    p.s. grundsätzlich würde ich mir aber den Aufbau deiner Dateien mal durch den Kopf gehen lassen. Sind soviele includes() denn überhaupt nötig ?
    hallo,
    habe dieses script mit ein paar kleinen änderungen mal so probiert, aber es liefert keine ausgabe...?! woran kann dies liegen?

    danke.
    greets
    tj

    Kommentar


    • #17
      Weil du den Ausgabepuffer leerst und die Pufferung beendest. Darüberhinaus gibst du sonst nichts mehr aus.

      Edit: Ich seh grade, dass dir jahlives das so gezeigt hat. Wie dem auch sei, es ist falsch. Du möchtest dir das ansehen: http://de.php.net/manual/de/function.ob-flush.php
      [FONT="Helvetica"]twitter.com/unset[/FONT]

      Shitstorm Podcast – Wöchentliches Auskotzen

      Kommentar


      • #18
        Weil du den Ausgabepuffer leerst und die Pufferung beendest. Darüberhinaus gibst du sonst nichts mehr aus
        Beweise Sherlocks
        Oder wofür hältst du ein echo ?
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #19
          Der Ausgabepuffer wird mit ob_end_clean() verworfen und das puffern beendet. Darüberhinaus (sprich: darrauf folgend. Oder noch einfacher: Dannach) wird nichts mehr ausgegeben.
          [FONT="Helvetica"]twitter.com/unset[/FONT]

          Shitstorm Podcast – Wöchentliches Auskotzen

          Kommentar


          • #20
            Original geschrieben von jahlives
            Beweise Sherlocks
            Oder wofür hältst du ein echo ?
            OffTopic:

            na, nähern wir uns doch dem 1:1????

            **********
            arkos
            **********

            Kommentar


            • #21
              Der Ausgabepuffer wird mit ob_end_clean() verworfen und das puffern beendet
              Nochmal wofür hälst du ein echo ?
              PHP-Code:
              ob_start();
              //in $title speicherst du den anzuzeigenden Titel
              echo str_replace('{TITLE}',$title,ob_get_contents()); <<----
              ob_end_clean(); 
              Gruss

              tobi

              @arkos
              2:1 in der Verlängerung
              Zuletzt geändert von jahlives; 20.09.2007, 16:29.
              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

              Kommentar


              • #22
                wenn ich das jetzt so mache...
                PHP-Code:
                <?

                ob_start();

                echo 'Text {TITLE} Text<br>';


                $title ="test";

                echo str_replace('{TITLE}',$title,ob_get_contents());
                ob_end_flush();

                ?>
                Hier geht dann der normale HTML-Text weiter
                dann liefert mir das eine doppelte ausgabe:

                Code:
                Text {TITLE} Text
                Text test Text
                Hier geht dann der normale HTML-Text weiter
                woran liegt diese doppelte ausgabe?
                ich möchte ja, dass es den 1. teil ersetzt... und nicht das alte und neue stehen haben...

                Kommentar


                • #23
                  ob_end_flush() !== ob_end_clean() mein Guter --> Your Code works as designed

                  Gruss

                  tobi
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar


                  • #24
                    Ich frage mich grade, ob du wirklich so doof bist, oder ähnlich müde wie ich. Aber ich versuchs mal ganz langsam

                    1. Du startest den Output-Buffer. (ob_start()
                    2. Du Machst eine Ausgabe mit Echo (die nicht rausgeschickt wird, weil du den Buffer gestartet hast). (echo str_replace('{TITLE}',$title,ob_get_contents())
                    3. Du löschst den Bufferinhalt und beendest das buffern. (ob_end_clean()
                    4. Du machst keine weitere Ausgabe.

                    Kapiert? Schönen Feierabend

                    Edit: Wir sind wohl beide müde. Das Problem ist, dass du per echo den manipulierten Buffer ausgeben willst, während er noch läuft. Dann beendest du ihn. Du willst die manipulierte Ausgabe aber in einer Variable speichern und nach dem beenden des Buffers echo'en.
                    Zuletzt geändert von unset; 20.09.2007, 16:34.
                    [FONT="Helvetica"]twitter.com/unset[/FONT]

                    Shitstorm Podcast – Wöchentliches Auskotzen

                    Kommentar


                    • #25
                      OffTopic:

                      @arkos
                      2:1 in der Verlängerung
                      dafür möchte ich den fersehbeweis heranziehen



                      machs ma so:
                      PHP-Code:
                      <?php
                      ob_start
                      ();
                      ?>
                      Text {TITLE} Text<br />
                      <?php
                      $title 
                      ="test";
                      echo 
                      str_replace('{TITLE}',$title,ob_get_contents());
                      ob_end_flush();
                      ?>
                      **********
                      arkos
                      **********

                      Kommentar


                      • #26
                        Eher so

                        PHP-Code:
                        ob_start();
                        //in $title speicherst du den anzuzeigenden Titel
                        $sOutput str_replace('{TITLE}',$title,ob_get_contents());
                        ob_end_clean();
                        echo 
                        $sOutput
                        [FONT="Helvetica"]twitter.com/unset[/FONT]

                        Shitstorm Podcast – Wöchentliches Auskotzen

                        Kommentar


                        • #27
                          OffTopic:

                          ach f**k ich mach auch feierabend....

                          n nacht



                          **********
                          arkos
                          **********

                          Kommentar


                          • #28
                            Jetzt habe ich's auch kapiert. Normalerweise speichere ich den Rückgabewert von ob_get_contents() auf einer Var und über die Konsequenz eines echo an dieser Pos war ich mir ned bewusst.
                            <klugscheiss>Dein Code gibt einen Parserfehler, garantiert </klugscheiss>

                            Gruss

                            tobi
                            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                            Kommentar


                            • #29
                              Jaja, er hat ein Gleichzeichen geschluckt. Wie dem auch sei ... dem Fragesteller sollte nun hoffentlich bewusst sein, was zu tun ist.

                              Ich bin raus.
                              [FONT="Helvetica"]twitter.com/unset[/FONT]

                              Shitstorm Podcast – Wöchentliches Auskotzen

                              Kommentar


                              • #30
                                so läuft das ganze

                                PHP-Code:
                                <?php
                                ob_start
                                ();
                                echo 
                                "text {TITLE} text";

                                $title="test";


                                $sOutput str_replace('{TITLE}',$title,ob_get_contents());
                                ob_end_clean();
                                echo 
                                $sOutput;
                                ?>
                                schönen abend noch

                                Kommentar

                                Lädt...
                                X