Warum richtige Darstellung in FF und in IE falsch?

Hi, bei meiner Homepage
http://thegrimreaper.bplaced.net/index.php
wird mein Layout in Firefox(Version 3) (dort habe ich es auch immer betrachtet, während ich alles geschrieben habe) so angezeigt, wie ich es will, betrachte ich es jedoch mit dem Internetexplorer, passt wieder alles vorne und hinten nicht…

Kann mir jemand erklären, warum der IE das nicht richtig darstellt und vor allem, welche der von mir verwendeten Codes er nicht darstellen kann.
Und wenn ihr mir dann noch gleich einen Lösungsvorschlag/weg bieten könntet, wäre ich euch mehr als dankbar :slight_smile:

MfG

deine frage kann ich dir leider nicht beantworten,aber du hast im quelltext zwei mal den doc type und den head drin

Das liegt daran, dass ich mit dem PHP-Code “include” den Inhalt (Die News) von einer anderen Datei einbaue.
Kann ich das aus der anderen Datei löschen oder muss ich das drin lassen?

weiß nich ob das iwie stört, allein der sauberkeit halber würd ichs rausnehmen

Joa, ich schau mal, ob das dann noch funktioniert…

Achja, ne Frage, die ich in meinem Erstbeitrag vergessen hatte:
Ich lass bei meiner Shoutbox die auf der Datenbank gespeicherten Shouts mit einem laufen. Das Problem dabei ist, wenn die Shouts zu lang für die Breite des Marquee sind, kann er sie nicht richtig darstellen, da auch keine automatischen Zeilenumbrüche gemacht werden.
Gibts ne Möglichkeit, automatische Zeilenumbrüche anzuschalten.
Oder kann ich das vielleicht irgendwie in meinem PHP-Code mit “if” machen?

Erstmals zu dem doppelten doctype:

Die kannst du sofort rausnehmen. Lass in den Dateien die du inculdest nur das zwischen dem tag stehen. Die Seite wird ja auf dem Server zusammengesetzt. Der Browser merkt also keinen Unterschied ob es sich um eine statische html Seite handelt, oder um eine, die mit php auf dem server zusammengesetzt wird.

Zur Shoutbox:

Um die Zeilenumbrüche, die der Datenbankeintrag enthält auch in der Shoutbox darzustellen verwendest du am besten die php Funktion nl2br().

Um Wörter die länger sind, als deine Shoutbox breit sind abzutrennen, verwendest du preg_replace().
zb:
preg_replace(’~\S{20}~’, '\0 ', ${variable mit dem Inhalt des Eintrags})

“ichbineinsehrlangeslustigeswort” wird so zu “ichbineinsehrlangesl ustigeswort”

Ab wievielen Zeichen ein Wort abgetrennt werden soll kannst du frei wählen und soll an die breite der Shoutbox angepasst werden. (in diesem Fall 20 Zeichen - S{20}).

Außerdem solltest du unbedingt vor der Ausgabe der Shouboxeinträge die php funktion htmlspecialchars() verwenden.

Zum demonstrieren hab ich die in deine Shoutbox einfach einmal einen Eintrag mit “” gemacht. Das Ergebnis kannst du ja selber sehen.

Die fertige Abfrage sollte dann in etwa so aussehen:

okay vielen Dank - klappt alles wunderbar :slight_smile:

Kannst du mir vielleicht auch zu meiner Dastellungsfrage (Erstbeitrag) helfen?

Hatte noch nicht Zeit mir das anzusehen, aber werde ich noch machen :wink:
Bin auf dem Gebiet jedoch nicht so der Spezialist…
Aber ich kann dir schon mal sagen, dass es im Opera, Chrome und Safari den gleichen Darsstellungfehler hat :stuck_out_tongue:

Okay, vielen Dank schonmal im Voraus und nicht wundern, wenn die nächsten paar Tage nichts von mir zurückkommt - ab morgen gehts erstmal für ein paar Tage snowboarden :smiley:

Hab mich mal ein wenig gespielt, solltest aber trotzdem noch die Fehler lt. Validator ( validator.w3.org ) entfernen.

[code]

Moegy-Abi 09 #platzhalter { height:30px; background-image:url(img/contentbg2.gif); width:976px; border:none; } #content { background-image:url(img/contentbg2.gif); width:976px; margin:auto; border:none; }


2008-12-28 14:24:19 WTF?
    Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
    </fieldset>
    <br />
    <br />
    <fieldset>
    <legend>2008-12-28 02:48:46</legend>
    �h?
    
    
    Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
    </fieldset>
    <br />
    <br />
    <fieldset>
    <legend>2008-12-28 02:47:10</legend>
    h�h?
    
    Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
    </fieldset>
    <br />
    <br />
    <fieldset>
    <legend>2008-12-27 20:00:14</legend>
    �������hhh?
    
    �������?
    </fieldset>
    <br />
    <br />
    <fieldset>
    <legend>2008-12-27 19:19:57</legend>
    Test� Test�
    Diesmal mit l�ngerem Text:
    
    Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
    </fieldset>
    <br />
    <br />
    <fieldset>
    <legend>2008-12-27 18:43:46</legend>
    Test Test 123
    </fieldset>
    <br />
    <br />
    </font> </td>
  <td style="width:10px"></td>
  <td width="100px" align="right" style="padding-right:10px; vertical-align:top"><marquee bgcolor="#CCCCCC" scrollamount="3" onmouseover="this.stop()" onmouseout="this.start()" direction="up" loop="true" height="500px" width="145px" style="border:thin solid;">
    <center>
      <hr />
      was geht?<br />
      <hr />
      häh?<br />
      <hr />
      nanu?<br />
      <hr />
      test<br />
      <hr />
      test2<br />
      <hr />
      test3<br />
      <hr />
      gasgsaghegharghdsdgd fgsfdhdsgsdgfsdgsd<br />
      <hr />
      654<br />
      <hr />
      &lt;/body&gt;<br />
      <hr />
      ich wollte mal anmerken, dass jetzt endlich alles so funktioniert, wie es soll :)<br />
      <hr />
      ?<br />
      <hr />
      hallo<br />
      <hr />
      HUUURABOCK!!<br />
      <hr />
      test<br />
      <hr />
      SELECT * FROM shout WHERE ID 1 = 1<br />
      <hr />
      dgdfgdf<br />
      <hr />
    </center>
    </marquee>
    <br />
    <form action="shoutbox.php" method="post">
      <input type="text" name="Inhalt" width="140px"/>
      <input type="submit" name="formaction" value="SHOUT!" />
    </form></td>
  <td width="*"></td>
</tr>
[/code]

GEIL! Danke :slight_smile: :hail:

Jetzt hab ich noch ein letztes Problem:
Bei meinem Newsscript werden Umlaute und Zeilenumbrüche nicht richtig dargestellt.

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Ist der Code in meiner Datei.
Meine Datenbanktabelle läuft auf utf8_general_ci und auch in meinem Datenfeld “Inhalt” ist utf8_gerneral_ci angegeben.
Die gesamte Datenbank ist auch UTF8…

Beim Gästebuch (gleiche Einstellungen bei der Datenbank) funktionieren die Umlaute, die Umbrüche aber nicht.
Und bei der Shoutbox wird es ähnlich sein, wobei man dort keine Umbrüche angeben kann, also die Umbrüche auch nicht erforderlich sind…

Die Datei hast du auch mit der Kodierung UTF-8 abgespeichert?

Die Metaangaben sind zwar nett, nur vertrauen die meisten Browser darauf welche Kodierung ihnen der Server mitteilt und nicht auf die Angaben im Quelltext.

schreibst du die umlaute so hin oder maskierst du die?

Ist eine rhetorische Frage, oder?
Wenn sie maskiert wären würden sie unabhängig von der Kodierung korrekt angezeigt werden.

mh… das war mir nicht komplett bewusst - ich habs mir gedacht, aber wissen tat ich es nicht. wieso maskiert er die umlaute dann nicht?

werden sie so angezeigt

oder werden sie so angezeigt:

ich nehme mal letzteres an - das erste ist glaube ich kein problem der maskierung, sondern mit den headern.

ersteres sind UTF-8 kodierte Umlaute, welche in einer als Latin deklarierten Seite angezeigt werden.
zweiteres sind Latin kodierte Umlaute, welche in einer als UTF-8 deklarierten Seite angezeigt werden.

mh… ich hab zwa rnichts verstanden, aber ich geb dir recht :ps: