Problème d'en-tête

Répondre
jackbocar
le 23/01/2015 à 16:38
jackbocar
Problème d'en-tête

Voilà, en local sur linux et ubuntu, il n'y a aucun problème. Mais ça apparaît sur FREE, et je ne comprends pas pourquoi.

Cannot modify header information - headers already sent by output started at: non_visible.php on line 7


Vous ne pouvez pas modifier les informations d'en-tête - headers already sent by output started at : non_visible.php on line 7

non_visible.php
1- <?php
2 - include_once ('../includes/_KB05_UZ.php');
3 - $sql = ('UPDATE actuel SET visible="0" WHERE id="'.$_GET['id_news'].'"');
4 - mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
5 - mysql_close($con);
6 - header('Location: index_non_visible.php');
7 - exit();
8 - ?>


Lorsque je vois apparaître cette information, je fais un retour et le changement est tout de même effectué.
Il y a forcément une erreur mais où ?

Merci pour votre aide
Jackbocar
i M@N
le 14/02/2015 à 21:01
i M@N
Hello.

Tu dois avoir une sortie (output) quelque part avant ton header.

Les headers c'est comme les sessions il faut envoyer ça avant toute sortie.
Souvent ces sorties sont dues à des echos, des caractères BOM, des erreurs, warning ou notices envoyé par PHP.

Vérifie tes logs php et mets temporairement au début de ton fichier un error_reporting(E_ALL); pour voir si tu n'as pas une erreur avec ce script.

Pour ne pas avoir d'erreur affichée tu peux aussi mettre un @ devant tes fonctions include_once (que tu devrais remplacer par un include au passage) et devant tes mysql_* : @include @mysql_query

@+...
One Love, One Heart, One Unity.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours