Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Java][PHP]Zegarek
cdhexx
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

Ostrzeżenie: (0%)
-----


Witam,
mam pytanie czy jest możliwość zrobienia zegarka, który normalnie działa jak systemowy zegarek czyli odlicza sekundy, minuty, godziny, ale nie potrzebuje do tego naszego zegarka systemowego bo date ciągnie z serwera. Chciałbym przez to osiągnąc zegarek, który ma gdzieś urzytkownika i jego komputer bo potrzebuje do swojego działania tylko serwer (IMG:style_emoticons/default/smile.gif)

Liczę na pomoc (IMG:style_emoticons/default/smile.gif)

Z góry dziękuję i pozdrawiam,
Bartek.
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
Kszyhuu
post
Post #2





Grupa: Zarejestrowani
Postów: 157
Pomógł: 32
Dołączył: 24.08.2009

Ostrzeżenie: (0%)
-----


Weź zwykły zegarek z JS:
  1. <script language="javascript">
  2. var timerID = null;
  3. var timerRunning = false;
  4. function stopclock()
  5. {
  6. if(timerRunning)
  7. clearTimeout(timerID)
  8. timerRunning = false;
  9. }
  10.  
  11. function startclock()
  12. {
  13. stopclock();
  14. showtime();
  15. }
  16.  
  17. function showtime()
  18. {
  19. var now = new Date();
  20. var hours = now.getHours();
  21. var minutes = now.getMinutes();
  22. var seconds = now.getSeconds();
  23. var timeValue = "" + ((hours > 12) ? hours - 12 : hours);
  24. timeValue += ((minutes < 10) ? ":0" : ":") + minutes;
  25. timeValue += ((seconds < 10) ? ":0" : ":") + seconds;
  26. timeValue += (hours >= 12) ? " P.M." : " A.M.";
  27. document.clock.face.value = timeValue;
  28. timerID = setTimeout("showtime()",1000);
  29. timerRunning = true;
  30. }
  31.  
  32.  
  33. <form name="clock" onSubmit="0">
  34. <input type="text" name="face" size="24">
  35. </form>
  36.  
  37. <script>startclock();</script>

Później liczysz różnicę miedzy serwerem (echo) a klientem (now.Get*). Następnie odczytujesz przez JS czas u klienta i korygujesz wcześniej obliczoną różnicą.
Go to the top of the page
+Quote Post
cdhexx
post
Post #3





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

Ostrzeżenie: (0%)
-----


o.O No raczej tego nie zrobie (IMG:style_emoticons/default/tongue.gif) Mam takie skrypty java, ale one działają tylko z komputerem... Gdybym wiedział jak to zrobić to bym tutaj nie pisał. Dziękuję za chęć wykazania pomocy, jednak jak mówiłem nie zrobie tego ponieważ nie jestem dobry w Javie :/

Ten post edytował cdhexx 1.12.2009, 00:13:23
Go to the top of the page
+Quote Post
maxil
post
Post #4





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


masz przerób to sobie:

  1. <HEAD>
  2. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
  3. <script LANGUAGE= "JavaScript" type= "text/javascript">
  4. <!-- Ukrycie przed przeglądarkami nie obsługującymi JavaScriptów
  5. var timerID = null
  6. function wyswietlCzas()
  7. {
  8. var data = new Date();
  9. var godziny = data.getHours();
  10. var minuty = data.getMinutes();
  11. var sekundy = data.getSeconds();
  12. var czas = godziny;
  13. czas += ((minuty < 10) ? ":0" : ":") + minuty;
  14. czas += ((sekundy < 10) ? ":0" : ":") + sekundy;
  15. czas = "<B>" + czas + "</B>"
  16. document.getElementById("zegarLayer").innerHTML = czas;
  17. timerID = setTimeout("wyswietlCzas()",1000);
  18. }
  19. // Koniec kodu JavaScript -->
  20. </SCRIPT>
  21. </HEAD>
  22. <BODY onLoad="wyswietlCzas()">
  23. <DIV
  24. ID="zegarLayer"
  25. STYLE="
  26. visibility: visible;
  27. color: red;
  28. position: absolute;
  29. top: 20;
  30. left: 20;"
  31. >
  32. </DIV>
  33. Tutaj znajduje się treść strony
  34. </BODY>
  35. </HTML>


zegarek odlicza czas na warstwie div a nie w polu input i powinien działać zgodnie z czasem serwera
Go to the top of the page
+Quote Post
cdhexx
post
Post #5





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

Ostrzeżenie: (0%)
-----


No niestety... kolejny skrypt, który ciągnie godzinę z mojego komputera (IMG:style_emoticons/default/sad.gif) Ale także dziękuję za chęć pomocy. Może ktos inny powie jak to zrobić? (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
maxil
post
Post #6





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


Cytat(cdhexx @ 1.12.2009, 08:36:47 ) *
No niestety... kolejny skrypt, który ciągnie godzinę z mojego komputera (IMG:style_emoticons/default/sad.gif) Ale także dziękuję za chęć pomocy. Może ktos inny powie jak to zrobić? (IMG:style_emoticons/default/sad.gif)


a skąd wiesz że cięgnie dane z twojego komputera?
a jak przestawisz zegarek na komputerze to na stronie też się zmienia?
Go to the top of the page
+Quote Post
skowron-line
post
Post #7





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


[JAVASCRIPT] pobierz, plaintext
  1. <body onload="nakrec_zegar( "<?php echo date( 'd.m.Y H:i:s' ); ?>" );">
[JAVASCRIPT] pobierz, plaintext

tak sobie przekazujesz czas serwera do skryptu JS a w nim już sobie obrabiasz date i czas.
a później Date() jedziemy z koksem.
Go to the top of the page
+Quote Post
cdhexx
post
Post #8





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

Ostrzeżenie: (0%)
-----


Skąd wiem? A z tąd iż wgrałem skrypt na swój serwer i zmieniałem godzine na moim komputerze (IMG:style_emoticons/default/smile.gif) Co do propozycji pana z ostatniego postu to już mam zupełny mętlik :/
Go to the top of the page
+Quote Post
skowron-line
post
Post #9





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


Cytat(cdhexx @ 1.12.2009, 12:55:29 ) *
Skąd wiem? A z tąd iż wgrałem skrypt na swój serwer i zmieniałem godzine na moim komputerze (IMG:style_emoticons/default/smile.gif) Co do propozycji pana z ostatniego postu to już mam zupełny mętlik :/


To jak już się na pan zwracamy do siebie to drogi panie. PHP działa po stronie serwera czyli pobiera czas z serwera, JS działa po stronie przeglądarki i pobiera sobie czas z lokalnej maszyny. w moim poście chodzi o podanie do funkcji wyświetlającej zegar parametrów daty i czasu poprzez php.

Oczywiście jeżeli będziesz sobie testował to na localhoscie to oczywiście nie wypali bo twój komputer jest serwerem.
Go to the top of the page
+Quote Post
cdhexx
post
Post #10





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

Ostrzeżenie: (0%)
-----


Ok jednak widzę, że jak sama nazwa wskazuję jest to "przedszkole". Trudno, że nikt mi nie pomógł osiągnąć taki efekt jaki oczekiwałem.
Pozdarawiam.
Go to the top of the page
+Quote Post
Quantum
post
Post #11





Grupa: Zarejestrowani
Postów: 450
Pomógł: 84
Dołączył: 27.11.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


przecież skowron-line, podał Ci na tacy co musisz zrobić, żeby osiągnąć zamierzony efekt. Z czym masz problem ? Wystarczy, że zajrzysz na w3schools z linku z tego posta i znajdziesz tylko odpowiednie metody, którymi zmienisz pobrany z twego PC czas na ten z serwera.

Ten post edytował sniffer32 1.12.2009, 18:53:08
Go to the top of the page
+Quote Post
cdhexx
post
Post #12





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

Ostrzeżenie: (0%)
-----


Ja nie wiem jak za to się zabrać. Pisałem przecież, że nie umiem Javy ;/ Dlatego takie pisanie... zrób to, zrób tam to nic mi nie daje ;/
Go to the top of the page
+Quote Post
Spirit86
post
Post #13





Grupa: Zarejestrowani
Postów: 607
Pomógł: 23
Dołączył: 8.09.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat(cdhexx @ 1.12.2009, 19:22:54 ) *
Ja nie wiem jak za to się zabrać. Pisałem przecież, że nie umiem Javy ;/ Dlatego takie pisanie... zrób to, zrób tam to nic mi nie daje ;/


po pierwsze to jest javascript po drugie, to myślisz, że ktoś Ci tu gotowca napisze, żebyś mógł sobie to podpiąć, no może lepiej, żebyś mógł to sprzedać dalej? ;>
Go to the top of the page
+Quote Post
cdhexx
post
Post #14





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

Ostrzeżenie: (0%)
-----


Hm, nie wiem skoro takie zdanie masz o kimś kogo nie znasz to proszę lepiej zastanowić się nad sobą, bo zazwyczaj zdanie o innych nabywa się analizując swoje zachowanie (IMG:style_emoticons/default/smile.gif)

Koniec off topu.

Pozdrawiam.
Go to the top of the page
+Quote Post
maxil
post
Post #15





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


Cytat(cdhexx @ 1.12.2009, 18:23:52 ) *
Ok jednak widzę, że jak sama nazwa wskazuję jest to "przedszkole". Trudno, że nikt mi nie pomógł osiągnąć taki efekt jaki oczekiwałem.
Pozdarawiam.


że forum nazywa się przedszkole to nie znaczy że, ktoś będzie za ciebie skrypt pisał. My tylko pomagamy ci napisać.
Miałeś jasno opisane jak to zrobić, ale jak już nie skorzystałeś to już twój problem
Go to the top of the page
+Quote Post
cdhexx
post
Post #16





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

Ostrzeżenie: (0%)
-----


No, ale kiedy zedytuje ten kodzik i dodam np: <?php echo date( 'i' ); ?> to mi się nie kręcą minuty ;/
Go to the top of the page
+Quote Post
skowron-line
post
Post #17





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


Cytat(cdhexx @ 2.12.2009, 00:24:53 ) *
No, ale kiedy zedytuje ten kodzik i dodam np: <?php echo date( 'i' ); ?> to mi się nie kręcą minuty ;/


No i już prawie jesteśmy w domu. Kolegom chodzi o to że nie pokazujesz do czego sam doszedłeś, pokaż kawałek kodu a napewno ktoś napisze w której linii i co trzeba zmienić aby wszystko działało tak jako sobie to wyśniłeś. A to że nie umiesz javascriptu nie znaczy że przy pisaniu tego skryptu nie możesz się podszkolić.
Go to the top of the page
+Quote Post
thomson89
post
Post #18





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


a plik zapisałeś z rozszerzeniem .php?
odpalasz go na kompie poprzez serwer obsługujący php / jest na serwerze obsługującym php?

Ten post edytował thomson89 2.12.2009, 13:41:21
Go to the top of the page
+Quote Post
cdhexx
post
Post #19





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

Ostrzeżenie: (0%)
-----


Hm oto część kodu:
  1. <script LANGUAGE= "JavaScript" type= "text/javascript">
  2. <!-- Ukrycie przed przeglądarkami nie obsługującymi JavaScriptów
  3. var timerID = null
  4. function wyswietlCzas()
  5. {
  6. var data = new Date();
  7. var godziny = data.getHours();
  8. var minuty = data.getMinutes( "<?php echo date( 'i' ); ?>" );
  9. var sekundy = data.getSeconds();
  10. var czas = godziny;
  11. czas += ((minuty < 10) ? ":0" : ":") + minuty;
  12. czas += ((sekundy < 10) ? ":0" : ":") + sekundy;
  13. czas = "<B>" + czas + "</B>"
  14. document.getElementById("zegarLayer").innerHTML = czas;
  15. timerID = setTimeout("wyswietlCzas()",1000);
  16. }
  17. // Koniec kodu JavaScript -->
  18. </SCRIPT>


Zapisywałem na serwerze, no działa poprawnie tzn. minuty bo reszte dorobie analogicznie później. Tylko teraz zegarek stoi w miejscu, a dokładniej minuty (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
zegarek84
post
Post #20





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


luknij na to - obliczone przesunięcie czasu w milisekundach i wg. tego wyświetlony czas z wartości zegara lokalnego - nie sprawdzałem czy się nie pomyliłem ale już nieraz robiłem podobny myk jeśli komuś w useurscript pisałem jakieś mini boty na szybko do gier:
[JAVASCRIPT] pobierz, plaintext
  1. var timerID = null , dif = (new Date(<?php echo floor(microtime(true)*1000);?>)).getTime() - (new Date()).getTime();
  2. function wyswietlCzas()
  3. {
  4. var data = new Date((new Date()).getTime() + dif);
  5. var godziny = data.getHours();
  6. var minuty = data.getMinutes();
  7. var sekundy = data.getSeconds();
  8. var czas = godziny;
  9. czas += ((minuty < 10) ? ":0" : ":") + minuty;
  10. czas += ((sekundy < 10) ? ":0" : ":") + sekundy;
  11. czas = "<B>" + czas + "</B>"
  12. document.getElementById("zegarLayer").innerHTML = czas;
  13. timerID = setTimeout("wyswietlCzas()",1000); /* ps. w js mało piszę ale skoro parametrów nie przekazujesz to o ile dobrze pamiętam wystarczyło setTimeout(wyswietlCzas,1000) ;) */
  14. }
[JAVASCRIPT] pobierz, plaintext


Ten post edytował zegarek84 3.12.2009, 14:17:32
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 04:25