Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Problem przy przesyłaniu daty metoda POST
chybaty
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 11.04.2019

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


Witam,
Mam problem przy przesyłaniu daty starszej niż jeden miesiąc.

Zrobiłem formularz gdzie wybieramy datę od do. Dane przesyłam POST do skryptu który z bazy danych wybiera rekordy które mieszczą się w podanym zakresie dat i exportuję to do CSV który później jest pobierany.
Gdy wybieram np. od 01.09.2021 do 30.09.2021 wszystko ładnie się eksportuję. Natomiast gdy tylko przekroczę różnicę jednego miesiąca czyli wybiorę od 26.08.2021 do 30.09.2021 to dostaję komunikat że index data1 i data2 nie istnieje. Poniżej wklejam kawałek kodu formularza i skrypt php

formularz
  1. <div class="card card-login mx-auto mt-5">
  2. <div class="card-header text-center"><h3>Data</h3></div>
  3. <div class="card-body">
  4. <form action="kontrolaexportcsv2.php" method="post">
  5. <label for="1" class="col-form-label">Od</label>
  6. <input class='form-control' id='1' name='data1' type='date' value="<?php $datetime = new DateTime('today'); echo $datetime->format('Y-m-d'); ?>" required>
  7. <label for="2" class="col-form-label">Do</label>
  8. <input class='form-control' id='2' name='data2' type='date' value="<?php $datetime = new DateTime('tomorrow'); echo $datetime->format('Y-m-d'); ?>" required>
  9. <br><br>
  10. <input class="btn btn-lg btn-success btn-block" id="button" type="submit" value="Dalej">
  11. </form>
  12. </div>
  13. </div>
  14. </div>



plik php
  1. <?php
  2.  
  3. require_once "polaczenie.php";
  4.  
  5.  
  6. $data=$_POST['data1'];
  7. $data2=$_POST['data2'];
  8.  
  9.  
  10. $sql = "SELECT `numer_zle`,`data`,`zmiana`,`uszkodzenia`,`szyba`,`silikon`,`lakier`,`uwagi` FROM `kontrola_jakosci` WHERE `data` >= '$data' and `data`<='$data2' ORDER BY `data` ASC";
  11. $rezultat = $polaczenie->query($sql);
  12.  
  13.  
  14. $ilewierszy = $rezultat->num_rows;
  15.  
  16. if($ilewierszy>0)
  17. {
  18. $i=0;
  19.  
  20. $plik = fopen('kontrola.csv','w+');
  21. $naglowek = array("Numer","Data","Zmiana","Czy jest brak uszkodzeń?","Czy szyba jest zgodna ze standardem producenta?","Czy silikon jest położony zgodnie ze standardem?","Czy powłoka lakiernicza jest zgodna ze standardem>","Inne zauważone nieprawidłowości/uwagi");
  22.  
  23. fputcsv($plik,$naglowek);
  24.  
  25. while($i<$ilewierszy)
  26. {
  27. $wiersz=$rezultat->fetch_assoc();
  28. $numer=$wiersz['numer_zle'];
  29. $data=$wiersz['data'];
  30. $zmiana=$wiersz['zmiana'];
  31. $uszkodzenia=$wiersz['uszkodzenia'];
  32. $szyba=$wiersz['szyba'];
  33. $silikon=$wiersz['silikon'];
  34. $lakier=$wiersz['lakier'];
  35. $uwagi=$wiersz['uwagi'];
  36.  
  37. if($uszkodzenia==1)
  38. {
  39. $uszkodzenia = "Tak";
  40. }
  41. else if ($uszkodzenia==2)
  42. {
  43. $uszkodzenia="Nie";
  44. }
  45. else if ($uszkodzenia==3)
  46. {
  47. $uszkodzenia="Warunkowo";
  48. }
  49.  
  50. if($szyba==1)
  51. {
  52. $szyba = "Tak";
  53. }
  54. else if ($szyba==2)
  55. {
  56. $szyba="Nie";
  57. }
  58. else if($szyba==3)
  59. {
  60. $szyba="Warunkowo";
  61. }
  62.  
  63. if($silikon==1)
  64. {
  65. $silikon = "Tak";
  66. }
  67. else if ($silikon==2)
  68. {
  69. $silikon="Nie";
  70. }
  71. else if ($silikon==3)
  72. {
  73. $silikon="Warunkowo";
  74. }
  75.  
  76. if($lakier==1)
  77. {
  78. $lakier = "Tak";
  79. }
  80. else if ($lakier==2)
  81. {
  82. $lakier="Nie";
  83. }
  84. else if ($lakier==3)
  85. {
  86. $lakier="Warunkowo";
  87. }
  88.  
  89. $lista = array($numer,$data,$zmiana,$uszkodzenia,$szyba,$silikon,$lakier,$uwagi);
  90.  
  91. fputcsv($plik,$lista);
  92.  
  93. $i++;
  94. }
  95. }
  96.  
  97.  
  98.  
  99.  
  100. fclose($plik);
  101.  
  102. $fileName = "kontrola.csv";
  103.  
  104. $fd = fopen($fileName,"r");
  105. $size = filesize($fileName);
  106. $contents = fread($fd, filesize($fileName));
  107.  
  108. fclose($fd);
  109.  
  110. header("Content-Type: application/octet-stream");
  111. header("Content-Length: $size;");
  112. header("Content-Disposition: attachment; filename=$fileName");
  113.  
  114. echo $contents = iconv(mb_detect_encoding($contents), 'ISO-8859-2', $contents);
  115.  
  116. ?>


Może ktoś miał podobny problem?
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 20.08.2025 - 11:54