Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]Wykonanie o określonej godzinie
Forum PHP.pl > Forum > Przedszkole
globalinfo
Witam,

Mam kod na stronie, który uruchamia się przez otrzymanie co 1min danych przez POST.

Niestety nie mogę dojść dlaczego kod zawarty w if($uruchom_godzina == date('H:i')) mi nie działa po otrzymaniu POST.
Pozostała część kodu działa bez problemu.


Natomiast przy wyświetleniu strony w przeglądarce niema takiego problemu - wszystko działa bezbłędnie.

  1. ...
  2. $uruchom_godzina = "18:33";
  3. if($uruchom_godzina == date('H:i')){
  4.  
  5. // Connect to MySQL
  6. include("dbconnect.php");
  7.  
  8. // Prepare the SQL statement
  9. $results = mysql_query("SELECT * FROM licnikm ORDER BY id DESC LIMIT 1");
  10. $row = mysql_fetch_array($results) or die("Cannot execute SELECT query.");
  11. $zmiennaid = ($row["id"]);
  12. $zmiennap1 = ($row["Produkcjasuma"]);
  13. $zmiennaz1 = ($row["Zuzyciesuma"]);
  14.  
  15. $Idp =($zmiennaid - 1440);
  16. echo "Id k: ";echo $zmiennaid ; echo "<br>";
  17. echo "Id p: ";echo $Idp ; echo "<br>";
  18.  
  19. echo "Produkcja koncowa: ";echo $zmiennap1; echo "<br>";
  20. echo "Zuzycie koncowa: ";echo $zmiennaz1; echo "<br>";
  21. include("dbconnect.php");
  22. $results = mysql_query("SELECT * FROM licnikm WHERE id = $Idp");
  23. $row = mysql_fetch_array($results) or die("Cannot execute SELECT query.");
  24. echo "id: ";echo ($row["id"]); echo "<br>";
  25. $zmienna1pp = ($row["Produkcjasuma"]);
  26. $zmienna2pz = ($row["Zuzyciesuma"]);
  27. echo "Produkcja poczatkowa: ";echo $zmienna1pp; echo "<br>";
  28. echo "Zuzycie poczatkowe: ";echo $zmienna2pz; echo "<br>";
  29.  
  30. $zuzycied = ($zmiennaz1-$zmienna2pz);
  31. $produkcad = ($zmiennap1-$zmienna1pp);
  32. echo "Produkcja dzienna: ";echo $produkcad; echo "<br>";
  33. echo "Zuzycie dzienne: ";echo $zuzycied; echo "<br>";
  34.  
  35. print "<script type='text/javascript'>\n";
  36. //zmienne JS z przypisanymi wartościami
  37. print "var czas = $czas\n";
  38. print "var zuzycied = $zuzycied\n";
  39. print "var produkcad = $produkcad\n";
  40. print "$.post('add_datald.php', { czas: czas , produkcad: produkcad , zuzycied: zuzycied });\n";
  41. print "</script>\n";
  42. }
  43. ....
Tomplus
Jeżeli masz problem z warunkiem, to nie potrzebujemy całego kodu tongue.gif

powiedz nam co widzisz jeżeli dasz przed warunkiem:
  1. echo $uruchom_godzina." == ".date('H:i');

I co zobaczysz po i przed wywołaniem _POST?

Na moje oko, _POST ci nie działa, bo w zmiennej $uruchom_godzina masz inną datę.
globalinfo
Cytat(Tomplus @ 28.03.2017, 19:09:05 ) *
Jeżeli masz problem z warunkiem, to nie potrzebujemy całego kodu tongue.gif

powiedz nam co widzisz jeżeli dasz przed warunkiem:
  1. echo $uruchom_godzina." == ".date('H:i');

I co zobaczysz po i przed wywołaniem _POST?

Na moje oko, _POST ci nie działa, bo w zmiennej $uruchom_godzina masz inną datę.


  1. echo "Aktualny czas: ";echo date("H:i"); echo "<br>";
  2. $uruchom_godzina = "19:27";
  3. echo $uruchom_godzina." == ".date('H:i');
  4. if($uruchom_godzina == date('H:i')){
  5. print "<script type='text/javascript'>\n";
  6. //zmienne JS z przypisanymi wartościami
  7. print "var czas = $czas\n";
  8. print "var zuzycied = $zuzycied\n";
  9. print "var produkcad = $produkcad\n";
  10. print "$.post('add_datald.php', { czas: czas , produkcad: produkcad , zuzycied: zuzycied });\n";
  11. print "</script>\n";
  12. echo "Wykonane";echo "<br>";
  13. }


Taki wynik mam jak warunek jest niespełniony.
Cytat
Aktualny czas: 19:25
19:27 == 19:25

a tak jak jest spełniony
Cytat
Aktualny czas: 19:27
19:27 == 19:27 Wykonane

Oczywiście to działa kiedy otwieram stronę przez przeglądarkę natomiast dane mi się nie przesyłają gdy strona jest wywołana przez POST.
Tomplus
To ja trochę nie czaję Twojego skrypt.

Powiedz mi proszę, co masz w źródle strony, jak wygląda skrypt który próbujesz wyświetlić?
Bo wydaje mi się że po prostu zawartość zmiennych:
$czas, $zuzycied, $produkcad są puste

  1. if(empty($czas)) {
  2. echo "TRUE :)";
  3. }


Chyba że się mylę i gdzieś masz coś w stylu:

  1. $czas = isset($_POST['czas']):$_POST['czas']:date("H:i");

lub
  1. $czas = date("H:i");
  2. if($_POST['czas'] != '') {
  3. $czas = $_POST['czas'];
  4. }

analogicznie z innymi.
Niree
  1. if($uruchom_godzina == date('H:i')){
  2. echo '<script type="text/javascript">
  3. var czas = '.$czas.'
  4. var zuzycied = '.$zuzycied.'
  5. var produkcad = '.$produkcad.'
  6. $.post('add_datald.php', { czas: czas , produkcad: produkcad , zuzycied: zuzycied });
  7. </script>';
  8. echo "Wykonane";echo "<br>";
  9. }


Próbuj tak.

http://stackoverflow.com/questions/1164130...script-with-php

Zmienne coś Ci się nie przesyłają, skoro $.post nie reaguje. W pliku add_datald.php dodaj sobie jakiś odbieracz tych danych, typu że jeśli dane się prześlą, to edytuj lokalny plik i dopisuj wartości z parametrów $_POST.
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.