如何修复Headers已经在PHP中发送错误

时间:2018-06-12 12:30:52

标签: php html header

警告:无法修改标头信息 - 已发送的标头 虽然我在我的本地服务器上一切都很好但是因为我托管了这个网站我遇到了大量的错误(主要是标题错误),但我设法修复了大部分错误而不是这个错误。

<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="assets/css/style.css">
</head>
<body>


<style type="text/css">

    *{

        font-size:12px;
        font-family: Ariel,Helvetica,Sans-serif;
    }


</style>
<?php
require 'config/config.php'; //ob_start is initiated here
include ("includes/classes/User.php");
include ("includes/classes/Post.php");
include ("includes/classes/Notification.php");
if(isset($_SESSION['username'])){
    $userLoggedIn=$_SESSION['username'];
    $user_details_query=mysqli_query($con,"SELECT * FROM users WHERE 
username='$userLoggedIn'");
    $user=mysqli_fetch_array($user_details_query);
}
else{
header("Location: register.php");//says errors here
}
?>
 <script>

    function toggle(){

        var element=document.getElementById("comment_section");

        if(element.style.display=="block")
            element.style.display="none";
        else
            element.style.display="block";

    }

 </script>
 <?php
 //Get id of post
 if(isset($_GET['post_id'])){
    $post_id=$_GET['post_id'];



 }
 $user_query=mysqli_query($con, "SELECT added_by, user_to FROM posts WHERE 
 id='$post_id'");
 $row=mysqli_fetch_array($user_query);

 $posted_to=$row['added_by'];
 $user_to=$row['user_to'];

 if(isset($_POST['postComment' . $post_id])){

    $post_body=$_POST['post_body'];
    $post_body=mysqli_escape_string($con, $post_body);
    $date_time_now=date("Y-m-d H:i:s");

    $insert_post=mysqli_query($con,"INSERT INTO comments VALUES ('','$post_body','$userLoggedIn','$posted_to','$date_time_now','no','$post_id')");

    if($posted_to != $userLoggedIn){
        $notification=new Notification($con,$userLoggedIn);
        $notification->insertNotification($post_id,$posted_to,"comment");
    }

    if($user_to !='none' && $user_to != $userLoggedIn){
        $notification=new Notification($con,$userLoggedIn);
        $notification->insertNotification($post_id,$user_to,"profile_comment");
    }

    $get_commenters=mysqli_query($con, "SELECT * FROM comments WHERE post_id='$post_id'");
    $notified_users=array();
    while($row=mysqli_fetch_array($get_commenters)){
        if($row['posted_by'] != $posted_to && $row['posted_by'] !=$user_to
            && $row['posted_by']!=$userLoggedIn && !in_array($row['posted_by'], $notified_users)){
            $notification=new Notification($con,$userLoggedIn);
            $notification->insertNotification($post_id,$row['posted_by'],"comment_non_owner");
            array_push($notified_users, $row['posted_by']);

        }

    }

    echo "<p> Komentar je napisan!</p>";
 }




 ?>



  <form action="comment_frame.php?post_id=<?php echo $post_id; ?>"id="comment_form" name="postComment<?php echo $post_id; ?>" method="POST">
    <textarea name="post_body"></textarea>

    <input type ="submit" name="postComment<?php echo $post_id; ?>" value="Prosledi">




  </form>
  <?php


  $get_comments= mysqli_query($con, "SELECT * FROM comments WHERE post_id='$post_id' ORDER BY id ASC");
  $count = mysqli_num_rows($get_comments);

  if($count != 0 ){


    while ($comment=mysqli_fetch_array($get_comments)){

        $comment_body=$comment['post_body'];
        $posted_to=$comment['posted_to'];
        $posted_by=$comment['posted_by'];
        $date_added = $comment['date_added'];

        $removed=$comment['removed'];


        //Timeframe


                    $date_time_now=date("Y-m-d H:i:s");
                    $start_date= new DateTime($date_added);//Time of post
                    $end_date=new DateTime($date_time_now);//Current time
                    $interval=$start_date->diff($end_date);//difference between dates
                    if($interval->y>=1){
                        if($interval==1)
                            $time_message="Pre " . $interval->y . " godinu"; //jedna godina
                        else
                            $time_message="Pre " . $interval->y . " godine"; //vise od jedne god

                    }else if($interval->m >=1){

                        if($interval->d==0){
                            $days=" pre";
                        }
                        else if($interval->d==1){
                            $days="Pre ". $interval->d . " dan" ;


                        }
                        else {
                            $days="Pre ". $interval->d . " dana" ;


                        }


                        if($interval->m ==1){

                            $time_message=$interval->m ." mesec".$days;

                        }else{

                            $time_message=$interval->m ." meseca".$days;

                        }


                    }else if($interval->d >= 1){

                        if($interval->d==1){
                            $time_message="Juce" ;


                        }
                        else {
                            $time_message="Pre ". $interval->d . " dana" ;


                        }


                    }else if($interval->h >=1){

                        if($interval->h==1){
                            $time_message="Pre jednog sata" ;


                        }
                        else {
                            $time_message="Pre ". $interval->h . " sata" ;


                        }


                    }else if($interval->i >=1){

                        if($interval->i==1){
                            $time_message="Pre jednog minuta" ;


                        }
                        else {
                            $time_message="Pre ". $interval->i . " minuta" ;


                        }

                    }else {

                        if($interval->s<30){
                            $time_message="Upravo Sada" ;


                        }
                        else {
                            $time_message="Pre ". $interval->s . " sekundi" ;


                        }

            }
            $user_obj = new User($con, $posted_by);

            ?>

            <div class="comment_section">

                <a href="<?php echo $posted_by ?>"target="_parent"><img src="<?php echo $user_obj->getProfilePic(); ?>"title="<?php echo $posted_by; ?>" style="float:left;" height="30"></a>
                <a href="<?php echo $posted_by ?>"target="_parent"> <b><?php echo $user_obj->getFirstAndLastName(); ?></b> </a>
                &nbsp;&nbsp;&nbsp;&nbsp; <?php echo $time_message . "<br>" . $comment_body;?>
                <hr>


            </div>
  <?php
    }
  }else{

    echo "<center><br><br> Nema Komentara </center>";

  }
  ?>
  </body>
  </html>

这是我放置ob_start();

的地方
<?php //config file
ob_start();

$con = mysqli_connect("xxxx","xxxx","xxxx","xxxx");
if(mysqli_connect_errno())
{
echo "Failed to connect: " . mysqli_connect_errno();
}
?>

我做错了什么? 如果有帮助的话,我会使用php 5.6。

0 个答案:

没有答案