foreach $ _POST [key] PHP

时间:2013-12-01 14:45:30

标签: php post foreach tcpdf

我需要将密钥插入$ _POST 。有没有办法达到这个目的?我是PHP的新手。

    $mat_list_data = '';

    foreach( $_POST['mat_tit'] as $key => $_POST['mat_tit'] ) {
      $mat_list_data .= '
        <table" cellspacing="1">
            <tr>
                <td>'.$_POST['mat_tit'].'</td>
            </tr>
            <tr>

/ *来自这里* /

            <td>'.$_POST['mat_up'].'</td>
            <td>'.$_POST['mat_q'].'</td>
            <td>'.$_POST['mat_ut'].'</td>
            <td>'.$_POST['mat_c'].'</td>
            <td>'.$_POST['mat_isum'].'</td>
            <td>'.$_POST['mat_vv'].'</td>
            <td>'.$_POST['mat_sv'].'</td>
            <td>'.$_POST['mat_itot'].'</td>

/ *到这里* /

            </tr>
        </table>';
}

    $pdf->writeHTML($mat_list_data, true, true, false, true, 'L');

如果这是一个更简单的过程,请告诉我。非常感谢任何方向。

2 个答案:

答案 0 :(得分:1)

$_POST[]是一个超全局数组,特别是引用已发布的HTTP数据的数组。因此,向数组中添加数据可能会使代码更容易混淆且容易出错,因为它不会发布信息。

与所有超级全球一样,您应该将它们视为输入数据的特殊情况来源;将数据读入局部变量,然后使用正确的卫生设施。

例如:

$data = $_POST['matt_tit'];
$results = array();
foreach($data as $name => $value) {
  $results[$name] = $this->sanitiseData($value); // Filter input
}
// Now use $results rather than $_POST

答案 1 :(得分:0)

您不需要将其值分配给$ _POST,您可以使用一个简单的数组。我不确定这是不是你想要的,但我会试一试:

    $mat_list_data = '<table" cellspacing="1"><tr>';

    foreach( $_POST as $Values ) {
      $mat_list_data .= '<td>' . $Values . '</td>';
      }
    $mat_list_data .= '</tr></table>'