我在member.php
部分有一个名为php
的网页,我写了这段代码:
if(isset($_POST['delete-btn'])) {
$uid = $_GET['delete'];
$user->delete($uid);
header("Location: member?deleted");
}
以html
部分的形式编写此代码:
<form method="post">
<input type="hidden" name="uid" value="<?php echo $row_user['user_id']; ?>" />
<button type="submit" class="btn" name="delete-btn">Delete</button>
</form>
$user->delete($uid);
转到class.user.php
,以下代码为:
public function delete($uid) {
$stmt = $this->db->prepare("DELETE FROM members where user_id=:uid");
$stmt->bindparam(":uid", $uid);
$stmt->execute();
return true;
}
当我尝试使用此代码时,按钮消失:
<?php
if(isset($_GET['delete'])) {
?>
<form method="post">
<input type="hidden" name="uid" value="<?php echo $row_user['user_id']; ?>" />
<button type="submit" class="btn" name="delete-btn">Delete</button>
</form>
<?php
}
?>
我的问题是,当我尝试删除时,页面会刷新并获取member?deleted
并不意味着应删除受影响的行?但没有任何事情发生,没有一行删除。也许是什么造成了这个错误的形式,但我不知道它是什么......
答案 0 :(得分:2)
$uid = $_POST['uid'];
而不是
$uid = $_GET['delete'];