Hallo,
erstmal den Code und dann mein Problem.
Ich führe mit diesem Code einen Request zur newpoll.php durch:
In der newspoll.php befindet sich folgender Inhalt:
In der ticker.php befindet dieser Ticker : http://www.doktormolle.de/temp/ticker6.htm wobei die Einträge durch PHP erzeugt werden. Hier der relevante Auszug:
Wenn ich nun die newspoll.php aufrufe funtkioniert alles ohne Probleme. Wenn ich aber die news.php aufrufe und dann via Ajaxrequest die Seite eingefügt bekomme ich den Fehler:
erstmal den Code und dann mein Problem.
Ich führe mit diesem Code einen Request zur newpoll.php durch:
PHP:
<html>
<head>
<title>News</title>
<script type="text/javascript">
var xmlhttpreq = null;
function GetHTTPRequest() {
var xmlhttp = false;
try {
xmlhttp = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
xmlhttp = false;
}
}
}
return xmlhttp;
}
xmlhttpreq = GetHTTPRequest();
function StartRequest() {
// Persistente Verbindung öffnen
var timestamp = Math.floor(new Date().getTime()/1000);
xmlhttpreq.open('GET', 'newspoll.php?timestamp='+timestamp, true);
xmlhttpreq.onreadystatechange = handle_response;
xmlhttpreq.send(null);
}
function handle_response() {
if (xmlhttpreq.readyState==4 && xmlhttpreq.status==200) {
document.getElementById('printarea').innerHTML = xmlhttpreq.responseText;
}
// Bei Verbindungsabbruch gleich neu initialisieren
if (xmlhttpreq.readyState==4) {
StartRequest();
}
}
</script>
</head>
<body onload="StartRequest();">
<div id="printarea">
</div>
</body>
</html>
In der newspoll.php befindet sich folgender Inhalt:
PHP:
<?php
set_time_limit(0);
include ("db.php");
$timestamp = $_GET["timestamp"];
$i = 1;
do
{
$time = time();
$abfrage = "SELECT * FROM news WHERE zeit > $time AND erstell > $timestamp";
$ergebnis = mysql_query($abfrage);
$num = mysql_num_rows($ergebnis);
If ($num > 0)
{
include ("ticker.php");
}
sleep(2);
}
while ($i > 0);
?>
In der ticker.php befindet dieser Ticker : http://www.doktormolle.de/temp/ticker6.htm wobei die Einträge durch PHP erzeugt werden. Hier der relevante Auszug:
Code:
<script type="text/javascript">
<!--
/* * * * * * * * * * * * * * * * D I E V A R I A B L E N * * * * * * * * * * * * * * * * * */
//°°°°°°°°°°Die News
tNews=new Array();
<?php
include ("db.php");
$time = time();
$abfrage = "SELECT * FROM news WHERE zeit > $time ORDER BY zeit";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$text = $row->text;
$datum = date("d.m.Y",$row->zeit);
$uhrzeit = date("H:i",$row->zeit);
echo "tNews.push('"."<table><tr><td><font size=\"7\" face=\"Verdana,Tahoma,Arial,sans-serif\">$datum - $uhrzeit Uhr</font></td></tr><tr><td><font size=\"7\" face=\"Verdana,Tahoma,Arial,sans-serif\">$text</font></td></tr></table>"."');";
$i = 0;
}
?>
//°°°°°°°°°°Laufrichtung(up,down,left,right)
strDir ='up';
Wenn ich nun die newspoll.php aufrufe funtkioniert alles ohne Probleme. Wenn ich aber die news.php aufrufe und dann via Ajaxrequest die Seite eingefügt bekomme ich den Fehler:
Details zum Fehler auf der Webseite
Benutzer-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2)
Zeitstempel: Fri, 5 Feb 2010 07:09:24 UTC
Meldung: 'objTicker.offsetHeight' ist Null oder kein Objekt
Zeile: 162
Zeichen: 5
Code: 0