【问题标题】:Confirm delete javascript, php确认删除javascript、php
【发布时间】:2015-10-31 13:33:52
【问题描述】:

我在删除记录时使用了一种简单的方法来显示确认框,这里的问题是我找不到将header 代码放置在删除后重定向到其他页面的位置。我在执行查询后放置它并收到此错误

无法修改标头信息 - 标头已由(输出开始于 ...

我没有被重定向到所需的页面,但不知何故在重新加载页面时记录不在那里,它被删除了。

if(isset($_POST['submit'])){
$que=$db->prepare("DELETE FROM blogs WHERE blogs_id = :blogId");
$que->execute(array(':blogId'=>$blogId));
header("location:front.php");
}

<form method="POST">
<input type="submit" name="submit" value="Delete" onclick="return confirm("Are you sure you want to delete this?")" />
</form>

【问题讨论】:

  • 不要使用 header 重定向到其他页面使用 javascript window.location `` if(isset($_POST['submit'])){ $que=$db->prepare("DELETE来自博客 WHERE blogs_id = :blogId"); $que->execute(array(':blogId'=>$blogId)); ?> ``
  • 拉胡尔错了。 header 是首选。首先确保在发送标头(包括任何空格)之前没有其他输出。其次,在header之后立即发出exit;,否则脚本的其余部分将继续被解析。

标签: javascript php confirm


【解决方案1】:

替换

header("front.php");

echo "<script> window.location='front.php';</script>";

【讨论】:

    【解决方案2】:

    使用元刷新标签而不是标题来重定向页面

    <meta http-equiv="refresh" content="0;url=http://example.com">
    

    【讨论】:

      【解决方案3】:

      你需要使用header("location:front.php");而不是header("front.php");//但是在header之前不应该有任何回显或打印,否则它不会重定向。

      您的确认输入错误,将其更改为:

      <input type="submit" name="submit" value="Delete" onclick='return confirm("Are you sure you want to delete this?")' />
      

      【讨论】:

      • @bɪˈɡɪnə 你得到确认框了吗?因为根据你的 html 你不应该得到。
      猜你喜欢
      • 1970-01-01
      • 2017-09-26
      • 2011-10-06
      • 2022-07-26
      • 2019-10-02
      • 1970-01-01
      • 1970-01-01
      • 2020-02-26
      • 2018-02-03
      相关资源
      最近更新 更多