我正在使用for每个循环在表单上显示用户详细信息。在for each循环中,我要在用户详细信息下方添加一个按钮,以删除每个用户的信息。
<?php
foreach( $Names as $Name )
{
$dbQuery = $db->prepare("select * from user WHERE Name = ?");
$dbQuery->execute(array($Name));
while ($dbRow = $dbQuery->fetch(PDO::FETCH_ASSOC))
{
$ID = $dbRow['ID'];
$Email = $dbRow ['Email'];
}
?>
<div class="form-group">
<label for="hotel_id" class=" col-sm-4 control-label">ID:</label>
<div class="col-sm-8 input">
<input type="text" class="form-control" id="ID" name="ID[]" placeholder="Enter City Name" value="<?php echo $ID?>">
</div>
</div>
<div class="form-group">
<label for="Name" class="col-sm-4 control-label">Name:</label>
<div class="col-sm-8 input">
<input type="text" class="form-control" id="Name" name="Name[]" value="<?php echo $Name?>">
</div>
</div>
<div class="form-group">
<label for="Email" class="col-sm-4 control-label">Email:</label>
<div class="col-sm-8 input">
<input type="text" class="form-control" id="Email" name="Email[]" value="<?php echo $Email ?>">
</div>
</div>
<div class ="form-group">
<label for="removeUser" class="col-sm-4 control-label"></label>
<div class="col-sm-8">
<input id="removeUser" name="removeUser" type="submit" value="Remove this user" class="btn btn-danger" onclick="return confirm('Are you sure you want to completely remove this user?');">
</div>
</div>
<?php
}
?>
我知道如何删除用户,但是我遇到的问题是,当单击按钮时,我似乎无法获取特定用户的ID。到目前为止,我只能检索显示的最后一个ID或显示的所有ID。
任何帮助,将不胜感激。谢谢。
首先,您需要将闭环括号移动到每一行html的末尾。然后,我建议您使用一个单独的URL来删除一条记录,并将Submit按钮更改为锚标记(根据CSS规则,您可以使其看起来像一个按钮),因此锚定为:
<a href="delete.php?id=<?php echo $ID?>" class="button" onclick="return confirm('Are you sure you want to completely remove this user?');">Delete</a>
因此,在delete.php的后端,您将看到类似以下内容的内容:
if(isset($_GET['id'])){
$dbQuery = $db->prepare(sprintf("DELETE FROM user WHERE ID = %s", $_GET['id']));
$dbQuery->execute(array($Name));
}
您需要改进此删除查询,以确保其安全性,因为人们可能会向您发送SQL代码 $_GET['id']
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句