Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][JavaScript]Przekazywanie czasu systemowego
Forum PHP.pl > Forum > Przedszkole
grabos
Czy istnieje przekazanie poprzez JS czasu systemowego użytkownika do zmiennej obsługiwanej przez PHP?
Myśle ze można taki czas przekazać przez cookies a później odczytać w php - tylko nie wiem jak w JS pobrac czas np w formacie "14:56" i jak wpakować go w cookies - aby było ono widoczne w PHP.
Chce zrobic stronę, która bedzie zmieniała wyglad zależnie od pory dnia... a przeciez w innych krajach jest akurat inna pora dnia - wiec data serwera nic mi nie daje.
Pomoże ktoś?
erix
Cytat
Myśle ze można taki czas przekazać przez cookies a później odczytać w php - tylko nie wiem jak w JS pobrac czas np w formacie "14:56" i jak wpakować go w cookies - aby było ono widoczne w PHP.

Komplikujesz sprawę. Przekaż po prostu deltę czasu przy pierwszej wizycie na stronie i zapisz sobie ją w sesji, aby nie przekazywać za każdym razem.

Co do wyliczania delty czasu: spróbuj np. tego: http://www.codingforums.com/archive/index.php/t-8796.html
grabos
zalatwiłem to w taki sposób:

  1. <script type='text/javascript'>
  2. var currentTime = new Date()
  3. var hours = currentTime.getHours()
  4. var minutes = currentTime.getMinutes()
  5.  
  6. if (minutes < 10)
  7. minutes = "0" + minutes
  8. var CookieDetails='czas_cook=';
  9. CookieDetails+=escape(hours+':'+minutes);
  10. document.cookie=CookieDetails;


Jak na razie działa - tylko strona musi się przeładować, zeby php widział to ciasteczko.

i kod do obslugi mam taki:

  1. <?php
  2. if ($czas_cook == "" && $i_czas < 3) {
  3.  $i_czas++;
  4.  //header ("Location: ./index.php?str=$str&kod=$kod&i_czas=$i_czas"); <- to zastąpie przeładowaniem w html - bo inaczej nie i tak nie dostane cookie
  5. } else {
  6.  if ($czas_cook != "") {
  7.    $czas = explode(":", $czas_cook);
  8.    $czas_spr = $czas[0];
  9.    $czas_spr .= $czas[1];
  10.  }
  11.  if ($i_czas >= 3) {
  12.    $czas_spr = date('Hi', time());
  13.  }
  14.    if ($czas_spr <= 500) { $skin = "_100_100"; $kolor="6A93BE"; } else
  15.    if ($czas_spr <= 600) { $skin = "_91_100"; $kolor="779DC4"; } else
  16.    if ($czas_spr <= 630) { $skin = "_81_90"; $kolor="86A7CA"; } else
  17.    if ($czas_spr <= 700) { $skin = "_71_80"; $kolor="95B2D1"; } else
  18.    if ($czas_spr <= 730) { $skin = "_61_70"; $kolor="A4BDD7"; } else
  19.    if ($czas_spr <= 750) { $skin = "_51_60"; $kolor="B3C8DE"; } else
  20.    if ($czas_spr <= 800) { $skin = "_41_50"; $kolor="C2D3E4"; } else
  21.    if ($czas_spr <= 820) { $skin = "_31_40"; $kolor="D1DEEB"; } else
  22.    if ($czas_spr <= 850) { $skin = "_21_30"; $kolor="DFE8F1"; } else
  23.    if ($czas_spr <= 930) { $skin = "_11_20"; $kolor="EFF3F8"; } else
  24.    if ($czas_spr <= 1030) { $skin = "_1_10"; $kolor="FFFFFF"; } else
  25.    if ($czas_spr <= 1430) { $skin = "_11_20"; $kolor="EFF3F8"; } else
  26.    if ($czas_spr <= 1500) { $skin = "_21_30"; $kolor="DFE8F1"; } else
  27.    if ($czas_spr <= 1530) { $skin = "_31_40"; $kolor="D1DEEB"; } else
  28.    if ($czas_spr <= 1600) { $skin = "_41_50"; $kolor="C2D3E4"; } else
  29.    if ($czas_spr <= 1630) { $skin = "_51_60"; $kolor="B3C8DE"; } else
  30.    if ($czas_spr <= 1700) { $skin = "_61_70"; $kolor="A4BDD7"; } else
  31.    if ($czas_spr <= 1730) { $skin = "_71_80"; $kolor="95B2D1"; } else
  32.    if ($czas_spr <= 1800) { $skin = "_81_90"; $kolor="86A7CA"; } else
  33.    if ($czas_spr <= 1830) { $skin = "_91_100"; $kolor="779DC4"; } else
  34.    if ($czas_spr > 1930) { $skin = "_100_100"; $kolor="6A93BE"; }
  35. }
  36. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.