laufende Uhrzeit
Das mit Ajax zu machen ist eine ganz schlechte Idee, weil du damit den Server unnötig belastest.
Eine praktische Lösung sieht so aus, dass man einmalig die Differenz zwischen Server- und Client-Zeit ermittelt und dann diese zukünftig immer zur Client-Zeit hinzurechnet.
Allerdings stellt sich mir die Frage, wie viele deiner Besucher unbedingt die - dazu noch sekündlich aktualisierte - Serverzeit benötigen.
Eine praktische Lösung sieht so aus, dass man einmalig die Differenz zwischen Server- und Client-Zeit ermittelt und dann diese zukünftig immer zur Client-Zeit hinzurechnet.
Allerdings stellt sich mir die Frage, wie viele deiner Besucher unbedingt die - dazu noch sekündlich aktualisierte - Serverzeit benötigen.
KB:knigge
so nun habe ich es auch hinbekommen.
sau einfach gewesen, ich hatte nur mal wieder nen denkfehler drin.
ich weiß nciht warum, aber ich wollte ständig den code unter php ablegen
ausgegeben wird das ganze dann einfach mit
nun stehe ich jedoch vor einem weiteren problem.
und zwar habe ich mir gleich noch einen countdown gebastelt, welcher mir immer einen timestamp runterzählt. funktioniert soweit alles auch ganz gut nur wie stelle ich es an, wenn ich nun für jede zeile einer tabelle den eintrag mit dem timestamp runterzählen lassen möchte ? ich muss ja iwi definieren, wert_1, wert_2, wert_n. funktioniert das zufällig so ähnlich wie die zählweise in einer highscore für die platznummern, also in etwa so ".($i+1)."?
hier mal der code, den ich zur verfügung habe.
evtl. hat ja jemand von euch eine idee oder verbesserungsvorschläge für mich.
sau einfach gewesen, ich hatte nur mal wieder nen denkfehler drin.
ich weiß nciht warum, aber ich wollte ständig den code unter php ablegen

Code: Alles auswählen
?>
<html>
<head>
<script language="JavaScript">
var serverZeit = new Date(0, 0, 0, <?php echo $stunden . ", " . $minuten . ", " . $sekunden;?>);
var LadeZeit = new Date();
function uhrAktualisieren(){
var aktZeit = new Date();
var serverAktZeit = new Date(aktZeit.valueOf() - LadeZeit.valueOf() + serverZeit.valueOf());
var h = serverAktZeit.getHours();
if (h <10) {h='0'+h;}
var m = serverAktZeit.getMinutes();
if (m <10) {m='0'+m;}
var s = serverAktZeit.getSeconds();
if (s <10) {s='0'+s;}
document.getElementById("uhr").innerHTML = h+':'+m+':'+s;
window.setTimeout('uhrAktualisieren()', 1000);
}
</script>
</head>
<body onLoad="countdown(),uhrAktualisieren()">
</body>
</html>
Code: Alles auswählen
Time: ".date("d.m.y")." <span id=\"uhr\">".date("H:i:s")."</span>
und zwar habe ich mir gleich noch einen countdown gebastelt, welcher mir immer einen timestamp runterzählt. funktioniert soweit alles auch ganz gut nur wie stelle ich es an, wenn ich nun für jede zeile einer tabelle den eintrag mit dem timestamp runterzählen lassen möchte ? ich muss ja iwi definieren, wert_1, wert_2, wert_n. funktioniert das zufällig so ähnlich wie die zählweise in einer highscore für die platznummern, also in etwa so ".($i+1)."?
hier mal der code, den ich zur verfügung habe.
Code: Alles auswählen
<html>
<head>
<?php
// Lese letzten Scan aus
$sql = "SELECT Datum
FROM ".SCANLOGS."
ORDER BY Datum DESC;";
$result = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($result);
// nur den ersten (also letzten Eintrag) auslesen
$date = $row['Datum'];
$ZeitE = getNextScan($date);
$timestamp = ($ZeitE);
$testausgabe = date("F, j Y H:i:s",$timestamp);
?>
<script language="JavaScript">
var end = new Date("<?PHP echo $testausgabe; ?>");
function toSt2(n) {
s = "";
if (n < 10) s += "0";
return (s + n).toString();
}
function toSt3(n) {
s = "";
if (n < 10) s += "00";
else if (n < 100) s += "0";
return (s + n).toString();
}
function countdown() {
d = new Date();
count = Math.floor(end.getTime() - d.getTime());
if(count > 0) {
miliseconds = toSt3(count%1000); count = Math.floor(count/1000);
seconds = toSt2(count%60); count = Math.floor(count/60);
minutes = toSt2(count%60); count = Math.floor(count/60);
hours = toSt2(count%24); count = Math.floor(count/24);
days = count;
document.getElementById("c1").innerHTML = hours + ":" + minutes + ":" + seconds
setTimeout("countdown()", 50);
}
else
{
document.getElementById("c1").style.color = "#00FF00";
document.getElementById("c1").innerHTML = "00:00:00";
document.getElementById("c1").innerHTML = "jetzt";
}
}
window.onload = function(){
countdown();
}
</script>
</head>
</html>
LG Marc
Wir leben alle unter dem gleichen Himmel, aber wir haben nicht alle den gleichen Horizont.
Wir leben alle unter dem gleichen Himmel, aber wir haben nicht alle den gleichen Horizont.
???TLoD hat geschrieben:...ausgegeben wird das ganze dann einfach mit
Code: Alles auswählen
Time: ".date("d.m.y")." <span id="uhr">".date("H:i:s")."</span>
Sollte das nicht schon mit
Code: Alles auswählen
<span id="uhr"></span>
Wieso jetzt php-Code?
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Ich schmeiß' alles hin und...
... lasse es liegen
jou haste recht - hatte ich wohl übersehen, muss ja nur die formatierung ändern, dann kann ich mich auf das beschränken 

Zuletzt geändert von TLoD am 28.10.2008 23:59, insgesamt 1-mal geändert.
LG Marc
Wir leben alle unter dem gleichen Himmel, aber wir haben nicht alle den gleichen Horizont.
Wir leben alle unter dem gleichen Himmel, aber wir haben nicht alle den gleichen Horizont.
Ich bekomm noch die kriese mit dem counter.
ich wollte den nun auf der indexseite verbauen aber es funzt nicht.
ich habe den kompletten code nun schon in de overall_header.tpl und auch in der index.php verbaut.
funzen an sich tut der counter schon aber ich bekomme immer eine fehler meldung.
*EDIT*
ich verwende nur diesen teil des codes:
ich wollte den nun auf der indexseite verbauen aber es funzt nicht.
ich habe den kompletten code nun schon in de overall_header.tpl und auch in der index.php verbaut.
funzen an sich tut der counter schon aber ich bekomme immer eine fehler meldung.
hat einer von euch nen rat?Warning: Cannot modify header information - headers already sent by (output started at /var/www/web77/html/wog/index.php:61) in /var/www/web77/html/wog/includes/page_header.php on line 552
Warning: Cannot modify header information - headers already sent by (output started at /var/www/web77/html/wog/index.php:61) in /var/www/web77/html/wog/includes/page_header.php on line 558
Warning: Cannot modify header information - headers already sent by (output started at /var/www/web77/html/wog/index.php:61) in /var/www/web77/html/wog/includes/page_header.php on line 559
*EDIT*
ich verwende nur diesen teil des codes:
Code: Alles auswählen
$timestamp = (1226098800);
$testausgabe = date("F, j Y H:i:s",$timestamp);
?>
<html>
<head>
<script language="JavaScript">
var end = new Date("<?PHP echo $testausgabe; ?>");
function toSt2(n) {
s = "";
if (n < 10) s += "0";
return (s + n).toString();
}
function toSt3(n) {
s = "";
if (n < 10) s += "00";
else if (n < 100) s += "0";
return (s + n).toString();
}
function countdown() {
d = new Date();
count = Math.floor(end.getTime() - d.getTime());
if(count > 0) {
miliseconds = toSt3(count%1000); count = Math.floor(count/1000);
seconds = toSt2(count%60); count = Math.floor(count/60);
minutes = toSt2(count%60); count = Math.floor(count/60);
hours = toSt2(count%24); count = Math.floor(count/24);
days = count;
document.getElementById('c1').innerHTML = days + ' Tage';
document.getElementById("c2").innerHTML = hours + ":" + minutes + ":" + seconds
setTimeout("countdown()", 50);
}
else
{
document.getElementById("c1").style.color = "#00FF00";
document.getElementById("c1").innerHTML = "00:00:00";
document.getElementById("c2").innerHTML = "jetzt";
}
}
window.onload = function(){
countdown();
}
</script>
</head>
<body onLoad="countdown()">
</body>
</html>
<?php
LG Marc
Wir leben alle unter dem gleichen Himmel, aber wir haben nicht alle den gleichen Horizont.
Wir leben alle unter dem gleichen Himmel, aber wir haben nicht alle den gleichen Horizont.
Das ist Deine php Datei? Schau Dir mal die Syntax an....
Das ganze sollte mitstarten und mit enden. So geht das schon mal los.
Such mal evtl. nach Aufbau einer php Datei (gern auch in diesem Forum).
Das ganze sollte mit
Code: Alles auswählen
<?php
Code: Alles auswählen
?>
Such mal evtl. nach Aufbau einer php Datei (gern auch in diesem Forum).

Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Ich schmeiß' alles hin und...
... lasse es liegen
das versteh ich nun nicht.
das ne .php mit <?php anfängt und mit ?> aufhört ist mir klar.
aber ich dachte, dass wenn ich in eine solche datei, nen js einbinde, das nicht in <?php ?> setzen muss.
meine .php schau eigentlich so aus <?php ..... ?> das js <?php ..... ?>
so hatte ich das auf meiner externen Seite auch gelöst und da funzt das js 1a und auch der schon vorher vorhandene php code.
in meinem phpbb forum würde es ja eigentlich auch funzen, wenn die oben genannten fehlermeldungen nicht wären. der counter an sich zählt runter und auch das layout und alle phpbb funktionenn sind verfügbar.
das ne .php mit <?php anfängt und mit ?> aufhört ist mir klar.
aber ich dachte, dass wenn ich in eine solche datei, nen js einbinde, das nicht in <?php ?> setzen muss.
meine .php schau eigentlich so aus <?php ..... ?> das js <?php ..... ?>
so hatte ich das auf meiner externen Seite auch gelöst und da funzt das js 1a und auch der schon vorher vorhandene php code.
in meinem phpbb forum würde es ja eigentlich auch funzen, wenn die oben genannten fehlermeldungen nicht wären. der counter an sich zählt runter und auch das layout und alle phpbb funktionenn sind verfügbar.
LG Marc
Wir leben alle unter dem gleichen Himmel, aber wir haben nicht alle den gleichen Horizont.
Wir leben alle unter dem gleichen Himmel, aber wir haben nicht alle den gleichen Horizont.
ab zeile 61 beginnt das js mit <html>
ich werde wenn ich später heim komme mal meine index.php anhängen.
wie würdest du denn den code einbinden?
ich habe es versucht mit alles in die index.php und auch mit alles in die overall_header.tpl. dann habe ich es auch noch versucht mit js in den header und aufrufen über index.php (onload...) und andersrum, sprich alles in die index.php und im header dann onload.....
wenn ich es alles in einer datei packe kommt zwar keine fehlermeldung aber der counter läuft nicht bzw steht auf null, also abgelaufen bis datum X.
ich werde wenn ich später heim komme mal meine index.php anhängen.
wie würdest du denn den code einbinden?
ich habe es versucht mit alles in die index.php und auch mit alles in die overall_header.tpl. dann habe ich es auch noch versucht mit js in den header und aufrufen über index.php (onload...) und andersrum, sprich alles in die index.php und im header dann onload.....
wenn ich es alles in einer datei packe kommt zwar keine fehlermeldung aber der counter läuft nicht bzw steht auf null, also abgelaufen bis datum X.
LG Marc
Wir leben alle unter dem gleichen Himmel, aber wir haben nicht alle den gleichen Horizont.
Wir leben alle unter dem gleichen Himmel, aber wir haben nicht alle den gleichen Horizont.