PHP - 完成流程后重定向PHP

时间:2017-08-02 21:12:28

标签: php

我想知道在后台PHP脚本完成后是否可以重定向特定会话。

header("location: index.php");

 $myboxes = $_POST['myCheckbox'];

 error_log("location:index.php");

 if(empty($myboxes))
 {
    error_log("You didn't select any boxes.");
  }
  else
  {
    $i = count($myboxes);
   error_log("You selected $i box(es): ");
    for($j = 0; $j < $i; $j++)
    {
      error_log($myboxes[$j] . " ");
    }
    header("location: sucess.php");
  }

在我已经重定向他之后是否可以重定向/刷新某人(并等待后台进程完成运行)。

非常感谢

1 个答案:

答案 0 :(得分:0)

我的建议是在index.php上运行脚本然后你可以显示文本或从那里做一次重定向。

要直接回答您的问题,不能两次发送标题。 如果你没有明确告诉php发送初始头,它会等到执行完成并发送最新的头,例如:

header("Location: initialPage.php");
sleep(2);
header("Location: secondPage.php");

将等待2秒钟,然后将用户重定向到&#39; secondPage.php&#39;

或者你可以通过刷新输出强制php发送标题:

header("Location: initialPage.php");

flush();
ob_flush();

sleep(2);

header("Location: secondPage.php");

然后用户将被立即重定向到initialPage.php并忽略第二次重定向

结论:不能通过发送2个标题来获得您想要的效果。