There is a quite ordinary, without ajax / pjax, large HTML form that sends a group of fields. The customer complained that not all data from it is sent. Checked, the browser in the connections panel shows that the data has been sent all and correctly. But some data does not reach the action script: if you execute print_r($_POST); exit; print_r($_POST); exit; right at the beginning, it shows.

Example of missing fields:

 ordering_available_906=on price_906=1111 left_906=987 xml_export_1[906]=1 xml_export_2[906]=1 xml_export_3[906]=1 sort_order_906=435 

Example of non-falling fields:

 ordering_available_949=on price_949=683 left_949=987 xml_export_1[949]=1 xml_export_2[949]=1 xml_export_3[949]=1 sort_order_949=750 

The place where I check exactly the very beginning of the call - debug_backtrace() empty. htaccess does not affect POST. The bug is played on apache with PHP 5, both under windows and under linux. On another environment I have not tried yet. AdBlock disabled. Method - POST, answer - 200 OK. In PHP, post_max_size = 0 .

How can it be that the data disappears between the client and the server, and they are always the same?

Some code. An example of a group of fields that are not sent:

 <tr style="background: rgb(255, 255, 255) none repeat scroll 0% 0%;" class="gridline1"> <td> <input name="selected_product_906" class="checkbox select_product" rel="group-box" value="1" type="checkbox"> </td> <!-- <td><a href="/published/SC/html/scripts/index.php?ukey=product_settings&amp;productID=906&amp;categoryID=624&amp;sort=name&amp;sort_dir=ASC">se6014&nbsp;</a></td> --> <td style="text-align:center; border-left: solid 1px #F5F0BB; border-right: dashed 1px #F5F0BB; background-image:url(/my_img/admin_yes_tov-in-site.png); background-repeat:no-repeat; background-position:center center; "> <input name="enabled_906" type="checkbox"> </td> <td style="text-align:center; border-right: solid 1px #F5F0BB; background-image:url(/my_img/admin_yes_sh-card.png); background-repeat:no-repeat; background-position:center center; "> <input name="ordering_available_906" checked="" type="checkbox"> </td> <td style="height:60px!important; font-size:12px;" valign="middle" width="50%"> <a href="/published/SC/html/scripts/index.php?ukey=product_settings&amp;productID=906&amp;categoryID=624&amp;sort=name&amp;sort_dir=ASC"> <img src="/published/publicdata/B02/attachments/SC/products_pictures/moya-kosmetichka-rf-seaofspa-luxury-body-cream_1_1_1_thm.jpg" style="margin-right:10px; float:left;" height="50" width="50"><span style="font-size:12px; color:#000000; font-weight:bold;">Артикул : se6014</span> <br>Увлажняющий крем для тела с минералами мертвого моря 200мл, Black Pearl Sea of spa (Си оф спа)</a> </td> <!-- <td align="right"><a href="/published/SC/html/scripts/index.php?ukey=product_settings&amp;productID=906&amp;categoryID=624&amp;sort=name&amp;sort_dir=ASC"> 0&nbsp; </a></td> --> <td style="border-left: solid 1px #F5F0BB;border-right: solid 1px #F5F0BB; " align="center"> <input class="multiply_price" name="price_906" size="8" value="1111" style="margin:0 5px 10px 5px;" type="text"> </td> <td style="border-right: solid 1px #F5F0BB; " align="center" valign="middle"> <input name="left_906" size="5" value="987" type="text"> </td> <!-- <td align="right">0</td> --> <!-- --> <td align="center"> <input name="xml_export_1[906]" checked="" value="1" type="checkbox"> </td> <td align="center"> <input name="xml_export_2[906]" checked="" value="1" type="checkbox"> </td> <td style="background-image:url(/my_img/admin_yes_price.png); background-repeat:no-repeat; background-position:center center; padding-left:30px!important; padding-right:30px!important;" align="center"> <input name="xml_export_3[906]" checked="" value="1" type="checkbox"> </td> <td align="center"> <input name="xml_export_4[906]" value="1" type="checkbox"> </td> <td style="border-left: solid 1px #F5F0BB; font-size:11px;" align="center" valign="middle"> </td> <td style="border-left: solid 1px #F5F0BB; border-right: solid 1px #F5F0BB;" align="center"> <input name="sort_order_906" value="435" size="5" type="text"> </td> <!-- <td style="border-left: dashed 1px #F5F0BB;"><a href='/published/SC/html/scripts/index.php?ukey=categorygoods&amp;categoryID=624&amp;sort=name&amp;sort_dir=ASC&amp;did=14&amp;action=delete_product&amp;productID=906' title='Удалить?' class="confirm_action"><img src="images_common/remove.gif" border="0" alt='Удалить' /></a></td> --> <td style="border-right: solid 1px #F5F0BB;" align="center" valign="middle"> <a target="_blank" href="/product/906/"> <img src="/my_img/tov_go_to_site.png" alt="" height="30" border="0" width="27"> </a> </td> </tr> 
  • may still add some code to the question? and also try to swap the data when sending, the same fields or some other fields disappear, this may bring you closer to understanding the problem. - MasterAlex
  • if you swap the data, these fields are not lost. code now add to the message - Mik
  • If you search by search code, the names of the missing fields - are they in one copy? Can they not overlap with duplicate input fields with the same names below in the form? - cheops
  • No, do not overlap. And in this case at least something would come out of them, and so - they are not at all in $ _POST - Mik
  • And where other checkboxes disappear when sending: selected_product_906, enabled_906 and xml_export_4[906] , can it matter? And the code is not enough, if your information disappears when it hits the backend, then the backend is needed, as well as the code of the non-falling information block and, in comparison, look for 10 differences - MasterAlex

0