Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果发送了标头,如何重定向?_Php_Redirect - Fatal编程技术网

Php 如果发送了标头,如何重定向?

Php 如果发送了标头,如何重定向?,php,redirect,Php,Redirect,我使用wordpress,不幸的是,我不得不在后台工作。我需要打印有关用户操作的消息,而CMS头已经发送 除了使用javascript,还有其他选择吗?我更喜欢PHP解决方案 echo '<script type="text/javascript">/* <![CDATA[ */'; echo 'window.location.href = "'. $redirect_url . '";'; echo '/* ]]> */</script>'; echo

我使用wordpress,不幸的是,我不得不在后台工作。我需要打印有关用户操作的消息,而CMS头已经发送

除了使用javascript,还有其他选择吗?我更喜欢PHP解决方案

echo '<script type="text/javascript">/* <![CDATA[ */'; 
echo 'window.location.href = "'. $redirect_url . '";'; 
echo '/* ]]> */</script>';
echo'/**/';

您可以使用查询字符串传递消息:

header('location: index.php?msg=1');exit;
并使用swich根据
msg
query string var的值显示消息:

switch($_GET['msg'])
{
   case: 1; // do foo
   case: 2; // do bar
   case else : ; // ooops
}

您无法撤消该标头发送。。。但你可以缓冲它,这就是我问起的结果

希望有帮助

我更喜欢:

1.)将要加载的config.php放在每页的顶部,并将ob_start放在其中

2.)将要加载的end_load.php放在每页的末尾,并将ob_end放在其中

这种方式将确保在处理结束之前不会向客户端提供任何输出,并且您可以在页面的任何时候使用头重定向


我不知道它的缺点。缓存可能有缺点,但不确定是否要重定向或打印消息?@col.sharper:重定向,然后根据用户acion打印消息(例如,删除图像、添加图像等),他在发送标题后说。。。我猜他的意思是一旦内容启动-如果你试图在著名的“后端”后面再发送一个标题,php会抱怨吗?@downvoter:plz写一些东西,因为我也能知道为什么它不好我投票给你备份(而不是关闭)&我也想知道缺点;我觉得很好。