多输入必须有更好的方法

时间:2018-03-30 05:17:15

标签: php user-input

一些背景信息; 在这种情况下,在5年的时间内,我需要为每月的每一天和所有年份设定每日价格,因为这可能会有所不同。

所以我提出了这个输入表单示例

<form action="" method="POST">
   <?
   for ($years = $year; $years <= 2021; $years++) {
     ?>
     <table border="1" cellpadding="0" cellspacing="5" width="100%">
        <tr>
            <th>Year <? echo $years; ?></th>
            <td style="border:0" colspan="31"></td>
        </tr>
        <tr>
            <th>Jan</th>
            <?
            for ($i = 1; $i <= $num_days_in_jan; $i++) {
                echo '
                <td valign="top" align="left">
                    '.$i.'<p>
                    <p align="right"><input name="dayprice'.$i.'01'.$years.'" type="text" size="1" min="25" value="45"> &euro;</p>                      
                </td>';
            }
            ?>
        </tr>
        <!-- repeating for all 12 months and then all over for the next years
        ........
        ........
        -->
<?
}
?>
    </table>
    <p>
    <p align="left"><button class="w3-button w3-section w3-blue w3-ripple" type="submit" value="Complete step 6" name="action">Complete step 6</button></p>

然后我需要写一些像这样的代码来检索发布的数据

//read data from submitted forms
if (isset($_POST['action'])){
   $action = $_POST['action'];

   if ($action == 'Complete step 6'){
      echo 'day price: '.$_POST['dayprice1012018'];
      echo 'day price: '.$_POST['dayprice2012018'];
      //.... and so on or put this is a kind of a loop



   }
 }

所以我必须有一种更简单的方法来做到更好的方式 希望有人能让我走上更好的道路......谢谢你们

1 个答案:

答案 0 :(得分:1)

您可以通过将[]添加到input的name属性来创建名称数组。 例如:

<input name="dayprice['.$i.'][01]['.$years.']" type="text" size="1" min="25" value="45">

然后您可以轻松地遍历帖子变量。