如何获取表单post数据来附加post方法传递的数组



我希望用户向表单添加一些值,然后使用POST提交。这个页面有两个按钮:添加另一条记录或保存并退出。如果选择了"添加另一条记录",我希望页面将数据添加到数组中,并重新加载表单以进行进一步的数据输入。在"保存和退出",我希望所有的数据从数组被添加到数据库。

<?php
$rows = $_POST['rows'];
$row = $_POST['row'];
$button = $_POST['button'];

if ($button <> "save and exit") {
echo '
<table>
<tr>
<th>Name</th>
<th>Address</th>
</tr>
for ($i=0;$i<$row;$i++) {
<tr>
<td>'.$rows[$i][name].'</td>
<td>'.$rows[$i][address].'</td>
</tr>
}
<form method="post" action = '.$page.'>
<input type="text" name="rows['.$row.'][name]">
<input type="text" name="rows['.$row.'][address]">
<input type="hidden" name="row" value ='.($row+1).'>
<input type="submit" name="button" value="add another record">
<input type="submit" name="button" value="save and exit">
</form>
';
}
if ($button == "save and exit"){
// send data from the $rows array to the DB
}
?>

但是这行不通!

看看这个。其工作

<?php 
    if($_POST['button']=='add another record')
    {
        for($i=0;$i<=$_POST['row'];$i++)
        {
         $rows .= "<tr><td><input type='hidden' name='rows[".$i."][name]' value='".$_POST['rows'][$i]['name']."'>".$_POST['rows'][$i]['name']."</td>";
         $rows .= "<td><input type='hidden' name='rows[".$i."][address]' value='".$_POST['rows'][$i]['address']."'>".$_POST['rows'][$i]['address']."</td></tr>";
        }
    }
    else
    {
        $row = 0;
        $rows='';
    }
    ?>
    <form method="post" action = ''>
        <table><?php echo $rows; ?></table>
    <input type="text" name="rows[<?php if(isset($_POST['row'])) { echo ++$_POST['row']; } else { echo "0"; }; ?>][name]">
    <input type="text" name="rows[<?php if(isset($_POST['row'])) { echo ++$_POST['row']; } else { echo "0"; }; ?>][address]">
    <input type="hidden" name="row" value ="<?php if(isset($_POST['row'])) { echo ++$_POST['row']; } else { echo "0"; }; ?>">
    <input type="submit" name="button" value="add another record">
    <input type="submit" name="button" value="save and exit">
    </form>

做一件事…当你在post方法的基础上设置表单时。

if ($button == "add another record" && count($_POST['row']) > 0) {
echo '<input type="text" name="rows[name]['.$row.']">
      <input type="text" name="rows[address]['.$row.']">';
      <input type="hidden" name="row[$row+1]" value ='.$row+1.'>
}

相关内容

  • 没有找到相关文章

最新更新