Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit header()

Einklappen

Neue Werbung 2019

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

  • Problem mit header()

    Hallo,

    ich gebe HTML-Code aus. Danach will ich ein Bild ausgeben. Bild wird per Skript erzeugt. Nun will ich es, nachdem ich den Header gesetzt habe,
    Code:
     header("content-type: image/png");
    ausgeben und nacher wieder HTML-Code ausgeben. Es geht also HTML-Code, Bildausgabe, HTML-Code. Nun habe ich ein Problem mit den Headern. Kommentiere ich den ganzen HTML-Code aus, wird mir das Bild angezeigt. Ansonsten kommt folgender Fehler:

    Code:
    Warning: Cannot modify header information - headers already sent by (output started at /home/Schmidt/public_html/bell/index.php:29) in /home/Schmidt/public_html/bell/klassen/bild.inc.php on line 17
    So, daher dachte ich mir, dass ich vor dem nächsten HTML-Code noch folgendes mache:
    Code:
    header("content-type: text/plain");
    Bringt außer einer neuen Fehlermeldung (die gleiche wie oben, nur andere Zeile) nichts. Was kann ich tun, damit ich Bild und HTML-Code habe?

    Danke.

    MfG


  • #2
    Du brauchst

    ob_start()

    HTH

    Kommentar


    • #3
      Hi,

      habe die Funktion angewandt, nur wird mir jetzt der Quelltext ausgegeben! Wie bekomme ich es hin, dass der Browser den umsetzt?

      MfG

      Kommentar


      • #4
        Re: Problem mit header()

        Zitat von André Schmidt
        So, daher dachte ich mir, dass ich vor dem nächsten HTML-Code noch folgendes mache:
        Code:
        header("content-type: text/plain");
        Bringt außer einer neuen Fehlermeldung (die gleiche wie oben, nur andere Zeile) nichts. Was kann ich tun, damit ich Bild und HTML-Code habe?
        Das geht afaik in einem Dokument nicht.
        Entweder ist es text/plain ODER es ist image/png.

        Wie hast du dir das denn vorgestellt? Zeig mal bitte deinen Quellcode...

        btw.: Das bei text/plain der HTML-Code angezeigt wird ist normal. Der Content-Type für HTML ist text/html

        mfG
        werbegeschenk
        Create your own quiz show.

        Kommentar


        • #5
          Hallo,

          hier mal mein Quelltext. Ich möchte, dass ich Bild und HTML-Code habe. Hier ohne ob_... etc.

          Code:
          <?php
          //Einbindung der Klassen
          include "klassen/datenbank.inc.php";
          include "klassen/nutzer.inc.php";
          include "klassen/bild.inc.php";
          
          $db = new datenbank;
          $nz = new nutzer;
          $bd = new bild;
          
          $nz->verbindung=$db->verbindung(); // verbindet zur Datenbank
          
          if (isset($_POST['sid']))
          {
           $nz->sid=$_POST['sid'];
           $nz->passwortabfrage();
           echo $nz->meldung;
          }
          ?>
           <html>
           <head>
           <link rel="stylesheet" href="css/styles.css">
           <title>
           .:Dateimanager:.
           </title>
           </head>
           <body>
           <form action="$_SERVER['PHP_SELF']" method="POST">
           <table border="1">
           <tr height="80"><td></td></tr>
           </table>
          <?php
          
          if ($nz->status)
          {
           echo "Hier siehst du jetzt das Menü.";
          }
          else
          {
           include "module/login.inc.php";
           $bd->text='hallo';
           $bd->erstelle_button(); //liefert mir ein Bild zurück
          
          
          }
          header("content-type: text/html");
          ?>
          </form>
          </body>
          </html>
          MfG

          Kommentar


          • #6
            Nee, so kann's nicht klappen. Du kannst nicht mitten im Dokument den content-type wechseln.

            Vorschlag:
            Lagere die Funktion/Klasse/haumichtot, welche das Bild erstellt in eine extra datei aus. Der verpasst du ein image/png. Jetzt kannst du diese Datei einfach über den <img>-Tag ins andere Dokument einbinden. ([img]datei.php?hierevtlparameter=wert[/img])
            Oder du speicherst das Bild irgendwo auf dem Server, statt es gleich auszugeben und gibst wieder den Pfad im img-Tag an.

            (Ich hoffe das ist irgendwie verständlich. Weiß gerade nicht wie ich's besser formulieren soll )

            mfG
            werbegeschenk
            Create your own quiz show.

            Kommentar


            • #7
              Hi,

              dein Vorschlag hat schon den Vorteil, dass ich dann vielleicht auch Templates nutzen könnte. Ich werde ihn mir mal anschauen.

              MfG

              Kommentar

              Lädt...
              X