【发布时间】:2014-05-06 20:20:02
【问题描述】:
我在传递具有相同名称的输入值时遇到问题,这可以正常工作,但现在它不再工作了,这里是 html 和 php
html:
<form action="alterado.php" method="post">
<p class="codigo"><input type="text" name="codigo-peca[]"></p>
<p class="descricao-peca"><input type="text" name="descricao-peca[]"></p>
<p class="valor-peca">R$<input type="text" name="valor-peca[]"></p>
<p class="codigo"><input type="text" name="codigo-peca[]"></p>
<p class="descricao-peca"><input type="text" name="descricao-peca[]"></p>
<p class="valor-peca">R$<input type="text" name="valor-peca[]"></p>
<input type="submit" value="Salvar Dados">
alterado.php
if(is_array($_POST['valor-peca']) && is_array($_POST['codigo-peca']) && is_array($_POST['descricao-peca']) ) {
// ... code
for($i = 0; $i < count($_POST['valor-peca']); $i++) {
// ... reference index of arrays
$valorPeca = $_POST['valor-peca'][$i];
$codigoPeca = $_POST['codigo-peca'][$i];
$descricaoPeca = $_POST['descricao-peca'][$i];
if ($valorPeca != 0){
$SQL = "INSERT INTO pecas (ordemServico, codigoPeca, descricaoPeca, valorPeca) VALUES ('$ordem', '$codigoPeca', '$descricaoPeca', '$valorPeca');";
$result = mysql_query($SQL);
}
}
}
但这只是读取第一个输入值而不是第二个输入值
【问题讨论】:
-
危险:您使用的是an obsolete database API,应该使用modern replacement。您也容易受到SQL injection attacks的影响,现代 API 可以让您更轻松地从 defend 中获得。
-
我不认为这是问题所在,但请检查是否将 value="" 添加到输入标签中。
-
我检查了 Miroslav 但也不起作用