2016-11-02 7 views
0

Ich habe eine ziemlich große Form, die ich dynamisch mit JavaScript erweitern kann. In diesem Formular habe ich verschiedene DataSets mit etwa 50 Feldern, um jeweils zu übermitteln. Wenn ich das Formular übergebe, durchlaufe ich eine for-Schleife von 0 bis 100, um zu überprüfen, welche Felder gesetzt sind. So schaffe ich den HTML-Code wie folgt aus:Formular sendet nicht alle Felder

<form id = "formUpdate" role="form" action="index.php?action=update" method="post"> 
    <table id="table" class="table table-hover"><thead> 
     <tr> 
      <th> Head1 
      <th> Head2 
      <th> Head3 
      <th> Head4 
      <th> Head5 
      <th> Head6 
      <th> ... 
       <tbody> 
        <?php 
         for ($i=0;$i<$dataSets;$i++){ ?> 
          <tr> 
           <td style="text-align: center; vertical-align: middle;"><label><?php echo $test[$i]['1']; ?> </label></td> 
           <td style="text-align: center; vertical-align: middle;"> <input required class="form-control formsUser" form="formUpdate" name="fieldA<?php echo $test[$i]['2']; ?>" value=""></input> 
           <td style="text-align: center; vertical-align: middle;"> <textarea style="height:34px" class="form-control formsUser" form="formUpdate" name="fieldB<?php echo $test[$i]['3'];?>" required></textarea> 
           <td style="text-align: center; vertical-align: middle;"> <input class="form-control formsUser" form="formUpdate" name="fieldC<?php echo $test[$i]['4']; ?>" required value=""></input> 
           <td style="text-align: center; vertical-align: middle;"> <input class="form-control formsUser" form="formUpdate" name="fieldD<?php echo $test[$i]['5']; ?>" required value=""></input> 
           <td style="text-align: center; vertical-align: middle;"> <input class="form-control formsUser" form="formUpdate" name="fieldE<?php echo $test[$i]['6']; ?>" value=""></input> 
          </tr> 
        <?php } ?> 
    </table> 
    <button class="btn btn-success" form="formUpdate" type="submit"> Submit </button> 
</form> 

PHP:

public function update(){ 
    print_r($_REQUEST); 
    for ($i=0;$i<100;$i++){ 
      $string = "fieldA".$i; 

      if (isset($_POST[$string])){ 
       // set the other _POSTS 
      } 
      else { 
       //do something different 
      } 
     } 
} 

Das funktioniert aber nur für die ersten 10 Datensätze. Wenn ich print_r($_REQUEST); rufe, enthält es auch nur den Inhalt der Felder der ersten 10 Datensätze. Ich habe über das Limit von max_input_vars im php.ini gelesen und diesen Wert erhöht, aber nichts hat sich geändert. Außerdem sollte ich mit meinen Daten nicht den Standardwert 1.000 erreichen. Ich versuchte auch, den Wert von max_input_nesting_level, memory_limit und post_max_size zu ändern.

+0

brauchen noch ein paar Codes das ist nicht genug – Karthi

+0

@Anike ich denke Er post-Beispiel-Code ohne

Tag. sonst können wenige daten nicht richtig eingefügt werden? – Karthi

+0

Hinzugefügt mehr HTML. Entschuldigung, dass ich den -Tag nicht gepostet habe. – Manu1038

Antwort

0

OMG. Hab das Problem. Ich benutze DataTables und beim Absenden des Formulars wird die Tabelle neu gezeichnet und zeigt nur die ersten 10 Datensätze ... sorry für diese Leute und danke für Ihre Hilfe :)

Verwandte Themen