J
j-l-n
Guest
Eine serverseitige Uhrzeitanzeige hat den Vorteil, dass alle User die selbe Uhrzeit sehen und nicht - ihre evtl. auch noch falsche - Systemzeit.
Unser Skript auf Serverseite sieht folgendermaßen aus:
Nicht vergessen dürfen wir natürlich, auch die dt. Zeit einzustellen - dies ist oft nicht der Fall...
Kommen wir nun zum clientseitigen Teil:
Hier benötigen wir zuerst
,in den dann mittels .innerHTML die Uhrzeit geschrieben wird.
Das Laden per Ajax sieht dann so aus:
Livedemo: AJAX-Uhr (.../uhr.srf)
Wie immer bin ich offen für Anregungen, konstruktive Kritik und Verbesserungsvorschläge!
PS: Ich war mir nicht ganz sicher, ob das in Tutorials JS oder PHP gehört - falls nötig, bitte einfach verschieben!
Ach ja, was mir gerade aufgefallen ist: in der Beschreibung vom "Tutorials JavaScript" ist ein Rechtschreibfehler
Unser Skript auf Serverseite sieht folgendermaßen aus:
PHP:
/*
im Bsp. verwendeter Dateiname: servertime.php
*/
$timestamp = time();
//Monatsnamen als Array
$monat_name = array(
"01" => "Januar",
"02" => "Februar",
"03" => "März",
"04" => "April",
"05" => "Mai",
"06" => "Juni",
"07" => "Juli",
"08" => "August",
"09" => "September",
"10" => "Oktober",
"11" => "November",
"12" => "Dezember"
);
//Namen der Wochentage als Array
$wochentag_name = array(
"Sonntag",
"Montag",
"Dienstag",
"Mittwoch",
"Donnerstag",
"Freitag",
"Samstag"
);
//Variablen festlegen
$jahr = date("Y", $timestamp);
$monat = date("m", $timestamp);
$tag = date("d", $timestamp);
$wochentag = date("w", $timestamp);
$uhrzeit = date("G:i", $timestamp);
$sekunden = date("s", $timestamp);
//Namen aus Array auslesen und ersetzen
$monat = $monat_name[$monat];
$wochentag = $wochentag_name[$wochentag];
//gesamtes Datum + Uhrzeit zusammenbauen
$uhr = "$wochentag, $tag. $monat $jahr<br>$uhrzeit:$sekunden Uhr";
echo"$uhr";
Nicht vergessen dürfen wir natürlich, auch die dt. Zeit einzustellen - dies ist oft nicht der Fall...
PHP:
//Serverzeit: dt. Zeitzone
ini_set('date.timezone', 'Europe/Berlin');
Kommen wir nun zum clientseitigen Teil:
Hier benötigen wir zuerst
HTML:
<div id="uhrzeit">
Das Laden per Ajax sieht dann so aus:
Code:
function uhrzeit() {
var http = AjaxObject();
function AjaxObject(){
//unterschiedliche Ajax-Methoden für z.B. Internet Explorer
if(window.XMLHttpRequest) {
return new XMLHttpRequest();
}
else if(window.ActiveXObject) {
//wenn Internet Explorer, der Ajax über ActiveX realisiert
return new ActiveXObject("Microsoft.XMLHTTP");
}
else{ //wenn Ajax nicht unterstützt
alert("FEHLER: Verwendeter Browser unterstützt die AJAX-Technik nicht!");
}
}
//Pfad zum PHP-Skript
http.open("GET", "servertime.php", true);
http.onreadystatechange=function() {
if(http.readyState == 4) {
document.getElementById("uhr").innerHTML = http.responseText;
//ID des HTML-Elements, in dem die Ausgabe erfolgen soll, im Bsp. "uhr"
}
}
http.send(null);
window.setTimeout("uhrzeit()", 1000);
}
Livedemo: AJAX-Uhr (.../uhr.srf)
Wie immer bin ich offen für Anregungen, konstruktive Kritik und Verbesserungsvorschläge!
PS: Ich war mir nicht ganz sicher, ob das in Tutorials JS oder PHP gehört - falls nötig, bitte einfach verschieben!
Ach ja, was mir gerade aufgefallen ist: in der Beschreibung vom "Tutorials JavaScript" ist ein Rechtschreibfehler