-1

我需要帮助解决这个问题。我有一个代码稍后会更改标题位置,如下所示:

header('Location: http://www.matrixgamingns.com/changepassword.php?success');

它不工作。当我使用该行时,我 localhost 没问题,并且它应该像它一样工作。它看起来像这样:

header('Location: changepassword.php?success');

现在,当它在线时,它不想重新加载或重定向页面。幸运的是,我打开了错误报告,这就是我得到的:

警告:无法修改标头信息 - 标头已由 /hermes/bosweb/web039/b397/ipg.matrixgamingnscom/ 中的 /hermes/bosweb/web039/b397/ipg.matrixgamingnscom/public_html/recover.php:7 发送的标头第 44 行的 public_html/recover.php

没关系,我知道出了什么问题...但是当我遇到错误时,该行是我的 php 包含。像这样:

<?php include 'php/includes/headstart.php'; ?>

最疯狂的部分是其中包括我没有可以像错误状态一样重定向的东西。包含的php:

<!DOCTYPE html>
<html>

    <head>

        <link rel="stylesheet" href="css/style.css" type="text/css" />
        <link rel="stylesheet" href="css/reset.css" type="text/css" />
        <meta http-equiv="content-type" content="text/html" charset="UTF-8">
        <meta name="language" content="serbian">
        <script src="js/jquery.js"></script>
        <link rel="shortcut icon" href="images/favicon.ico" />

包含文件的 PHP 代码:

<?php 
include 'php/db/connection.php';
include 'php/db/init.php'; 
protect_page();
?>

    <?php include 'php/includes/headstart.php'; ?>



        <title>Matrix Gaming</title>
        <meta name="description" content="Matrix Gaming Internet Cafe je mesto gde mozete doci da se druzite sa prijateljima ili se mozda odlucite da se suprotstavite nekome u nekoj od mnogobrojnih igrica
        u nasoj ponudi">



<?php include 'php/includes/headend.php'; ?>

如果有人可以帮助我,我会非常感激!

4

3 回答 3

0

header发生这种情况是因为您在调用函数之前已向浏览器发送了一些输出。检查代码中的空格,这些空格可能会将内容发送到浏览器,从而导致所有标头都被发送。

于 2013-09-01T12:01:36.833 回答
0

您可能在执行 header() 调用之前输出 html。这不行。需要在任何输出之前发送标头。如果之前没有输出 html,则可能是空格或类似问题。

于 2013-09-01T12:02:57.757 回答
0

请记住,发送任何输出后无法使用该header()功能!您包含的是 HTML,这意味着它将作为输出发送到浏览器;不能使用,因为已经输出了一些东西。header()

于 2013-09-01T12:04:14.363 回答