我有这段代码
HTML
<ul style="list-style:none;" id="listing">
<li>
<table id="pedido" action="post.php">
<form method="POST" >
<tr>
<td>
<select name="product[]">
<option value="0">Perfil:</option>
<option value="68mm 5 Cámaras AD rendszer egyenes szárny, ütköző tömítéssel">68mm 5 Cámaras 7001AD, con dos juntas</option>
<option value="68mm 7 K AD rendszer íves szárny, ütköző tömítéssel">68mm 7 Cámaras 7001AD con dos juntas</option>
<option value="80 mm 6 K Tok + 7 K íves szárny AD rendszer, ütköző tömítéssel">80 mm Marco 6 Cámaras + Hoja de 7 Cámaras 7001AD con dos juntas</option>
<option value="68mm 7 K MD rendszer ütköző és középtömítéses, íves szárny">68mm 7 Cámaras 7001MD con tres juntas</option>
<option value="80 mm 8 K MD rendszer ütköző és középtömítéses, íves szárny">80 mm 8 Cámaras 7001MD con tres juntas</option>
</select>
</td>
</tr>
<tr>
<td>
<input name="h[]" value="Horizontal" class="comment" /> x
<input name="v[]" value="Vertical" class="comment" />
uds:
<input name="uds[]" style="width:60px;"/>
</td>
</tr>
<tr>
<td>
<select>
<option>Color</option>
</select>
Persiana <input type="checkbox" name="persiana[]" id="persiana"/> <div id="persianaver" style="float:right; display:none">Con motor<input type="radio" name="f[]" value="auto" /> Manual<input type="radio" name="f[]" value="manual" /></div>
</td>
<tr></tr>
<tr>
<td style="width:435px;">
<div id="persiaops" style="float:right; display:none">IMPORTANTE: En caso de haber seleccionado la opción persiana usted tiene que especificar el tamaño de la tapa del cajón (Lugar donde se sitúa la caja de persiana) Puede especificarlo en el campo comentario <a id="pregunta" href="images/demo.jpg"><img alt="pregunta" src="images/ask.jpg" height="15" width="15"/></a> </div>
</td>
</tr>
<tr>
<td>
<textarea name="comment[]" rows="5" cols="59" class="comment">Comentario</textarea>
</td>
</tr>
</form>
</table>
</li>
</ul>
每个元素都被称为name [],因为我想多次克隆表,然后填写信息。但我的问题是:我如何在PHP中获得这些值?我的意思是$ _POST ['hello']我可以获得hello字段的内容,如果它已经提交了但是$ _POST ['hello []']怎么办?它将存储为数组对象..但是如何检查name =“hello”的所有字段是否正确填充?或者我需要将值存储为数组,然后在post.php中检查数组包含的所有元素是否正确?有一个简单的方法吗?
谢谢;)
答案 0 :(得分:2)
可以使用$ _POST [“product”] [0](对于第一个)在PHP中访问名为 product [] 的字段。
您也可以遍历此数组:
foreach($_POST["product"] as $key => $product) {
echo $product;
}
要检查是否所有字段都已填满,您应该添加一个运行时变量,每次克隆输入字段时都会对其进行计数:
<select name="product[0]">...
...
<select name="product[1]">...
...
然后你可以再次遍历产品:
foreach($_POST["product"] as $key => $product) {
//check whether h is also filled:
if($_POST["h"][$key] != "") {
...
}
}
答案 1 :(得分:1)
当PHP解析请求数据时,它们将被解释为数组。所以:
<input name="v[]" value="Vertical" class="comment" />
<input name="v[]" value="Horizontal" class="comment" />
将以$_POST['v']
的形式在PHP中提供,并且看起来像:
Array
(
[0] => Vertical
[1] => Horizontal
)
它与PHP隐式数组推送的基本语法相同:
$v[] = 'Vertical';
$v[] = 'Horizontal';
答案 2 :(得分:0)
您可以将它们作为数组:
echo $_POST['product'][0];
要查看您的$_POST
数组结构,请执行以下操作:
print_r($_POST);