如何从html删除按钮删除mysql数据? - php

我有一个项目列表,每个项目都有一个删除按钮,但是当我按下它时什么也没有发生。数据库已连接,因为它在表中显示了项目,但我不知道为什么删除按钮不起作用。如果有人看到错误,请告诉我。非常感谢。另外,这是我的第一个网站,因此我的代码现在很混乱。

注意:我确实关闭了数据库,所以这不是问题。

user.php:

<?php
$user_id = '999';
$host="127.0.0.1";
$port=3306;
$socket="";
$user="root";
$password="root";
$dbname="peas";
 $db = new mysqli($host, $user, $password, $dbname, $port, $socket) or die ('Could not connect to the database server' . mysqli_connect_error());
?>
//continued 

<div style: "height:1000px; class="col-md-3" id="ingredients">
    <ul class="list-group" style="max-height:900px; overflow-y:auto; overflow-x: hidden">
        <?php
            $query = "SELECT  ingredient_name FROM Ingredient";
            $result = mysqli_query($db, $query);

            if(mysqli_num_rows($result) > 0) {
               while($row = mysqli_fetch_array($result)){   ?>
                   <li style="text-align: left; padding:10px" 
                    class="list-group-item">
                            <form action="user_functions.php" method="post">
                                <?php echo $row['ingredient_name'];?>
                                <input type="hidden" name="ingredient_name" value= "<?php $row['$ingredient_name']; ?>">
                                <button type="button" name="delete" style="float:right; border:none;">&times;</button>
                            </form>
                    </li>
            <?php }
            mysqli_free_result($result);
            } else{
                echo "<li>"."Pantry is Empty!"."</li>";
            }
        ?>
    </ul>
</div>

user_functions.php:

<?php
    if(isset($_POST['delete'])){
        $ingredient_name=$_POST['ingredient_name'];
        $sql="DELETE FROM ingredient WHERE ingredient_name=$ingredient_name";
        $result = mysqli_query($db, $sql);
    }
?>

参考方案

您必须将HTML代码更改为此:

<form action="user_functions.php" method="post">
    <?php echo $row['ingredient_name'];?>
    <input type="hidden" name="ingredient_name" value="<?php echo $row['$ingredient_name']; ?>">
    <button type="submit" name="delete" style="float:right; border:none;">&times</button>
</form>

并将user_functions.php修改为此:

<?php
    if(!empty($_POST['submit']) && isset($_POST['ingredient_name'])){
        $stmt = $db->prepare("DELETE FROM ingredient WHERE ingredient_name=?");
        $stmt->bind_param('s', $_POST['ingredient_name']);
        $stmt->execute();
    }
?>

代码未在服务器目录php中创建文件 - php

我正在尝试使用以下代码将新文件写入服务器error_reporting(E_ALL); ini_set('display_errors', 1); if($_SERVER['REQUEST_METHOD'] == "POST") { $html = $_POST['html'];…

CodeIgniter更新查询被执行两次 - php

我正在使用CodeIgniter 2.2。每次访问页面时,我都必须用+1更新数据库。代码可以工作,但是每次都会增加+2。示例:如果是total views=2,则在单击页面后total views应该是3,但是数据库中的值是4。我确定我在控制器中仅调用一次模型add_one_to_view_image。控制者 function view(){ $view_i…

故障排除“警告:session_start():无法发送会话高速缓存限制器-标头已发送” - php

我收到警告:session_start()[function.session-start]:无法发送会话缓存限制器-标头已发送(错误输出开始如果我将表单数据提交到其他文件进行处理,则可以正常工作。但是,如果我将表单数据提交到同一页面,则会出现此错误。请建议<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0…

通过php表单修改我的xml文件 - php

这是我的xml文件和下面的php代码。我输入了一个输入类型,它将按名字搜索学生。然后将显示有关特定学生的信息,并且将显示另一个按钮更新。问题是我想在那之后修改信息。如何通过标签名称获取元素,以便可以修改有关特定学生的信息?<students> <student> <firstname>John</firstname&…

在ajax之后将页面内容复制到同一页面 - php

我有简单的注册公式,我希望首先使用ajax发送,而不刷新页面以控制是否插入正确的数据,然后仅重定向到其他页面。问题是,当我通过ajax将其发送到同一页面后,一切正常,但是页面内容重复,我可以看到两次...这是我的ajaxfunction registruj () { var name = $('#meno').val(); var pri…