Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js/php] Aktualna data (js?) w zmiennej php
Forum PHP.pl > Forum > Przedszkole
Morale
Czy da się jakoś zrobić by js pobierał na bieżąco datę (co sekundę), ale by ta data zapisywana była do zmiennej w php $data. Poprosiłbym z przykładem. To chyba trzeba w ajaxie zrobić..
Kicok
http://js.webhelp.pl/kursy/js/pliki/javasc...roz=#rozdzial14
http://webmaster.helion.pl/kurshtml/skrypt/skrypt.htm

PS. Napisz po co chcesz aktualizować co sekundę zmienną $data, bo na 99% da się to rozwiązać prościej.
Morale
Chcę mieć w zmiennej $data aktualną datę. Czyli np. teraz 13:45:23, za sekundę 13:45:24.

Zmienna w php oczywiście.
Mordoran
a co dzieki tej super aktualnej zmiennej chcesz uzystakac w swoim skrypcie ?
Morale
Monitoring. Na początku pobiera date i zapisuje gdzie dany user był. Potem w czasie gdy użyje skryptu na danej podstronie znów pobiera. A wiadomo, że nie zrobi tego w tej samej sekundzie, a jako, że czas sie w zmiennej dzięki php nie zmieni to poda taką samą datę wejścia na podstronę i skorzystania z usługi, choć ta druga data będzie tylko "około".
Mordoran
Czyli osoba wchodzi na strone zapisujesz czas, klika na linka z dana usluga zapisujesz czas, klika dalej na kolejne linki i zapisujesz kolejne czasy?
Jesli dobrze cie rozumiem to skorzystaj z date" title="Zobacz w manualu PHP" target="_manual(), na poczatku kolejnego skryptu i bedziesz mial aktualny czas.
Morale
Nie, nie nie. Ja nie przechodzą na drugą stronę. Ten skrypt znajduje się na tej samej podstronie. I na początku pobiera date() i zapisuje. A jak ktoś skorzysta z usługi, po poprawnym wypełnieniu formularza to jest też pobierana. Ale niestety to jest ta data z wejścia na stronę, a nie poprawnego wywołania skryptu... sad.gif
qqrq
Chyba że chcesz wykonywać jakieś akcje na poziomie samej przeglądarki (bez przeładowania strony). Wtedy poczytaj sobie o obiekcie Date JavaScript.

A propos posta wyżej - pobierz datę z JS, przypisz ją do pola hidden formularza i wyślij na serwer, a tam zapisz.

Morale => Jeżeli pobierzesz datę funkcją PHP date() po przeładowaniu strony (kiedy formularz poszedł na serwer), to to właśnie jest dokładna data wykonania skryptu.
Mordoran
No ok, ale...
Uzytkownik wchodzi na strone i chcesz miec czas w ktorym wypelnil poprawinie formularz?
Morale
Cytat(Mordoran @ 12.09.2007, 14:17:33 ) *
No ok, ale...
Uzytkownik wchodzi na strone i chcesz miec czas w ktorym wypelnil poprawinie formularz?

dokładnie
qqrq
No to w zdarzeniu onload znacznika body zapisujesz do zmiennej JS datę początkową, a potem, w zdarzeniu onsubmit formularza datę końcową, różnicę dajesz do pola hidden i wysyłasz na serwer.
Mordoran
To jak wypelnil formularz morzez w js zrobic:
  1. <form method="post" name="formularz" action="<?php echo $_SERVER['PHP_SELF']?>" onsubmit="return FUNKCJA()">

i mozesz napisac funkcje ktora ustawia jakiegos inputa ktory jest hidden na aktualna date.
Albo gdy jest submit formularza to zawsze teki formularz obsluguje jakis skrypt php to tam mozesz pobierac aktualna date przy wywolaniu sie tego skryptu
Morale
Cytat(Mordoran @ 12.09.2007, 14:24:32 ) *
To jak wypelnil formularz morzez w js zrobic:
  1. <form method="post" name="formularz" action="<?php echo $_SERVER['PHP_SELF']?>" onsubmit="return FUNKCJA()">

i mozesz napisac funkcje ktora ustawia jakiegos inputa ktory jest hidden na aktualna date.
Albo gdy jest submit formularza to zawsze teki formularz obsluguje jakis skrypt php to tam mozesz pobierac aktualna date przy wywolaniu sie tego skryptu

to nie wiem jak
Mordoran
  1. <?php
  2. if (isset($_POST['wyslane'])) {
  3. $czas = date("Y-m-d H:i:s");
  4. // i masz czas w formie 2007-09-12 14:31:21
  5. } else {
  6. // wyswietlasz formularz
  7. echo '<form method="post" name="formularz" action="'.$_SERVER['PHP_SELF'].'>';
  8. echo '<input type="submit" name="wyslane" value="Wyslij" />';
  9. }
  10. ?>


Taki szkielet skryptu.
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.