Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z przekazywaniem danych(post) z tabeli generowanej przez inny skrypt.
Forum PHP.pl > Forum > Przedszkole
Amakesh
Witam!
Mam na stronie formularz(post), który przekazuje mi wszystko co powinien, za wyjątkiem danych z jednej tabeli - błędy takie jak poniżej wyświetlają się dla każdej z kolumn. Tak jakby pola nie istniały albo skrypt nie miał do nich dostępu?
Cytat
Notice: Undefined index: breakfastf in //reservation_group_admin.php
Warning: Invalid argument supplied for foreach() in //reservation_group_admin.php


Nie rozumiem dlaczego tak się dzieje. Z tej tabeli korzysta też skrypt jQuery i działa to jak powinno.

tabela jest umieszczana w miejscu komentarzahtml <!--Wyżywienie-->
  1. <form method="post">
  2. <p>
  3.  
  4. <div id="mres-form40" class="nano" style="position: relative;top: -1030px;left: 963px;width: 855px; height:800px;"><div class="nano-content">
  5. <div id="mres-form34" style="position:relative;"><!--Wyżywienie--></div>
  6. <div id="mres-form23" style="left: 225px !important; top: 155px !important;"><input class="btn btn-primary" type="submit" value="ZAPISZ REZERWACJĘ" name="postsave" style="background-color: #00adee; font-family: Antonio-Regular; font-size: 23px; width: 250px; height: 34px;"></div>
  7. </div></div>
  8. </p></form>


wczytywanie danych z formularza
  1. if(isset($_POST['postsave']))
  2. {
  3.  
  4. $fb = array(); //śniadanie cała porcja
  5. $hb = array(); //śniadanie pół porcji
  6. $fl = array(); //obiad cała porcja
  7. $hl = array(); //obiad pół porcji
  8. $fd = array(); //kolacja cała porcja
  9. $hd = array(); //kolacja pół porcji
  10. $fld = array(); //obiadokolacja pełna porcja
  11. $hld = array(); //obiadokolacja pół porcji
  12. $f = array(); //łącznie pełnych porcji
  13. $h = array(); //łącznie połówek porcji
  14. $price_f = array(); //cena wyżywienia za dzień
  15. $dates = array(); //dni
  16.  
  17. foreach($_POST['breakfastf'] as $value){ //śniadanie cała porcja
  18.  
  19. array_push($fb,$value);
  20.  
  21. }
  22. foreach($_POST['breakfasth'] as $value){ //śniadanie pół porcji
  23.  
  24. array_push($hb,$value);
  25.  
  26. }
  27. foreach($_POST['lunchf'] as $value){ //obiad cała porcja
  28.  
  29. array_push($fl,$value);
  30.  
  31. }
  32. foreach($_POST['lunchh'] as $value){ //obiad pół porcji
  33.  
  34. array_push($hl,$value);
  35.  
  36. }
  37. foreach($_POST['dinnerf'] as $value){ //kolacja cała porcja
  38.  
  39. array_push($fd,$value);
  40.  
  41. }
  42. foreach($_POST['dinnerh'] as $value){ //kolacja pół porcji
  43.  
  44. array_push($hd,$value);
  45.  
  46. }
  47. foreach($_POST['ldinnerf'] as $value){ //obiadokolacja cała porcja
  48.  
  49. array_push($fld,$value);
  50.  
  51. }
  52. foreach($_POST['ldinnerh'] as $value){ //obiadokolacja pół porcji
  53.  
  54. array_push($hld,$value);
  55.  
  56. }
  57. foreach($_POST['fmeals_total'] as $value){ //łącznie pełnych porcji
  58.  
  59. array_push($f,$value);
  60.  
  61. }
  62. foreach($_POST['hmeals_total'] as $value){ //łącznie połówek porcji
  63.  
  64. array_push($h,$value);
  65.  
  66. }
  67. foreach($_POST['meals_price'] as $value){ //cena wyżywienia za dzień
  68.  
  69. array_push($price_f,$value);
  70.  
  71. }
  72. }


skrypt jQuery ładujący tabelę na stronę
[JAVASCRIPT] pobierz, plaintext
  1. jQuery.post("//food.php",
  2. {
  3. owner: jQuery('#owner_id').val(),
  4. data1: jQuery('#date').val(),
  5. data2: jQuery('#date1').val()
  6. },
  7. function(data) {
  8. console.log("***");
  9. jQuery('#mres-form34').html(data);
  10.  
  11. });
[JAVASCRIPT] pobierz, plaintext



inny skrypt: food.php generujący tabelę(ze względu na ograniczenie długości posta nie zmieścił się tutaj).
https://pastebin.com/w7A5GRkE




nospor
Nigdzie w formularzu nie ma pola breakfast wiec czemu sie dziwisz,ze sie z formem nie wysyla? przenosze
Amakesh
ale jest w tabeli, którą jQuery wstawia w formularz..
Kod
     $result.='<tr><td class="container_rom" width = "40px;"><center><b>'.date("Y-m-d", strtotime($date1."+".$i."day")).'</b></td><td class="container_rom" ><div style="text-align: center; width:70px;"><input type="number" name="breakfastf[]" value="0" style="width: 60px;" min="0"/></div></td><td class="container_rom"><div class="td_div" style="text-align: center; width:80px;"><input type="number" name="breakfasth[]" value="0" style="width: 60px;" min="0"/></div></td><td class="container_rom"><div style="text-align: center; width:60px;"><input type="number" name="lunchf[]" value="0" style="width: 55px;" min="0"/></div></td><td class="container_rom"><div style="text-align: center; width:70px;"><input type="number" name="lunchh[]" value="0" style="width: 55px;" min="0"/></div></td><td class="container_rom"><div style="text-align: center; width:60px;"><input type="number" name="dinnerf[]" value="0" style="width: 50px;" min="0"/></div></td><td class="container_rom"><div style="text-align: center; width:75px;"><input type="number" name="dinnerh[]" value="0" style="width: 60px;" min="0"/></div></td><td class="container_rom"><div style="text-align: center; width:70px;"><input type="number" name="ldinnerf[]" value="0" min="0" style="width: 60px;"></div></td><td class="container_rom"><div style="text-align: center; width:70px;"><input type="number" name="ldinnerh[]" value="0" style="width: 60px;" min="0"/></div></td><td class="container_rom"><div style="text-align: center; width:70px;"><input type="number" name="fmeals_total[]" id="meals_tf'.$i.'" value="0" style="width: 55px;" readonly="readonly"/></div></td><td class="container_rom"><div style="text-align: center; width:70px;"><input type="number" name="hmeals_total[]" id="meals_th'.$i.'" value="0" style="width: 55px;" readonly="readonly"/></div></td><td class="container_rom"><div style="text-align: center; width:70px;"><input style="width: 60px;" type="number" name="meals_price[]" id="meals_p'.$i.'" value="0" readonly="readonly"/></div></td></tr>';

nospor
Widocznie kiepsko wstawiasz to do formularza wink.gif

zrob
print_r($_POST);
i bedziesz widzial co idzie postem
Amakesh
Sprawdziłam. Z tej tabeli nie idzie nic i nie są to "puste" wartości. $_POST się w ogóle nie wykonuje - tak jakby tej tabeli nie było.
patwoj98
Też się spotkałem swego czasu z tym, że inputy w tabeli są ignorowane i nie są wysyłane formem. Jak zgaduję, używasz HTML5, także rozwiązanie:
1. Do forma dodaj ID:
Kod
<form method="post" id="example">


2. Do każdego z inputów, które chcesz przesyłać dodaj atrybut "form":

Kod
<input type="text" name="breakfastf[]" form="example" />
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.