按id删除帖子每次都失败


Delete post by id fails everytime

我有一个新闻提要,人们可以上传东西,在那里我有一个删除按钮。我读了一些从数据库中删除一行的技巧。

我通过使用输入类型hidden field等来使用这个

<form action="logic/delete_post.php" method="GET">
<input type="hidden" name="id" value="?id='.$pica['img_id'].'" />
<input type="submit" name="deleteSubmit" value="Delete" class="delete_post" />
</form>

DELETE_POST.PHP

<?php

if(isset($_GET['deleteSubmit'])) {
    $img_id = substr($_GET['id'],4,6);
    if(isset($_GET['id'])) {
        $result = $mysqli->query("SELECT picas.img_id FROM picas WHERE username='$ses_user'");
        $mysqli->query("DELETE FROM picas WHERE img_id='$img_id'");
        if (mysqli_affected_rows() == 1) {
        echo 'Succes!';
        } else {
            echo 'Damn!';
        }
    }
}

?>

感谢每一个有帮助的评论!

去掉问号:

<input type="hidden" name="id" value="?id='.$pica['img_id'].'" />
                                      ^

让它看起来像这样:

<input type="hidden" name="id" value="'.$pica['img_id'].'" />
然后

$img_id = $_GET['id'];
如果PHP.ini中没有为请求值启用addslashes(),则应该使用