PHP标头重定向错误


PHP header redirection error

我想在脚本结束后使用以下代码重定向我的页面:

header("Refresh:3; url=http://www.googe.com");

我在浏览器中出错

警告:无法修改标头信息-标头已由第70行/Applications/MAMP/htdocs/bootstrap/emailto.php中的/Applications/MAFP/htdocs/bootstrat/header.php发送

请在下面找到我的代码:

    <?php include('header.php'); ?>
  <!-- Sidebar -->
        <div id="sidebar-wrapper">
            <?php include('links.php'); ?>
        </div>
        <!-- /#sidebar-wrapper -->

     <!-- Page Content -->
        <div id="page-content-wrapper">
            <div class="container-fluid">
                <div class="row">
                    <div class="col-lg-12">
                        <form class="form-horizontal" role="form" method="post" action="">
                                <div class="form-group">
                                    <label for="to" class="col-sm-2 control-label">To</label>
                                    <div class="col-sm-10">
                                        <input type="text" class="form-control" id="to" name="to" placeholder="To" value="<?php echo $_REQUEST['emails']; ?>">
                                    </div>
                                </div>
                                <div class="form-group">
                                    <label for="Subject" class="col-sm-2 control-label">Subject</label>
                                    <div class="col-sm-10">
                                        <input type="text" class="form-control" id="subject" name="subject" placeholder="subject" value="subject">
                                    </div>
                                </div>
                                <div class="form-group">
                                    <label for="message" class="col-sm-2 control-label">Message</label>
                                    <div class="col-sm-10">
                                        <textarea class="form-control" rows="4" name="message"></textarea>
                                    </div>
                                </div>
                                <div class="form-group">
                                    <div class="col-sm-10 col-sm-offset-2">
                                        <input id="submit" name="submit" type="submit" value="Send email" class="btn btn-primary">
                                    </div>
                                </div>
                                <div class="form-group">
                                    <div class="col-sm-10 col-sm-offset-2">
                                        <! Will be used to display an alert to the user>
                                    </div>
                                </div>
                        </form>
                         </div>
                </div>
            </div>
        </div>
        <!-- /#page-content-wrapper -->
        <div class="container-fluid">
        <?php

            if(isset($_REQUEST['submit'])) {
                    $to = $_REQUEST['to'];
                    $subject =$_REQUEST['subject'];
                    $body= $_REQUEST['message'];
                    $from= "admin@vision.com";
                    $headers= "From: $from";
                if($to && $subject && $body) {
                    mail($to, $subject, $body, $headers);
                    echo "your email has been sent!";
                    header("Refresh:3; url=http://www.googe.com");

                } else {
                    echo "please fill up all fields...";
                }
            }

        ?>

    </div> <!-- end of div container -->

    <?php include('footer.php'); ?>

将代码放在Html标记工作之前,就像Html在发送内容之前得到一样,头的重新定位将产生问题,并且无法工作。试着按照下面的说明使用它。

if(isset($_REQUEST['submit'])) {
            $to = $_REQUEST['to'];
            $subject =$_REQUEST['subject'];
            $body= $_REQUEST['message'];
            $from= "admin@vision.com";
            $headers= "From: $from";
        if($to && $subject && $body) {
            mail($to, $subject, $body, $headers);
            echo "your email has been sent!";
            header("Refresh:3; url=http://www.googe.com");

        } else {
            echo "please fill up all fields...";
        }
    }

。。。。。。。。。。。。。。。。。。。。。

您已经向客户端发送了数据。在发送任何内容之前,必须先发送邮件头。

只需在启动任何html之前将提交按钮代码复制到页面顶部即可,这意味着在包含header.php文件之前。

if(isset($_REQUEST['submit'])) {
                $to = $_REQUEST['to'];
                $subject =$_REQUEST['subject'];
                $body= $_REQUEST['message'];
                $from= "admin@vision.com";
                $headers= "From: $from";
            if($to && $subject && $body) {
                mail($to, $subject, $body, $headers);
                echo "your email has been sent!";
                header("Refresh:3; url=http://www.googe.com");

            } else {
                echo "please fill up all fields...";
            }
        }