我是新来的。我有问题而且非常着急:( 场景:我想制作一个动态输入表单。用户输入他们想要的多个列和行。然后,它生成表格作为以前形式输入的数字。之后,用户向表中输入一个随机数,然后单击“提交”按钮。系统将记录数据并对其进行处理。最后,系统将显示平均值(仅作为示例)。
表生成成功。问题是如何保存/读取以输入形式输入的数据。
这是input.php
<tr>
<td width="30%" align="left" valign="top">Input the number of columns :<td height="37" align="left" valign="top"><input type="text" name="colums" value="" /></td>
</tr>
<tr>
<td align="left" valign="top">Input the number of rows :</td>
<td width="70%" align="left" valign="top"><input type="text" name="rows" value="" /></td>
</tr>
<tr>
<td align="left" valign="top"> </td>
<td align="left" valign="top"><input type="submit" name="button" id="button" value="Submit" /></td>
</tr>
</table>
</form>
和结果php就是这样..
<?php
$columns = $_POST['columns'];
$rows = $_POST['rows'];
echo "<form method='post' action='process.php'>";
echo "<table>";
//made the rows
for ($i= 0; $i <= $rows-1; $i++){
//and the colums
echo "<tr>";
for ($j = 0; $j <= $colums-1; $j++) {
//here is the input form, and each of data inputed here that i want to save it.
$sum = array('[$i][$j]');
echo "<td> </td>
<td><input size='5' type='text' name='data".$sum."' /></td>
";
}
echo "</tr>";
}
echo "<tr><td></td><td><input type='submit' name='submit' values='Submit' /></td></tr>";
//im not sure here in value='$sum'
echo "<tr><td></td><td><input type='hidden' name='banyak' value='$sum' /></td></tr>";
echo "</table>";
echo "</form>";
// here,which one should i $_GET[''] ?
?>
并且process.php显示数据的平均值。我在process.php中完全错了。
答案 0 :(得分:3)
检查一下:
<?php
$columns = 3; //test value
$rows = 2; //test value
echo "<form method='post' action='process.php'>";
echo "<table>";
//made the columns
for ($row_idx= 0; $row_idx <=$rows-1; $row_idx++){
//and the rows
echo "<tr>";
for ($col_idx = 0; $col_idx <= $columns-1; $col_idx++) {
//here is the input form, and each of data inputed here that i want to save it.
$sum = array('[$row_idx][$col_idx]'); //??? What's for that?
echo "<td></td>
<td><input size='5' type='text' name='data[{$row_idx}][{$col_idx}]' /></td>
";
}
}
echo "</tr>";
echo "<tr><td></td><td><input type='submit' name='submit' values='Submit' /></td></tr>";
//im not sure here in value='$sum'
echo "<tr><td></td><td><input type='hidden' name='banyak' value='$sum' /></td></tr>";
echo "</table>";
echo "</form>";
// here,which one should i $_GET[''] ?
echo "<PRE>";
print_r($_REUQEST['data']);
echo "</PRE>";
?>
<input name='data[1][2]' value="foo">
将&#34;到达&#34;来自$data = array('1' => array('2' => "foo"));
答案 1 :(得分:0)
正如@Braiba所说,替换
$sum = array('[$i][$j]');
与
$sum = "[$i][$j]";
然后你使用
$my_data = $_GET['data'];
这将是一个二维数组。
答案 2 :(得分:-2)
替换
$sum = array('[$i][$j]');
与
$sum = "[$i][$j]";
(注意双引号)
同时将关闭的tr标签向上移动一行,使其实际位于循环内,并删除包含隐藏输入的行。即使你需要那个值,你也不应该为它创建一行;它看起来会让人感到困惑。
编辑:我应该尝试阅读问题的实际内容,而不仅仅是看到损坏的代码并尝试修复它。正如其他人现在所说的那样,一旦你做了所有这些,它将以$ _GET ['data']
的形式提交