Anzeige:
Ergebnis 1 bis 11 von 11

Thema: komische Serverausgabe

  1. #1
    Registrierter Benutzer
    Registriert seit
    25.01.2002
    Beiträge
    21

    komische Serverausgabe

    Hallo,

    ich habe ein Skript geschrieben, welches ein Formular in ein XML-Datei umwandelt. Das Skript hab ich mal eingefügt:

    PHP-Code:
    ob_start();

    .
    .
    .

    $file $nname."_".$vname.".xml";

    $mime_boundary "border";

    $header "From: $from\r\n";
    $header.= "MIME-Version: 1.0\r\n";
    $header.= "Content-Type: multipart/mixed;\r\n";
    $header.= " boundary=\"".$mime_boundary."\"\r\n";

    $content "This is a multi-part message in MIME format.\r\n\r\n";
    $content.= "--".$mime_boundary."\r\n";
    $content.= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
    $content.= "Content-Transfer-Encoding: 7bit\r\n\r\n";
    $content.= "--".$mime_boundary."\r\n";
    $content.= "Content-Disposition: attachment;\r\n";
    $content.= "Content-Type: Application/Octet-Stream; name=\"".$file."\"\r\n";
    $content.= "Content-Transfer-Encoding: 8bit\r\n\r\n";
    $content.= $xml."\r\n";
    $content.= "--" $mime_boundary "\r\n";

    mail($to$subject$content$header);

    exit; 
    Die Mailfunktion funkioniert, header leider nicht, trotz des ob_start(). Während des Skripts soll nichts ausgegeben werden, dennoch wird immer dies ausgegeben:

    

    Ich habe absolut keine Ahnung warum dies so ist. Ihr ?

    tschö, Peter
    Geändert von Floyd (17-07-2006 um 09:46 Uhr)

  2. #2
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Denkanstoss: Gültigkeit von Variablen und Werte rückgabe?

    ob_handler ist eine gesteuerte Puffer Ausgabe, wo steuerst du den Puffer?
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  3. #3
    Registrierter Benutzer
    Registriert seit
    25.01.2002
    Beiträge
    21
    Hallo,

    also das Skript funktioniert einwandfrei auf meinem Webspace, da wo es hinsoll nicht. Probleme mit der Gültigkeit sollten eigentlich nicht existieren, da keine Funktion benutzt wird. In dem Skript, welches läuft, habe ich auch keinen ob_start() eingefügt, das war ein Lösungsansatz für das nichtfunktionierende System ...

    und jetzt ?

    tschö, Peter

    Achja, Was mir noch eingefallen ist: Ich habe das Skript mal umgeändert, dass zwar immer noch gepostet wird (aus der HTML-Datei) aber nur header(...); und exit; da stand. Trotzdem die Ausgabe, keine Weiterleitung ... Sehr komisch
    Geändert von Floyd (20-06-2006 um 14:50 Uhr)

  4. #4
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von Floyd
    Achja, Was mir noch eingefallen ist: Ich habe das Skript mal umgeändert, dass zwar immer noch gepostet wird (aus der HTML-Datei) aber nur header(...); und exit; da stand. Trotzdem die Ausgabe, keine Weiterleitung ... Sehr komisch
    Schau dir die Funktion header() und Exit() noch 1x an.
    Das ist ein bissel zuviel de(s|r) Guten.

    Wenn du jetzt nicht auf die Schnelle die Lösung findest experimentiere
    erstmal nur mit der header() Funktion rum, erst wenn das sitzt baust
    du die anderen Zeilen ein.
    Geändert von Romanday (21-06-2006 um 00:37 Uhr)
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

  5. #5
    Registrierter Benutzer
    Registriert seit
    25.01.2002
    Beiträge
    21
    Hallo,

    ok, die Exitfunktion ist also überflüssig, das habe ich jetzt gesehen. Aber das erklärt ja nicht die komische Ausgabe vom Server oder ?

    tschö, Peter

  6. #6
    Registrierter Benutzer
    Registriert seit
    24.06.2004
    Beiträge
    101
    Weiß nicht, obs daran liegt, aber warum sendest du 2 mal den Content-Transfer-Encoding? Einmal mit 7 und noch mal mit 8 Bit. Vielleicht kommen die sich irgendwie in die Quere.

  7. #7
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von Floyd
    Hallo,

    ok, die Exitfunktion ist also überflüssig, das habe ich jetzt gesehen. Aber das erklärt ja nicht die komische Ausgabe vom Server oder ?

    tschö, Peter
    Sorry, aber Du hast meinen Rat nicht befolgt.
    Also noch 1x ran und verschiedene header() Varianten ausprobieren.
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

  8. #8
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Zitat Zitat von Floyd
    Hallo,

    also das Skript funktioniert einwandfrei auf meinem Webspace, da wo es hinsoll nicht. Probleme mit der Gültigkeit sollten eigentlich nicht existieren, da keine Funktion benutzt wird. In dem Skript, welches läuft, habe ich auch keinen ob_start() eingefügt, das war ein Lösungsansatz für das nichtfunktionierende System ...

    und jetzt ?

    tschö, Peter

    Achja, Was mir noch eingefallen ist: Ich habe das Skript mal umgeändert, dass zwar immer noch gepostet wird (aus der HTML-Datei) aber nur header(...); und exit; da stand. Trotzdem die Ausgabe, keine Weiterleitung ... Sehr komisch
    Sehe dir das mal an
    http://www.mrunix.de/forums/showpost...37&postcount=6
    Geändert von undefined (22-06-2006 um 12:07 Uhr)
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  9. #9
    Registrierter Benutzer
    Registriert seit
    25.12.2004
    Beiträge
    217
    Hallo,

    das hier "" deutet auf den "BOM (Byte Order Mark)" von UTF-8 hin. Dieser steht zu Beginn des Datei-Inhalts und definiert die Byterichtung (big oder little endian) und die Art der Enkodierung (8,16...).

    Deaktiviere den BOM in deinem Editor oder verwende einen anderen Editor und setze das Format neu auf UTF-8 (ohne BOM).

    Hier gibt's mehr Infos: http://www.unicode.org/faq/utf_bom.html#BOM

    Grüße,
    nEox

  10. #10
    Registrierter Benutzer
    Registriert seit
    25.12.2004
    Beiträge
    217
    Hier noch ein Link der das "Problem" ganz gut beschreibt:

    http://de.wikipedia.org/wiki/Byte_Order_Mark
    In Unix-artigen Umgebungen ist das Einfügen einer BOM nicht empfehlenswert, da sie mit anderen Zeichen wie der Shebang kollidiert, die ebenfalls am Dateianfang stehen müssen. [...] in PHP führt die BOM zur sofortigen Auslieferung des Dokuments, sodass ohne Output Buffering keine HTTP-Header mehr gesendet werden können.
    Grüße,
    nEox

  11. #11
    Registrierter Benutzer
    Registriert seit
    25.01.2002
    Beiträge
    21
    Hallo nEox,

    danke ! Das war die Lösung ... !

    tschö, Peter

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •