php - 重定向标头信息错误
问题描述
当我在代码中调用此函数时,出现此错误。你有什么主意吗 ?
警告:无法修改标头信息 - 标头已由(输出开始于 /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 标头 ( )
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;
}
解决方案
那是因为在发送标头后您不能使用“header()”...这意味着例如,当 PHP 已经将标头发送到 HTTP 服务器时(然后这会将响应发送给用户,但是您得到我猜)你不能附加任何东西。
因此,例如,如果您想重定向到另一个页面,则需要在将任何 HTML 发送给用户(或如对 HTTP 服务器所说的那样)之前包含此“重定向”...
如果您想要另一种方法来执行此操作,并且在发送任何 HTML 之前实际上无法重定向,那么,使用相同的 HTML 进行重定向,如何?使用重定向 HTML 标记或一些 javascript。
推荐阅读
- android - 第一次点击后用户界面没有任何反应
- android - 如何正确运行 AltBeacon 库前台服务
- java - C# 或 Java 中的 Adobe In-Design
- algorithm - QuickFind 和 QuickUnion 是解决同一问题的两种方法吗?
- python - 在 excel 列中搜索匹配的文本值,打印行#s
- python - 为什么显示后窗口的位置仍然为零?
- regex - 公式通过向下拖动鼠标起作用,但不适用于 ArrayFormula
- javascript - 一个函数处理多个按钮
- sql - 为什么我的代码中不断出现此错误?
- javascript - VB.NET:未知的网络方法