Ron: php uhrzeit mittels variablenübergabe in javascriptfunktion

hallo miteinander,

vielen dank nochmal an all dijenigen die mir bisher geholfen haben. zuletzt ging es bei mir um die aktuelle uhrzeit mittels php und das datum in php auf deutsch. hab alles hingekriegt.

jetzt würde ich noch gerne eins draufsetzen und die uhrzeit alle minute aktualisieren. die uhrzeit nur Stunde und minuten.
am einfachsten wäre es natürlich die php-seite sich alle minute per refresh aktualisieren zu lassen, was aber nicht sehr schön aussieht.

dann hab ich mir folgendes ausgedacht.
ich setzte in mein frameset moch ein frame das nicht sichtbar ist in der die phpseite mit der uhrzeit steht. diese wird per refresh alle minute aktualisiert. die uhrzeit soll dann als variable an ein anderes frame übergeben werden. in dem anderen frame wird dann per document.write die variable ausgegeben. diese funktion läuft dann alle minute durch und holt sich immer die überschriebene variable.

das ist jedenfalls mein gedankenansatz.
kann mir nun jemand sagen auf welchem weg ich die variable am besten übergebe? spontan denke ich da an cookies die überschrieben und ausgelesen werden. nachteil ist hierbei natürlich das das nur funktioniert wenn cookies eingeschalten sind.
dann käme mir noch das mit formularen in den sinn.
wobei ich damit noch nicht viel zu tun hatte.

oder gibt es viel bessere möglichkeiten? oder leig ich mit meinem konzept ganz falsch und es ist garnicht so machbar?

mir geht es darum mit welchem weg ich mich am besten auseinandersetze und mich reinlese...

gruß ron

  1. hi,

    ich setzte in mein frameset moch ein frame das nicht sichtbar ist in der die phpseite mit der uhrzeit steht. diese wird per refresh alle minute aktualisiert.

    mich persönlich irritiert es , wenn mein Browser staendig versucht, eine Verbindung aufzubauen, die ich möglicherweise grade getrennt habe, weil ich eine Seite in Ruhe offline lesen möchte. Eine solche Vorgehensweise erscheint mir daher nur ratsam, wenn Du unbedingt immer die Server-Zeit benötigst.
    Wenn dat Janze nur ein Gimmick ist kannst Du die aktuelle Zeit genausogut per Javascript _beim_ Client erzeugen, denn dann spielt es ja keine Rolle, wenn die Uhrzeit nicht exakt stimmt.

    kann mir nun jemand sagen auf welchem weg ich die variable am besten übergebe? spontan denke ich da an cookies die überschrieben und ausgelesen werden.

    wozu cookies?
    Schreibe Deine mit PHP erzeugte Zeit in eine JS-Variable. Mit JS kannst Du wie ueblich auch frameübergreifend auf Variablen zugreifen (erst pruefen, ob Frame vorghanden, ev. noch ein Limit setzen):
    function getVar()
    {
       if(top.framename) x = top.framename.variablenname;
       else setTimeout('getVar()', 500);
    }

    hth + Gruss  Joachim

    1. danke auch dir christoph für deine antwort. und du hast natürlich recht das es nervig ist wenn der browser ständig sich ins netz einwählen will. deshalb favoriesiere ich auch die lösung von christoph, die viel schlauer ist als was ich mir da ausgedacht habe.

  2. Hallo Ron,

    dann hab ich mir folgendes ausgedacht.
    ich setzte in mein frameset moch ein frame das nicht sichtbar ist in der die phpseite mit der uhrzeit steht. diese wird per refresh alle minute aktualisiert. die uhrzeit soll dann als variable an ein anderes frame übergeben werden. in dem anderen frame wird dann per document.write die variable ausgegeben. diese funktion läuft dann alle minute durch und holt sich immer die überschriebene variable.

    Warum möchtest Du denn beim Client (Browser) andauernd die aktuelle Serverzeit anzeigen...

    oder gibt es viel bessere möglichkeiten? oder leig ich mit meinem konzept ganz falsch und es ist garnicht so machbar?

    Falls Du beim Client tatsächlich immer die aktuelle Serverzeit benötigst, solltest Du beim ersten Aufruf der Seite die Serverzeit übergeben, z.B. mit php:

    echo "<div id=servertime>".$ActTime."</div>";

    Im Clientscript (z.B. JavaScript) holst Du sie Dir im "onLoad" Event, berechnest den Unterschied zwischen Server-Zeit und Browser-Zeit und aktualisierst das div-Tag alle Sekunde um die Client-Zeit mit dem Korrekturfaktor den Du im onLoad-Event berechnet und vermerkt hast.

    CU Christoph

    1. Falls Du beim Client tatsächlich immer die aktuelle Serverzeit benötigst, solltest Du beim ersten Aufruf der Seite die Serverzeit übergeben, z.B. mit php:

      echo "<div id=servertime>".$ActTime."</div>";

      Im Clientscript (z.B. JavaScript) holst Du sie Dir im "onLoad" Event, berechnest den Unterschied zwischen Server-Zeit und Browser-Zeit und aktualisierst das div-Tag alle Sekunde um die Client-Zeit mit dem Korrekturfaktor den Du im onLoad-Event berechnet und vermerkt hast.

      CU Christoph

      finde ih eine sehr schöne lösung, danke. somit muss auch nicht dauernd die zeit neu geholt werden.

      gruß ron