无法删除行

时间:2017-01-05 12:10:04

标签: php mysql delete-row

我在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并不意味着应删除受影响的行?但没有任何事情发生,没有一行删除。也许是什么造成了这个错误的形式,但我不知道它是什么......

1 个答案:

答案 0 :(得分:2)

你使用过post方法。因此,为了获得uid你必须使用

$uid = $_POST['uid'];

而不是

$uid = $_GET['delete'];