2017-08-02 98 views
0

我想知道是否可以在后台PHP脚本完成后重定向特定的会话。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"); 
    } 

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

非常感谢

回答

0

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

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

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

将等待2秒钟,然后将用户重定向到“secondPage.php “

另外,您可以强制PHP冲洗像这样的输出发送标题:

header("Location: initialPage.php"); 

flush(); 
ob_flush(); 

sleep(2); 

header("Location: secondPage.php"); 

然后用户会被重定向到initialPage.php直线距离,它会忽略第二重定向

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