2016-01-11 4 views
0

Я хочу, чтобы перенаправить мою страницу после того, как сценарий заканчивается на другой сайт, используя код:PHP ошибка перенаправления заголовка

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

Я получил сообщение об ошибке в браузере

Предупреждение: Не удается изменить информацию в заголовке - заголовки уже посланный (выход начался в /Applications/MAMP/htdocs/bootstrap/header.php:33) в /Applications/MAMP/htdocs/bootstrap/emailto.php на линии 70

Пожалуйста найти ниже мой код:

<?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= "[email protected]"; 
        $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'); ?> 
+0

удалить "эхо "Ваше сообщение было отправлено!";" перед заголовком и проверкой. –

+6

Возможный дубликат [Как исправить ошибку «Заголовки уже отправлены» в PHP] (http://stackoverflow.com/questions/8028957/how-to-fix-headers-already-sent-error-in-php) – Ben

+0

Вы не может перенаправляться, если вы отправили вывод в браузер. – Ben

ответ

0

Поместите код, прежде чем Html тег работает как если HTML получает, прежде чем контент будет отправлен и перемещение заголовка создаст проблемы и не будет работать. Попробуйте использовать это, как указано ниже.

if(isset($_REQUEST['submit'])) { 
      $to = $_REQUEST['to']; 
      $subject =$_REQUEST['subject']; 
      $body= $_REQUEST['message']; 
      $from= "[email protected]"; 
      $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..."; 
     } 

    } 

..... ....... .........

+0

Привет, Не работает: / –

0

Вы уже отправили данные клиенту. Вы должны отправить заголовки, прежде чем отправлять что-либо вообще.

0

просто скопируйте код своей кнопки отправки вверху страницы перед запуском любого средства html перед включением файла header.php.

if(isset($_REQUEST['submit'])) { 

       $to = $_REQUEST['to']; 
       $subject =$_REQUEST['subject']; 
       $body= $_REQUEST['message']; 
       $from= "[email protected]"; 
       $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..."; 
      } 

     } 
+0

Привет, я попробовал, и это дает мне ту же ошибку ... Я также удалил все включает в себя, и то же самое вещь .... С уважением, Denis –

+0

Привет, вы можете попытаться сохранить сгенерированный вывод в буфер, написав в первой строке страницы. –

Смежные вопросы