Drop down menu 如何在php中从下拉列表中删除帖子

Drop down menu 如何在php中从下拉列表中删除帖子,drop-down-menu,sql-delete,Drop Down Menu,Sql Delete,我有一个用下拉列表删除帖子的表单。但删除不起作用, 它被删除了,但当我去看一看,它不工作。有什么想法吗 index.php $delete = $_POST['delete_submit']; mysql_query("DELETE FROM posts WHERE Post_id=$delete"); ?> <section style="font-size: 22px; text-align: center;"> <form action=

我有一个用下拉列表删除帖子的表单。但删除不起作用, 它被删除了,但当我去看一看,它不工作。有什么想法吗

index.php

$delete = $_POST['delete_submit'];

    mysql_query("DELETE FROM posts WHERE Post_id=$delete");
?>
 <section style="font-size: 22px; text-align: center;">
        <form action='check.php' method='post' onsubmit="return confirm('Do you really want to 

delete this post?');">
            <p>
                Delete Post:&nbsp;
                <select name="delete">
                    <option>Please select a post</option>
                    <?php
                    $result = mysql_query("SELECT Post_id, Post_title FROM posts ORDER BY Post_id 

DESC");
                    while ($row = mysql_fetch_array($result)){
                        $blogvar  = array($row ['Post_id'], $row ['Post_title']);
                    ?>
                    <option><?php echo $blogvar[1]; ?></option>
                    <?php
                    }
                    ?>
                </select>
                <p></p>
                <input type='submit' class='button' name='submit' value='Delete'/>
            </p>
        </form>
    </section> 

谢谢

这里有太多错误,但无论如何

  • check.php
    文件中的SQL实际上应该删除所有帖子,因为您正在将
    post\u id
    字段与SQL中的自身进行比较
  • 实际上,您需要引用表单中提交的值,您已将select命名为
    delete
    ,因此应该是
    $\u POST['delete']
    ——但请继续阅读,您的错误不会到此为止
  • 您已将提交按钮命名为与选择字段相同的名称,第二个名为
    delete
    的元素将屏蔽第一个元素,这意味着无论您选择
    $\u POST['delete']
    的值是什么,您都需要更改其中一个名称
  • 将变量直接包含在针对数据库执行的字符串中,会让您面临所谓的“SQL注入攻击”——google it
  • 使现代化 OP现在已经编辑了他的示例代码,使得除了我的最后一点以外的一切都变得毫无意义。不知道问题是否仍然存在

    另一个更新 我错过了另一个错误:

  • 您的select的
    s没有任何
    属性,这意味着您的
    post\u id
    实际上没有作为
    delete
    select元素的值提交

  • 请提供一些代码,您尝试了什么?问题仍然存在。我能做什么?我再次更新了我的答案,应该是#5非常感谢,先生,现在它正在工作
    include "base.php";
    
    
        mysql_query("DELETE FROM posts WHERE post_id =$_POST['delete']")