【发布时间】:2021-08-17 15:46:59
【问题描述】:
在下面的表格中,我正在创建一个循环,但我需要唯一的输入名称。名称“api_key”和名称“delete_button”需要类似于“api_key_0”“api_key_1”等以及delete_button_1、delete_button_2等。如何在循环中获得唯一名称?第二部分:如何在 $_POST 中获取在循环中创建的正确输入名称的变量?对于每个删除按钮和 api 键,我需要将正确的变量名称传递给 $_POST。
<?php // Delete API code.
if(isset($_POST['delete_button'])) {
$delete_api_key = $_POST['api_key'];
if ($mysqli->query("DELETE FROM api_keys WHERE api_key = '$delete_api_key'")) {
echo "API Key Successfully Deleted.";
}
else {
echo "Error:" . $mysqli->error;
}
}
?>
表单部分:
<?php
if ($api_cnt >= 1) {
$list_api_keys = $mysqli->query("SELECT api_key, user FROM api_keys WHERE user = 'testuser'");
?>
<form method= "post" action ="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<table>
<tr>
<th>API Keys</th>
</tr>
<?php
while($row = mysqli_fetch_row($list_api_keys)) {
?>
<tr>
<td><input name = "api_key" type = "hidden" value="<?php echo $row[0]; ?>"><?php echo $row[0]; ?></td>
<td><input type = "submit" name = "delete_button" value = "Delete"></td>
</tr>
<?php
}
?>
</form>
</table>
<?php
$mysqli->close();
}
?>
【问题讨论】:
-
如果您当时只发送一对,更简单的解决方案是创建不同的表单(每个表格行一个)。然后只会发送相关的输入,并且总是具有相同的名称。
标签: php forms loops while-loop