Include in gesamter datei?!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #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

    Comment


    • #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

      Comment


      • #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)

        Comment


        • #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

          Comment


          • #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
            **********

            Comment


            • #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
              Last edited by 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)

              Comment


              • #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...

                Comment


                • #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)

                  Comment


                  • #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.
                    Last edited by unset; 20-09-2007, 16:34.
                    [FONT="Helvetica"]twitter.com/unset[/FONT]

                    Shitstorm Podcast – Wöchentliches Auskotzen

                    Comment


                    • #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
                      **********

                      Comment


                      • #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

                        Comment


                        • #27
                          OffTopic:

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

                          n nacht



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

                          Comment


                          • #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)

                            Comment


                            • #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

                              Comment


                              • #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

                                Comment

                                Working...
                                X