Erreur Cannot modify header information

Bonjour,

j'ai une erreur qui s'affiche et j'ai pas pu l'enlever!! voila:

Warning: Cannot modify header information - headers already sent by (output started at /var/www/gapps/site in/test1.php:11) in /var/www/gapps/site in/google_users.php on line 24

sur la page test1: à la ligne 11 j'ai
11 -<style type="text/css">

</style></head>

<table width="1087" height="316" border="0" align="left">
<tr>

<th width="1081" colspan="3" class="def Style5" scope="col"><table width="1080" border="1">
<tr>
<th width="523" height="51" scope="row"> Google users</th>
<td width="541"height="51" scope="row"> Inwebo users</td>
</tr>
<tr>
<th height="324" scope="row"><span class="def">
<?php

et sur la page google_users.php à la ligne 24 j'ai:

$e = header('Location: bloque.php');

pouvez vous m'aider!!

un tres grand merci

7 réponses

  1. Hola,

    Cette erreur signifie que les en-têtes HTTP ont déjà été envoyés, soit car il y a du code html avant que tu as entré directement, ou que tu as fait un echo() ou un print().

    Exemple :
    <?php 
    echo 'Je rentre un information'; 
    header('location:bloque.php'); //le texte "Je rentre un information'" a déjà été envoyé au navigateur donc erreur. 
    ?>
    


    Sinon tu peux essayer la bufferisation de sortie avec les fonctions php ob_start() et ob_end_flush():

      <?php
    ob_start();
    echo 'Je rentre un information'; 
    header('location:bloque.php'); //Il ne doit plus y avoir d'erreur, tu peu enlever le @. Le @ ne sert qu'à masquer les erreurs quand ton site est vraiement en ligne.
    ob_end_flush();
    ?>
    


    Voili voilou quelques pistes.
    Normalement tu dois même avoir une explication sur ccm.

    J'espère que ça t'aide un peu.

    Fab.
    1. merci pr le @,

      c'est vrai j'ai plus d'erreur qui s'affiche!! mais il va toujours pas vers la page bloque.php (souaité grace au header)

      que dois je faire ?

      merci d'avance lll
      1. Salut,

        Tu ne dois avoir AUCUN code html envoyé au navigateur avant ton header.
        De plus je ne vois pas l'utilité du $e= car header n'a pas de valeur de retour.
        1. aidez moi
          1. Salut,

            Si tu mets un @ collé devant header cela devrait fonctionner.
            Sinon tu peux essayer de réparer l'erreur.
            Pour ça il faut plus de code.

            @ pluche.
            faboons.
          2. merci pr le @,

            c'est vrai j'ai plus d'erreur qui s'affiche!! mais il va toujours pas vers la page bloque.php (souaité grace au header)

            que dois je faire ?

            merci d'avance