我试图在从数据库中删除记录后重定向我的页面,但它不会重定向。它正在回显文本并删除记录,但它只是在一个不再包含信息的表单的同一页面上重新加载我。
这是使用
的按钮echo '<form>';
echo '<br /><br /><input style="cursor:pointer" class="button" type="submit" value="Delete Event" name="delete" id="delete" />';
echo '</form>';
这是PHP im用于从DB中删除行
if (isset($_POST['delete'])){
$mysqli->query('DELETE FROM information WHERE id = '.intval($_GET['id']));
header('Location: index.php');
}
我不知道它有什么问题。
答案 0 :(得分:2)
标题不起作用,可能是因为还有另一个标题。 我建议你使用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>";
}
答案 1 :(得分:1)
您的表单标记完全为空。您检查是否设置了$_POST["delete"]
,但您甚至没有指定表单与表单上的PHP文件之间的通信方法。尝试将您的起始表单标记更改为:
<form method = "POST" action = "YOUR PHP FILE.php">
只要index.php
与表单处于同一级别,您的PHP文件就会很好。
您还可以通过这种方式将页面重定向到其他位置:
echo "<meta http-equiv="refresh" content="1;url=index.php"/>"
答案 2 :(得分:1)
我假设两个代码片段都存在于单个PHP文件中。然后,您的表单将默认使用GET方法发布到同一文件。 将您的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>';
?>
答案 3 :(得分:0)
<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');
}
<?