php 表单提交后不会重定向

php wont redirect after form submission

我试图让我的页面在从数据库中删除一条记录后重定向,但它不会重定向。它正在回显文本并删除记录,但它只是将我重新加载到同一页面上,其中包含不再包含信息的表单。

这是我使用的按钮

echo '<form>';
echo '<br /><br /><input style="cursor:pointer" class="button" type="submit" value="Delete Event" name="delete" id="delete" />';
echo '</form>';

这是 PHP 用于从数据库中删除行的即时消息

if (isset($_POST['delete'])){
        $mysqli->query('DELETE FROM information WHERE id = '.intval($_GET['id']));
        header('Location: index.php');
    }

我不知道它有什么问题。

header 不起作用,可能是因为已经有另一个了。 我建议你使用 Javascript:

的一小部分

if (isset($_POST['delete'])){ $mysqli->query('DELETE FROM information WHERE id = '.intval($_GET['id'])); echo "<script type='text/javascript'>window.location.href = 'index.php'</script>"; }

您的表单标签完全是空的。您检查是否设置了 $_POST["delete"],但您甚至没有指定表单与表单上的 PHP 文件之间的通信方法。尝试将您的起始表单标签更改为:

<form method = "POST" action = "YOUR PHP FILE.php">

只要 index.php 与表单处于同一级别,您的 PHP 文件似乎就没问题。

您也可以通过这种方式将您的页面重定向到其他地方:

echo "<meta http-equiv="refresh" content="1;url=index.php"/>"
    <form>
    Delete id <input type = "text" name ="deleteid" id ="deleteid"/>
    <input type ="submit" name = "submit" />
    </form>
    <?php
    if (isset($_POST['submit'])){
    $id = $_POST['deleteid'];
    $query = "DELETE FROM information WHERE id = $id";
    //rest Execute the query
      header('Location: xyx.php'); 
    }
    <?

我假设这两个代码片段都存在于一个 PHP 文件中。然后,您的表单将默认使用 GET 方法 post 到同一个文件。 将您的 PHP 代码更改为如下所示:-

<?php

if (isset($_GET['delete'])){
    $mysqli->query('DELETE FROM information WHERE id ='.intval($_GET['id']));
    header('Location: index.php');
}


echo '<form>';
echo '<br /><br /><input style="cursor:pointer" class="button" type="submit" value="Delete Event" name="delete" id="delete" />';
echo '</form>';
?>