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 806
Réactions
418
Points
15 961
RGCoins
181
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 :
 

Wims

Premium
Inscription
27 Août 2014
Messages
1 806
Réactions
418
Points
15 961
RGCoins
181
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>
 

Wims

Premium
Inscription
27 Août 2014
Messages
1 806
Réactions
418
Points
15 961
RGCoins
181
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
 

Rivals

Ancien staff
Inscription
27 Août 2016
Messages
1 706
Réactions
898
Points
13 164
RGCoins
171
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 ?
 

Wims

Premium
Inscription
27 Août 2014
Messages
1 806
Réactions
418
Points
15 961
RGCoins
181
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:
 

Paul.L

Développeur WEB
Premium
Inscription
6 Septembre 2014
Messages
128
Réactions
46
Points
3 816
RGCoins
0
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 !
 

Wims

Premium
Inscription
27 Août 2014
Messages
1 806
Réactions
418
Points
15 961
RGCoins
181
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.
Haut