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>';
?>
我试图让我的页面在从数据库中删除一条记录后重定向,但它不会重定向。它正在回显文本并删除记录,但它只是将我重新加载到同一页面上,其中包含不再包含信息的表单。
这是我使用的按钮
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>';
?>