提交按钮不会设置

时间:2012-02-23 16:59:22

标签: php mysql html

我们无法获取删除“提交”按钮来设置,否则它会起作用,我们无法理解代码的哪一部分是错误的。

想象一个包含几列的表格行,其中包含来自td的数据库中的数据

// While it goes through each row (which is selected from another SQL query above, but I won't bother pasting that)
while ($row = mysql_fetch_array($result)) {
// Variable is equal to the Request ID (e.g. 10)
$numb = $row['ReqID']; 

// Echo's the table td rows with each column name in the database
echo "<tr>";
echo "<td class='req' align='center'>".$row['ReqID']."</td>";
echo "<td class='req' align='center'>".$row['ModTitle']."</td>"; 
echo "<td class='req' align='center'>".$row['BuildingID']."</td>";
echo "<td class='req' align='center'>".$row['RoomID']."</td>";
echo "<td class='req' align='center'>".$row['Priority']."</td>";
echo "<td class='req' align='center'>".$row['W1']."</td>";
echo "<td class='req' align='center'>".$row['P1']."</td>";
// Delete button also in a td row, uses the variable "$numb" to set the button name
echo "<td class='req' align='center'><input type='submit' name='{$numb}' value='Delete'></td>";
echo "</tr>";

// If the delete button is pressed, delete the row (this query works, we tested it, but the button just doesn't set so it doesn't activate the SQL command)
if (isset($_POST[$numb])) {
$result2 = mysql_query("DELETE FROM Request WHERE ReqID = {$numb} LIMIT 1", $connection);
}
}

1 个答案:

答案 0 :(得分:1)

使用hidden输入来存储值:

以上某处...

<form method="post" action="delete.php">

稍微低于......

echo "<td class='req' align='center'><input type='submit' name='submit' value='Delete'>";
echo '<input name="hello" type="hidden" value="$numb" /></td>';
...
$number = mysql_real_escape_string($_POST["hello"]);
$result2 = mysql_query("DELETE FROM Request WHERE ReqID = ".$number." LIMIT 1", $connection);

在底部:

</form>

注意:

你的方法不够安全。我可以轻松编辑DOM并为隐藏字段(或按钮的其他名称)提供另一个值,从而导致从数据库中删除其他元素。请记住这一点。