Internet Explorer baut sinnlose Newlines (\n) ein.

herzblut

Mitglied
Hallo.
Ich habe ein Problem mit einen Php Script.
In dem Script wird ein Template geladen und gefüllt.
Wenn ich die Seite im Firefox lade funktioniert auch alles wunderbar, nur wenn ich das im IE mache dann wird der inhalt um soviele <br>'s nach unten verschoben wie zeilen in einer Tabelle vorhanden sind. Wenn ich die Zeilen (die über der Tabelle entstanden sind) markiere, markiert sich automatisch die dazugehörige Zeile der Tabelle mit. Wenn ich mir den Quelletext der Seite anschaue sind dort aber keine breaks vorhanden. Kann mir da vielleicht jemand weiterhelfen Ich habe keine Ahnung woran es lieben könnte.

Das Php Script:
PHP:
function showbrowser()
	{
		global $main, $sql, $cfg, $lang_tpl;
		if($cfg->cfg_a_statistic == 1)                          $main->msg(ERR_FALSEURL,1);
		if($cfg->cfg_r_statistic == 1 && !$main->chkSession)    $main->msg(ERR_REGAREA,1);
		$sql->query("SELECT count FROM ".$cfg->cfg_dbpref."statistic_browser");
		while($sum = $sql->fetchRows())
		{
			$allcount += $sum['count'];
		}
		$sql->query("SELECT * FROM ".$cfg->cfg_dbpref."statistic_browser");
		while($row = $sql->fetchRows())
		{
			$bpercent = 0;
			$bpercentimg = 0;
			if($row['count'] != 0)
			{
				$bpercent = round($row['count'] / $allcount * 100,1);
				$bpercentimg = round($row['count'] / $allcount * 100);
			}
			$template = new template();
			$tplrow = $template->getTpl("statistic/showbrowserpart.tpl");
			$tpl = $template->fillTpl($tplrow, array(
							         "BROWSER" => $row['browsername'],
							         "BROWSERCOUNT" => $row['count'],
							         "BROWSERPERCENTIMG" => $bpercentimg,
							         "BROWSERPERCENT" => $bpercent));
		}
		$tpltable = $template->getTpl("statistic/showbrowsertable.tpl");
    $content = $template->fillTpl($tpltable, array(
							         "STATBBROWSER" => $lang_tpl->STATBBROWSER,
							         "STATBCOUNT" => $lang_tpl->STATBCOUNT,
							         "STATBPERCENT" => $lang_tpl->STATBPERCENT,
							         "INHALT" => $tpl));
		return $content;
	}


Und die Templatedateien die geladen werden:
showbrowserpart.tpl
Code:
	<tr>
		<td>{BROWSER}</td>
		<td>{BROWSERCOUNT}</td>
		<td>{BROWSERPERCENT}%</td>
		<td><table width="{BROWSERPERCENTIMG}%" height="12" border="0"><tr><td bgcolor="#000000"></td></tr></table></td>
	</tr>


showbrowsertable.tpl
Code:
<table border="0" width="100%">
	<tr>
		<td width="15%"><b>{STATBBROWSER}</b></td>
		<td width="10%"><b>{STATBCOUNT}</b></td>
		<td width="11%"><b>{STATBPERCENT}</b></td>
		<td width="64%"></td>
	</tr>
	{INHALT}	
</table>


Die showbrowserpart.tpl wird einfach in der while schleife in die showbrowsertable.tpl für {INHALT} eingebunden. Diese wird dann wiederum in eine index.tpl includiert, die dann ausgegeben wird.

Wenn noch Fragen aufkommen sollten, einfach fragen.
Ich hoffe jemand kann mir sagen warum der IE da so ein komisches Problem mit hat.

Gruß
hz

PS: Achja, vielleicht kann mir bitte noch gleich jemand sagen was ich für
PHP:
$sql->query("SELECT count FROM ".$cfg->cfg_dbpref."statistic_browser");
while($sum = $sql->fetchRows())
{
        $allcount += $sum['count'];
}
schreiben muss wenn ich die SUM funktion von mysql benutzen will. ich glaube dann würde das script noch etwas schneller werden. THX :D
 
Zuletzt bearbeitet:
herzblut hat gesagt.:
Wenn ich mir den Quelletext der Seite anschaue ...

Der Fehler lässt sich aus deinem PHP-Code kaum ausmachen.... du müsstest also auch uns die HTML-Source der Seite offenbaren.

Zu dem 2.
PHP:
$sql->query("SELECT SUM(count) as allcount FROM ".$cfg->cfg_dbpref."statistic_browser");
...sollte es bringen.
 
Hallo,
danke erstmal für die Antwort. Die SUM funktion ist schon eingebaut und funktioniert. :)

Also der HTML source sieht folgendermassen aus:
Der interessante Teil ist wohl der rot markierte. weil es um die Tabelle geht.
Dies is übrigents der Firefox source. im Internetexplorer baut der zwischen die <tr> tags der roten tabelle immer noch ein zeichen das aussieht wie ein singlequote, aber etwas kleiner ist. Ich denke daran liegt es auch, nur weiss ich nicht wie um alles in der Welt das da reinkommt...

Code:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="./theme/standart/css/default.css">
<script language="JavaScript" src="./theme/standart/jscript/default.js"></script>
</head>

<body>
<table cellpadding="5" cellspacing="0" width="750" border="1">
	<tr>
		<td colspan="3" width="750" height="150"></td>
	</tr>
	<tr>

		<td width="150" valign="top"><table border="1" width="100%">
 <tr>
  <td><b>Navigation</b></td>
 </tr>
 <tr>
  <td>Portal<br>
News<br>
Gaestebuch<br>

<a href="statistic.php">Statistik</a>
<br><a href="statistic.php?section=browser">Browser</a> - <a href="statistic.php?section=system">System</a>
<br><br><br>
usw.</td>
 </tr>
</table><br><br><table border="1" width="100%">
 <tr>
  <td><b>Login</b></td>

 </tr>
 <tr>
  <td><form name="login" method="post" action="user.php">
<table width="100%" border="0" cellspacing="1" cellpadding="2" align="center">
  <tr> 
    <td><input type="text" name="name" size=15></td>
  </tr>
  <tr> 
    <td><input type="password" name="pwd" size=15></td>
  </tr>

  <tr> 
    <td><input class="button" type="checkbox" value="1" name="cookie"> eingeloggt bleiben?</td>
  </tr>
  <tr> 
    <td><input type="hidden" name="action" value="login"><input class="button" type="submit" value="login" name="login"></td>
  </tr>
  <tr>
    <td><a href="user.php?section=forgot">Passwort vergessen?</a> - <a href="user.php?section=register">Registrieren</a></td>

  </tr>
</table>
</form></td>
 </tr>
</table><br><br></td>
		<td width="450" valign="top"><table border="0" width="100%">
	<tr>
		<td width="15%"><b>Browser</b></td>
		<td width="10%"><b>Anzahl</b></td>

		<td width="11%"><b>Prozent</b></td>
		<td width="64%"></td>
	</tr>
    <tr>
    <td>Opera</td>
    <td>0</td>
    <td>0%</td>

    <td><table width="0%" height="12" border="0"><tr><td bgcolor="#000000"></td></tr></table></td>
  </tr>  <tr>
    <td>Internet Explorer</td>
    <td>1</td>
    <td>6.3%</td>
    <td><table width="6%" height="12" border="0"><tr><td bgcolor="#000000"></td></tr></table></td>
  </tr>  <tr>

    <td>Netscape</td>
    <td>0</td>
    <td>0%</td>
    <td><table width="0%" height="12" border="0"><tr><td bgcolor="#000000"></td></tr></table></td>
  </tr>  <tr>
    <td>Lynx</td>

    <td>0</td>
    <td>0%</td>
    <td><table width="0%" height="12" border="0"><tr><td bgcolor="#000000"></td></tr></table></td>
  </tr>  <tr>
    <td>Firefox</td>
    <td>15</td>

    <td>93.8%</td>
    <td><table width="94%" height="12" border="0"><tr><td bgcolor="#000000"></td></tr></table></td>
  </tr>  <tr>
    <td>Firebird</td>
    <td>0</td>
    <td>0%</td>

    <td><table width="0%" height="12" border="0"><tr><td bgcolor="#000000"></td></tr></table></td>
  </tr>  <tr>
    <td>Konqueror</td>
    <td>0</td>
    <td>0%</td>
    <td><table width="0%" height="12" border="0"><tr><td bgcolor="#000000"></td></tr></table></td>
  </tr>  <tr>

    <td>Bot</td>
    <td>0</td>
    <td>0%</td>
    <td><table width="0%" height="12" border="0"><tr><td bgcolor="#000000"></td></tr></table></td>
  </tr>  <tr>
    <td>Anderer</td>

    <td>0</td>
    <td>0%</td>
    <td><table width="0%" height="12" border="0"><tr><td bgcolor="#000000"></td></tr></table></td>
  </tr>
</table></td>
		<td width="150" valign="top"><table border="1" width="100%">
 <tr>
  <td><b>Sprache</b></td>

 </tr>
 <tr>
  <td><table cellpadding="0" cellspacing="0" width="100%">
  <tr>
    <td align="center"><a href="?lang=en"><img src="theme/standart/img/flags/gb.gif" border="0"></a></td>
    <td align="center"><a href="?lang=de"><img src="theme/standart/img/flags/de.gif" border="0"></a></td>
  </tr>
</table></td>
 </tr>

</table><br><br><table border="1" width="100%">
 <tr>
  <td><b>Statistik</b></td>
 </tr>
 <tr>
  <td>Online heute: 1<br>
Online gestern: 1<br>
Online gesamt 16<br>

Hits heute: 39<br>
Hits gestern: 227<br>
Hits gesamt: 1162<br><br>
Datum: 05.01.2006 - 17:50<br><br>
registrierte Benutzer: 0<br>
G?ste: 1<br>
Gesamt: 1<br></td>
 </tr>
</table><br><br></td>

	</tr>
	<tr>
		<td colspan="3" valign="top" align="center">0.0126 sec</td>
	</tr>
</table>
</body>
</html>
 
Ich habe noch nochmal Screenshots gemacht.

ff.jpg : Firefox
ie1.jpg : IE
ie2.jpg : IE (ich habe nur etwas vom freien Bereich über der Tabelle markiert. Die Zeilen der Tabelle haben sich automatisch mit markiert.)

Vielleicht hillft das ja noch irgendwie weiter.
Gruß
hz
 
Zuletzt bearbeitet:
Tut mir leid....irgendwie musst da da selbst klarkommen.
Aus deinem Code ist nichts ersichtlich, nachstellen kann man es nicht, ein Screenshot hilft auch nichts weiter.

Wenn du deinen lokalen Server mal kurz aus dem Internet zugänglich machen würdest, könnte man es dort betrachten(müsst ich nur deine IP wissen ;))
 
Zurück