Zurück   Flashforum > Alternative Technologien > JavaScript & jQuery

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-11-2011, 19:00   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2009
Beiträge: 152
php mit javascript

Hallo,
ich habe folgende Anwendung um die Serverzeit anzuzeigen.

Code:
<?php
$Javascriptzeit = date("Y, n, j, G, i, s");
?>
<html>
<head>
<script language="JavaScript">
<!--
var Serverzeit = new Date(<?php echo$Javascriptzeit; ?>);

function UhrzeitAnzeigen()
{
    if(!document.all && !document.getElementById)
    {
        return;
    }

    var Stunden = Serverzeit.getHours();
    var Minuten = Serverzeit.getMinutes();
    var Sekunden = Serverzeit.getSeconds();
    Serverzeit.setSeconds(Sekunden+1);

    if(Stunden <= 9)
    {
        Stunden = "0" + Stunden;
    }

    if(Minuten <= 9)
    {
        Minuten = "0" + Minuten;
    }

    if(Sekunden <= 9)
    {
        Sekunden = "0" + Sekunden;
    }

    Uhrzeitanzeige = Stunden + ":" + Minuten + ":" + Sekunden;

    if(document.getElementById)
    {
        document.getElementById("Uhrzeit").innerHTML = Uhrzeitanzeige
    }
    else if(document.all)
    {
        Uhrzeit.innerHTML = Uhrzeitanzeige;
    }

    setTimeout("UhrzeitAnzeigen()", 1000);
}
//-->
</script>
<title>Uhrzeit des Webservers mit Javascript und PHP dynamisch anzeigen</title>
</head>
<body onLoad="UhrzeitAnzeigen();">
Uhrzeit: <span id="Uhrzeit"></span>
</body>
</html>
Das funktioniert schon wunderbar, allerdings möchte ich die genau Zeit nach jeder Sekunde anzeigen um legs zu vermeiden und sicherzustellen, dass jeder die exakte zeit hat. Wie kann ich das jetzt nun umsetzen? Ein Anwendungsbeispiel wäre ein Auktion wie bei Ebay. Da muss ja sicher gestellt sein, dass das Angebot bei jedem gleichzeitig endet.

Danke im Voraus!
Gruß

Geändert von hothead89 (10-11-2011 um 19:02 Uhr)
hothead89 ist offline   Mit Zitat antworten
Alt 10-11-2011, 21:59   #2 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
PHP-Code:
//
var Serverzeit = new Date(<?=time();?>*1000);
Code:
function servertimeToTime(){
	
	date = new Date( timestamp * 1000 );
	hours = date.getHours() < 10 ? "0"+date.getHours() : date.getHours();
	minutes = date.getMinutes() < 10 ? "0"+date.getMinutes() : date.getMinutes();
	seconds = date.getSeconds() < 10 ? "0"+date.getSeconds() : date.getSeconds();
	return hours+":"+minutes+":"+seconds;
        timestamp++;
	
}

var timestamp = <?=time();?>;
window.setInterval("servertimeToTime()", 999);
__________________
(\__/)
(='.'=)
(")_(")

Geändert von Nightflyer (10-11-2011 um 22:04 Uhr)
Nightflyer ist offline   Mit Zitat antworten
Alt 11-11-2011, 08:04   #3 (permalink)
Neuer Benutzer
 
Benutzerbild von webxvideo
 
Registriert seit: Nov 2003
Ort: berlin
Beiträge: 883
Da sind aber auch zwei Haken dran,
Erstens wird das timestamp++; nie ausgeführt, da es nach einem return kommt.
Zweitens setzt meines Erachtens setInterval auch gerne mal aus bzw. verzögert sich was die Uhr verstellen würde.

Ich denke das beste wäre am Anfang die Zeitdifferenz zwischen Serverzeit und lokaler Zeit zu speichern und dann mit diesem Wert zu arbeiten:
HTML-Code:
var servertime = <?php echo time();?>*1000;
var localtime=new Date().getTime();
var time_dif=localtime-servertime;

function servertimeToTime(){	
	date = new Date( new Date().getTime()+time_dif );
	hours = date.getHours() < 10 ? "0"+date.getHours() : date.getHours();
	minutes = date.getMinutes() < 10 ? "0"+date.getMinutes() : date.getMinutes();
	seconds = date.getSeconds() < 10 ? "0"+date.getSeconds() : date.getSeconds();
	return hours+":"+minutes+":"+seconds;	
}
Da ist es jetzt auch egal wie oft und wann die Funktion servertimeToTime aufgerufen wird.
webxvideo ist offline   Mit Zitat antworten
Alt 11-11-2011, 08:21   #4 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Zitat:
Zitat von webxvideo Beitrag anzeigen
Da sind aber auch zwei Haken dran,
Erstens wird das timestamp++; nie ausgeführt, da es nach einem return kommt.
Stimmt das hab ich nachträglich eingefügt um ein altes Codeschnipsel "funktionstüchtig" zu machen
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 11-11-2011, 08:46   #5 (permalink)
Neuer User
 
Registriert seit: Jul 2009
Beiträge: 152
Hallo

Danke für die Raschen Antworten. Ich sehe auch beim letzen post ein Problem. Angenommen wir haben eine Auktion die in 60 min ausläuft. der User geht auf die Seite und die Time-Div wird errechnet. Ab diesem moment arbeitet das Script dann aber nur noch mit der Localen Userzeit. so Wenn er nun die Uhrzeit verstellt an seinem PC, dann stimmt die timediv auch nicht mehr und somit ist es wieder falsch. ich würde einfach gerne einen countdown bauen wie bei einer kauf topdeals.de die von der Serverzeit ausgeht, sodass bei jedem die gleichen sekunden dranstehen.
Kann man nicht irgendwie in der JS-Function die alle 1000ms aufgerufen wird eine php funktion aufrufen, sodass er jede sekunde die aktuelle serverzeit ausliest?
Gruß
hothead89 ist offline   Mit Zitat antworten
Alt 11-11-2011, 08:59   #6 (permalink)
Neuer Benutzer
 
Benutzerbild von webxvideo
 
Registriert seit: Nov 2003
Ort: berlin
Beiträge: 883
Klar, Du machts eine php-Datei servertime.php mit dem Inhalt
<?php echo time();?>
und die rufst Du dann per Ajax ab.
webxvideo ist offline   Mit Zitat antworten
Alt 11-11-2011, 09:58   #7 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Damit erhöhst du aber den Traffic ungemein!! Das sind dann Sechzig Seitenaufrufe in einer Minute allein von einem User!!
Minütlich die Zeit abfragen ok, aber doch sicher nicht sekundlich, da ist meiner Meinung kein Nutzen vorhanden
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
javascript ? hds26846 Flash Einsteiger 2 09-03-2007 09:36
Javascript Popup per Javascript schliessen ohne Warnmeldung?! tribunmaster Flash MX 2004 13 26-10-2004 04:14
php in javascript thorben.schmitt PHP und MySQL 2 20-05-2003 13:17
javascript -> javascript-funktion aus einer html-seite aufrufen ShockeR.1 HTML und CSS 14 02-10-2002 09:38
javascript pete225 ActionScript 1 1 14-11-2001 12:06


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:13 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele