Résolu Cannot modify header information

Statut
N'est pas ouverte pour d'autres réponses.

Wims

Premium
Inscription
27 Août 2014
Messages
1 807
Réactions
418
Points
18 811
RGCoins
0
Bonsoir,

Besoin d'aide en PHP !

"Cannot modify header information"

C'est la première fois que je tombe sur cette erreur, je l'ai donc googlé..
Sur tous les sites ça parle d'espace en trop derrière ou devant les "<?php" et "?>" ou encore de saut de ligne en trop, me je ne trouve absolument rien après 30 minutes de recherche.

J'ai aussi essayer de changer l'encodage de ma page qui était de base en UTF8 sans BOM, je l'ai passé en UTF8 classique, puis en ANSI et de nouveau en UTF8 sans BOM rien ne change.

Voici la page qui pose problème :
 
HTML:
<!DOCTYPE html>
<html lang="fr">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="description" content="">
    <meta name="author" content="">

    <title><?= $site_name; ?></title>

    <!-- Base URL -->
    <base href="<?= $siteUrl; ?>"/>

    <!-- Bootstrap core CSS -->
    <link href="vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">

    <!-- Custom styles for this template -->
    <link href="css/shop-homepage.css" rel="stylesheet">

    <!-- FontAwesome Icons -->
    <script defer src="https://use.fontawesome.com/releases/v5.0.8/js/all.js" integrity="sha384-SlE991lGASHoBfWbelyBPLsUlwY1GwNDJo3jSJO04KZ33K2bwfV9YBauFfnzvynJ" crossorigin="anonymous"></script>

    <!-- Javascript -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
    <script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>

  </head>

  <body>
  <?php include('login-modal.php'); ?>
    <!-- Navigation -->
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
      <div class="container">
        <a class="navbar-brand" href="<?= $siteUrl; ?>"><?= $site_name; ?></a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarResponsive">
          <ul class="navbar-nav ml-auto">
            <li class="nav-item active">
              <a class="nav-link" href="<?= $siteUrl; ?>"><i class="fas fa-music"></i> Musiques
                <span class="sr-only">(current)</span>
              </a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">About</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Services</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Contact&nbsp;</a>
            </li>
            <?php if(!isset($_SESSION['logged'])){ ?>
            <li class="nav-item">
              <button type="button" class="btn btn-primary" id="login"><i class="fas fa-user"></i> Espace utilisateur</a>
            </li>
            <?php }else{ ?>
            <li class="nav-item">
              <div class="btn-group">
                <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                <?php include('../includes/get_username.php'); ?>
                <i class="fas fa-user"></i> <?= $acc['username']; ?>
                </button>
                <div class="dropdown-menu">
                  <a class="dropdown-item" href="#"><i class="fas fa-music"></i> Mes musiques</a>
                  <a class="dropdown-item" href="#"><i class="fas fa-user"></i> Mon compte</a>
                  <?php if($acc['rank'] == 2){ ?>
                  <a class="dropdown-item" href="#"><i class="fas fa-lock"></i> AdminCP</a>
                  <?php } ?>
                  <div class="dropdown-divider"></div>
                  <a class="dropdown-item" href="logout.php"><i class="fas fa-sign-out-alt"></i> Déconnexion</a>
                </div>
            </div>
            </li>
            <?php } ?>
          </ul>
        </div>
      </div>
    </nav>
 
On n'a pas l'image :)
Je l'ai posté en commentaire, j'avais cette erreur quand je mettais le code dans le topic
chrome_2018-03-17_23-35-11.png


Ça doit venir de tes fichiers inclus
J'ai regardé aussi, j'ai supprimé tout les espaces et les sauts de lignes inutiles
 
Je l'ai posté en commentaire, j'avais cette erreur quand je mettais le code dans le topic
chrome_2018-03-17_23-35-11.png



J'ai regardé aussi, j'ai supprimé tout les espaces et les sauts de lignes inutiles
Je pense pas que ce soit les espaces, ces deux fichiers touchent aux headers ?
 
Je pense pas que ce soit les espaces, ces deux fichiers touchent aux headers ?
L'erreur exacte :
Code:
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\music\includes\body\header.php:41) in C:\xampp\htdocs\music\includes\post_review.php on line 17

Ligne 41 du header.php

Code_2018-03-17_23-40-39.png


Et post_review.php :

Code_2018-03-17_23-41-37.png


Le premier c'est le head des pages, et le deuxième c'est celui qui cause l'erreur, quand je poste un commentaire à la fin de la requête SQL je fais une redirection via "header" et il y a ce fameux warning.

Pour le moment je fais la redirection via JavaScript ce qui marche aussi bien que avec un header en PHP, mais j'aimerai bien résoudre ce problème.. :mmh:
 
Pour le moment je fais la redirection via JavaScript ce qui marche aussi bien que avec un header en PHP, mais j'aimerai bien résoudre ce problème.. :mmh:
La redirection avec Javascript peut être bloquée avec des addons chrome ou autre, c'est pourquoi il ne faut pas oublier de mettre un exit; après ta redirection ! Concernant ta page post_review, essaye de l'inclure au tout début de ton fichier php !
 
La redirection avec Javascript peut être bloquée avec des addons chrome ou autre, c'est pourquoi il ne faut pas oublier de mettre un exit; après ta redirection ! Concernant ta page post_review, essaye de l'inclure au tout début de ton fichier php !
Toujours rien en incluant ma page au début!
Et j'ai rajouté le exit, merci du conseil :p
 
Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut