arkim: internet explorer zeigt seite nicht an, dafür xml-quelltext

hallo,
habe eine xhtml-seite, in der auch php-code eingebettet ist.
daher ist die seite mit der endung .php gespeichert.
leider zeigt seit ich die seite von .html in .php geändert hat der ie nicht mehr an. er interpretiert sie al xml-datei und zeigt nur quelltext an.
ich bin mir sicher, dass es am doctype oder ähnlichen liegen muss.
hier die ausgabe im ie:
  <?xml version="1.0" encoding="UTF-8" ?>
  <!DOCTYPE html (View Source for full doctype...)>

  • <html xmlns="http://www.w3.org/1999/xhtml">
  • <head>
      <title>...</title>
      <link href="scripts/css.css" rel="stylesheet" type="text/css" />
      </head>
  • <body>
     ...

und der ursprüngliche quelltext:

<?php echo("<?xml version="1.0" encoding="UTF-8"?>"); ?>
<!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <title>Ingenieurbüro Gruntram Härth</title>
    <link href="scripts/css.css" rel="stylesheet" type="text/css"/>
  </head>
<body>
...

woran kann das liegen?
achja, mozilla und opera zeigen alles korrekt an.

vielen dank im voraus,
arkim

  1. also wenn ich

    <?php echo("<?xml version="1.0" encoding="UTF-8"?>"); ?>

    weglasse, funktioniert es. allerdings ist die seite so schön in xhtml-strict programmiert, da gehört das doch dazu!
    kann man trotzdem was machen?

    arkim

    1. Hola,

      weglasse, funktioniert es. allerdings ist die seite so schön in xhtml-strict programmiert, da gehört das doch dazu!

      Nein, die Seite ist auch valide, wenn du nur den Doctype ohne diese Angabe schreibst.

      $xNeTworKx.

  2. Hallo,

    habe eine xhtml-seite, in der auch php-code eingebettet ist.
    daher ist die seite mit der endung .php gespeichert.

    Das ist nicht notwendig.
    Gerade, wenn Du die Seiten auch lokal (ohne Webserver) angucken
    willst, kann es ein Vorteil sein, wenn die Namen auf .html enden.

    leider zeigt seit ich die seite von .html in .php geändert hat der ie nicht mehr an. er interpretiert sie al xml-datei und zeigt nur quelltext an.

    Wann?

    Und zeigt er den Quelltext, oder zeigt er die XML-Baumstruktur?

    Ist das Dokument valide? http://validator.w3.org/

    ich bin mir sicher, dass es am doctype oder ähnlichen liegen muss.

    Der XML-Prolog <?xml version...> verwirrt zwar den MS IE 6,
    sodass er die Seiten im Quirks-Modus anzeigt.
    Aber dass er gleich den Quelltext anzeigt, hoere ich zum ersten Mal.

    Bitte gib uns die URL der betreffenden Seite, und zwar als Link. </faq/#Q-19>

    Gruesse,

    Thomas

    1. die seite ist lokal bei mir auf dem rechner.
      ich habe nen apache mit mysql und php am laufen.
      anscheinend denkt der ie anhand des xml-prologs, dass es ein xml-dokument ist und stellt dieses dar.

      habe eine xhtml-seite, in der auch php-code eingebettet ist.
      daher ist die seite mit der endung .php gespeichert.

      Das ist nicht notwendig.
      Gerade, wenn Du die Seiten auch lokal (ohne Webserver) angucken
      willst, kann es ein Vorteil sein, wenn die Namen auf .html enden.

      das ist mir neu. kann ich die endung wirklich mit .html beibehalten, obwohl innerhalb der seite auch php-code steht? hab ich nicht gewusst

      Und zeigt er den Quelltext, oder zeigt er die XML-Baumstruktur?

      es ist wohl eher die xml-struktur

      Ist das Dokument valide? http://validator.w3.org/

      das ist sie, habe ich schon vorher getestet

      die seite wird korrekt dargestellt, wenn ich den xml-prolog weglasse. aber das kann ja nicht die lösung sein...

      1. Hallo,

        die seite ist lokal bei mir auf dem rechner.
        ich habe nen apache mit mysql und php am laufen.

        Das beantwortet meine Frage nicht, ob Du die Seite
        ueber den Webserver oder direkt ab Harddisk anguckst.
        Entscheidend ist, was in der Adresszeile des Browsers steht:
        http://localhost/...
        oder
        file://c:/... oder so.
        Weil Du im OP geschrieben hast, dass der Quelltext in der
        Quelltext-Ansicht des MS IE mit <?xml beginnt, nehme ich
        mal an, dass Du die Seite ueber den lokalen Webserver anguckst.

        Dann ist es eben entscheidend zu wissen, mit welchem MIME-Type
        (Content-Type) dieser die Seiten ausliefert.

        Im Mozilla siehst Du das z.B. unter View -> Page Info (Ctrl-I)
        im Feld Type: text/html oder application/xhtml+xml

        Wobei, wenn ich nachdenke, ist bei Dir ja PHP im Spiel,
        und da sendet der Apache normalerweise text/html.

        das ist mir neu. kann ich die endung wirklich mit .html beibehalten, obwohl innerhalb der seite auch php-code steht? hab ich nicht gewusst

        Du musst einfach dem Apachen sagen, dass er alle .html-Dateien
        auch durch den PHP-Parser schicken soll.
        Dafuer reicht eine Zeile in der .htaccess:

        AddType application/x-httpd-php .html

        @ Fritz: Ja, ich weiss, dass das eine gewisse Mehrbelastung fuer den Server bedeutet.
           Bei _mir_ ist es so, dass ich in einem Verzeichnis entweder PHP in (fast) allen
           HTML-Dateien benuetze, und dann sollen sie auch geparst werden, oder aber
           ich habe nur statische Dateien, dann kann ich es ja wieder abschalten mit
           AddType text/html .html
           in der .htaccess des betreffenden Unterverzeichnisses.

        @ Sven: Wenn man PHP z.B. nur braucht, um die Navigation einzubinden,
            kann man doch problemlos lokal am Inhalt arbeiten und diesen auch
            ohne Webserver lokal im Browser angucken.
            Dann ist es IMHO praktischer, wenn die Dateien die Endigung .html haben,
            weil dann das Betriebssystem besser weiss, was es damit anfangen soll
            (z.B. Oeffnen im Standard-Browser bei Doppelklick, Anzeigen der geeigneten
            Editoren und Browser bei Rechtsklick -> Oeffnen mit, u.s.w.).
            Natuerlich kann man das auch alles fuer die .php-Dateien einrichten,
            aber es bedeutet eben einen Zusatzaufwand.
            Eine alte Seite von mir zum Thema:
            http://www.tiptom.ch/tests/phpssi/php_probleme.php

        die seite wird korrekt dargestellt, wenn ich den xml-prolog weglasse. aber das kann ja nicht die lösung sein...

        Leider ist es fuer gewisse Probleme mit dem MS IE die "Loesung".
        Der XML-Prolog ist ja - im Gegensatz zur DOCTYPE-Angabe, freiwillig.

        Gruesse,

        Thomas

    2. Moin!

      habe eine xhtml-seite, in der auch php-code eingebettet ist.
      daher ist die seite mit der endung .php gespeichert.

      Das ist nicht notwendig.
      Gerade, wenn Du die Seiten auch lokal (ohne Webserver) angucken
      willst, kann es ein Vorteil sein, wenn die Namen auf .html enden.

      Hast du schon mal Webseiten, die mit PHP generiert werden, lokal ohne Webserver angeschaut? Macht wenig Sinn, würde ich sagen.

      - Sven Rautenberg

      --
      "Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
      (fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)
    3. Hallo,

      habe eine xhtml-seite, in der auch php-code eingebettet ist.
      daher ist die seite mit der endung .php gespeichert.

      Das ist nicht notwendig.

      Und woher weiß dann der Server, daß er die Datei parsen soll? Oder läßt Du _alle_ dateien parsen? (Dann freut sich bestimmt die Server-CPU über Arbeit ;-)

      Gruß Fritz

      --
      ss:( zu:| ls:# fo:| de:/ va:) ch:? sh:( n4:? rl:? br:$ js:| ie:| fl:| mo:)
      1. hi,

        Und woher weiß dann der Server, daß er die Datei parsen soll? Oder läßt Du _alle_ dateien parsen? (Dann freut sich bestimmt die Server-CPU über Arbeit ;-)

        wenn _alle_ seiten auch php-code enthalten, kann's dem server auch wieder egal sein, ob er sich die arbeit nun bei .php oder .html benannten seiten macht.

        gruss,
        wahsaga