duanjuduo4573 2017-03-11 20:37
浏览 34
已采纳

PHP - 返回HTML表单[重复]

This question already has an answer here:

Going to call mail within PHP server code then return back to HTML page. Wrote the following server code:

<!DOCTYPE HTML>
<HEAD>
    <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
</HEAD>
<BODY>
    <?php
    $referer = filter_input(INPUT_SERVER, 'HTTP_REFERER');  // real referrer detected
    // do something or nothing
    header("Location: $referer");
    ?>
</BODY>

This code produce an error "Warning: Cannot modify header information - headers already sent by...". Why?

</div>
  • 写回答

2条回答 默认 最新

  • dravpuso44681 2017-03-11 21:32
    关注

    header() in normal usage ,must be called before any actual output is sent,
                     and you already send data before using it .

    ☼►Solution  :   to manipulate that and have the ability to use header() wherever you want ..
    then PHP has Output control functions which allow you to control when the output (such as HTML code) is being buffered in the server until you send it . so follow the Instructions down below :

    by using ob_start in the beginning and ob_endin the end

    ✔ replace your code with this :

    <?php
    ob_start( );
    ?>
    <!DOCTYPE HTML>
    <HEAD>
    <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
    </HEAD>
    <BODY>
    <?php
    $referer = filter_input(INPUT_SERVER, 'HTTP_REFERER');  // real referrer detected
    // do something or nothing
    header("Location: $referer");
    ?>
    </BODY>
    
    <?php
    ob_end_flush( );
    ?>
    

    Warning : make sure there is no Whitespace before <?php ob_start( );
    or it will throw the same error .
    .........................................

    ✘ - the wrong way :

      <?php
    ob_start( ); ?>
    

    ✔ - the Right way :

    <?php
    ob_start( ); ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 MATLAB联合adams仿真卡死如何解决(代码模型无问题)
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题
  • ¥15 人在外地出差,速帮一点点
  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改