Ga naar inhoud

Aanbevolen berichten

Geplaatst:

Een klokje dat gelijk loopt met de servertijd.

<?php
// Dit klokje loopt gelijk met de servertijd.
print("<SCRIPT type='text/javascript' language='JavaScript'>\n");
print("<!--\n");
print("ClientTime = new Date();\n");
print("Hours = ClientTime.getHours() - ".date('H').";\n");
print("Minutes = ClientTime.getMinutes() - ".date('i').";\n");
print("Seconds = ClientTime.getSeconds() - ".date('s').";\n");

print("function showFilled(Value) {\n");
print("return (Value > 9) ? \"\" + Value : \"0\" + Value;\n");
print("}\n");

print("function StartClock24() {\n");
print("TheTime = new Date();\n");
print("TheTime.setHours(TheTime.getHours() - Hours);\n");
print("TheTime.setMinutes(TheTime.getMinutes() - Minutes);\n");
print("TheTime.setSeconds(TheTime.getSeconds() - Seconds);\n");
print("document.clock.showTime.value = showFilled(TheTime.getHours())
   + \":\" + showFilled(TheTime.getMinutes()) + \":\" + showFilled(TheTime.getSeconds());\n");
print("setTimeout(\"StartClock24()\",1000)\n");
print("}\n");

print("//-->\n");
print("</script>\n");

print("<body onLoad=\"StartClock24()\">\n");

print("<form name='clock'>\n");
print("<input readonly='true' name='showTime' size='8' maxlength='8' type='text'
       style='border: solid 2px; border-color: #FF0000; font-size: 10px;
       color: #FFFF00; background-color: #000000; font-weight: bold;'>\n");
print("</form>\n");
?> 

Geplaatst:

het kan zijn dat ik het fout heb hoor.. maar in het eerste gedeelte:

print("ClientTime = new Date();\n");
print("Hours = ClientTime.getHours() - ".date('H').";\n");
print("Minutes = ClientTime.getMinutes() - ".date('i').";\n");
print("Seconds = ClientTime.getSeconds() - ".date('s').";\n");

wordt daar nou eerst de tijd van de lokale pc uitgelezen en daarna - de tijd van de server gedaan?

Dat is toch een beetje onlogisch? de tijd van de pc thuis staat toch gelijk aan de tijd op de server? (ongeveer dan)

of berekend hij ergens het gemiddelde verschil van de servertijd en de lokale pc?

Geplaatst:

gewoon helemaal geen echo of print gebruiken...

maar gewoon HTML scripten en zodra je een stukje php nodig hebt om bijvoorbeeld de datum uit te lezen. gewoon zo doen:

ClientTime = new Date();
Hours = ClientTime.getHours() - <? echo date('H') ?>;
Minutes = ClientTime.getMinutes() - <? echo date('i') ?>;
Seconds = ClientTime.getSeconds() - <? echo date('s') ?>;

zo doe ik het dan tenminste altijd... is ook iets overzichtelijker als je een developerprogramma gebruikt.. dan heb je kleur code's voor HTML.. en PHP is bijna allemaal rood... en zeker wat tussen "" staat is allemaal rood.

en dat is niet overzichtelijk

Geplaatst:

Als je voor die methode gaat, gebruik dan de <?php tags in plaats van <?. Op sommige servers wilt short tags wel eens uit staan, waardoor <? niet werkt... ;-)

Geplaatst:

ow... nog nooit problemen mee gehad... tegenwoordig moeten servers toch wel al op php5 draaien? en binnenkort op PHP6??

daar staat dat geloof ik standaard aan... Ik heb er met de simpelste PHP servertjes nog nooit last mee gehad dat hij het niet ondersteund...

op school moeten we het inderdaad ook doen met <?php maar waarom zo als het ook gewoon zo <? kan ???

het nadeel is wel.. heb je je site helemaal met deze gemaakt <?.. en hij ondersteund het inderdaad niet... en je hebt al iets van 30 pagina's met elke pagina iets van 500 tot 600 regels code.. ben je wel even zoet om het allemaal te veranderen :biggrin: haha

Geplaatst:
gewoon helemaal geen echo of print gebruiken...

maar gewoon HTML scripten en zodra je een stukje php nodig hebt om bijvoorbeeld de datum uit te lezen. gewoon zo doen:

ClientTime = new Date();
Hours = ClientTime.getHours() - <? echo date('H') ?>;
Minutes = ClientTime.getMinutes() - <? echo date('i') ?>;
Seconds = ClientTime.getSeconds() - <? echo date('s') ?>;

zo doe ik het dan tenminste altijd... is ook iets overzichtelijker als je een developerprogramma gebruikt.. dan heb je kleur code's voor HTML.. en PHP is bijna allemaal rood... en zeker wat tussen "" staat is allemaal rood.

en dat is niet overzichtelijk

Deze methode is echter af te raden leroy. Er is namelijk iets als parsing. Met jou methode zorgt ervoor dat de server constant moet switchen tussen html en php. De server moet dus constant kijken wat hij moet parsen als php, en wat hij rechstreeks mag doorsturen naar de browser. Indien je volledig werkt met php en dan een echo van html doet dan heeft de server niet veel werk. Het bestand volledig parsen als php en de output sturen naar de browser.

Als je echter graag php en html zoveel mogelijk gescheiden houdt dan raad ik aan om te leren werken met een template engine zoals ik al een heel eind doe in mijn eigentijdse grote projecten. De makkelijkste die je zeer snel kunt leren en ook zeer grote functionaliteiten heeft als caches enzo is smarty.

Geplaatst:

ja ok... hij moet dan inderdaad switchen. Maar de servers van tegenwoordig die zijn zo goed dat je dat verschil echt niet merkt... Het is wel een stuk overzichtelijker als je bijvoorbeeld macromedia dreamweaver gebruikt (als je HTML en PHP door elkaar gebruikt)

En wil je het voor de gebruiker zo maken dat hij er niets van merkt. zou je het nog in ajax kunnen schrijven ook... dan laat je eerst op de achtergrond de pagina laden. (met een laadbalkje) en zodra de pagina helemaal ingeladen is (op de achtergrond) laat hij hem in een DIV tag zien, of wat je zelf maar wilt.

Zo heb ik één keer een website met ajax gemaakt. nouja? JQuery dat is makkelijker te gebruiken :marlinde: hahaha... ajax zelf schrijven kan ik (nog) niet. Wil het nog wel leren.

×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.