【问题标题】:Page redirect is not perfect work with page content页面重定向不适用于页面内容
【发布时间】:2016-05-15 08:55:40
【问题描述】:

当我评论特定帖子并编辑此评论时,我想保留在同一页面中的此帖子中,但它会重定向主帖子页面。我该如何解决这个问题。 这是我的更新评论页面代码

<?php
 require_once('config.php');
 require_once('user_logedin.php');
 ?>
<?php
if(!isset($_REQUEST['c_id'])) {
    header("location:home4.php");
}
else {
    $id = $_REQUEST['c_id'];
    //echo $id;
}
?>

 <?php
if (isset($_POST['update'])) {

  $msg = $_POST['editmsg'];
  $update = mysqli_query($con,"UPDATE `newsfeedcomment` SET `comment_body`='$msg' WHERE `comment_id`='$id' LIMIT 1");

  if ($msg) {

   //header("location:home4.php?post_id=.$id");
   header("Location:home4.php?post_id=".$id);
   //header("Location:home4.php");

  }

}
 ?>

有效但不显示页面内容

【问题讨论】:

  • 不应该最后一个重定向使用查询参数c_id而不是post_id,因为第一个重定向正在检查c_id
  • 摆脱关闭和重新打开 php-tags。你在这里产生输出,所以header 将不再工作。

标签: php mysql redirect


【解决方案1】:

1st) 不要使用$_REQUEST;分别使用$_GET$_POST$_COOKIES,您将避免(近期)出现问题

2nd) 总是在header("location: ..") 之后调用exit;,因为标头可以被其他代码覆盖

可能的答案:

我相信if(!isset($_REQUEST['c_id'])) 行是重定向回家的唯一途径。你真的确定$_REQUEST['c_id'] 是在“更新”帖子期间设置的吗?你的表单的 action 属性是什么?

//编辑 基于@sowa 的建议:你不是很不情愿地把 post_id 和 c_id 结合起来了吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-11
    • 2020-01-07
    • 2015-12-24
    相关资源
    最近更新 更多