当我在我的代码中调用此函数时,出现此错误。你有什么想法吗?
警告:无法修改标头信息 - 已发送的标头 (输出从/home/www//boutique/Admin/header_menu.php:173开始) /home/www/boutique/includes/OM/HTTP.php第33行调用堆栈
1 0.0000 395512 {main}()... / index.php:0 2 0.0738 1789400包括(' /home/www//boutique/includes/Apps/Tools/ImportData/Sites/Admin/Pages/Home/templates/import_process.php')... / index.php: 31 4 0.0746 1792488 forward_static_call_array()... / AppAbstract.php:111 5 0.0746 1792896 OM \ OSCOM :: redirect() 6 0.0747 1793400 OM \ HTTP :: redirect() 7 0.0747 1793560 header()
public static function redirect($url, $http_response_code = null) {
if ((strstr($url, "\n") === false) && (strstr($url, "\r") === false)) {
if ( strpos($url, '&') !== false ) {
$url = str_replace('&', '&', $url);
}
header('Location: ' . $url, true, $http_response_code);
}
exit;
}
答案 0 :(得分:0)
那是因为你不能在发送标题后使用“header()”...这意味着,例如,当PHP已经将标题发送到HTTP服务器时(然后将响应发送给用户,但你得到它我猜)你不能追加任何其他东西。
所以,例如,如果你想重定向到另一个页面,你需要在向用户发送任何HTML之前包含这个“重定向”(或者说是发送给HTTP服务器)......
如果您想要另一种方法来执行此操作,并且在发送任何HTML之前无法实际重定向,那么,使用相同的HTML进行重定向,如何使用,使用重定向HTML标记或某些javascript。