IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Headers already sent sur un export excel alors que normalement non. [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Headers already sent sur un export excel alors que normalement non.
    Bonjour tout le monde.
    J'ai un soucis étrange :
    J'exporte des données d'une base MySQL vers un fichier excel en php.
    Le code est tout bête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    require("zodiaclib.php");
    $XLSquery="select nom, prenom, email, branche from soiree where reponse=1 order by branche, nom";
    $XLSresult=mysql_query($XLSquery);
    $xls_output="";
    while($XLSval=mysql_fetch_array($XLSresult)){
    	$xls_output.=$XLSval['nom']."\t ".$XLSval['prenom']."\t ".$XLSval['email']."\t ".$branches[$XLSval['branche']]."\n";
    }
    header("Content-Type: application/vnd.ms-excel");
    header("Content-disposition: attachment;filename=inscrits.xls");
    print $xls_output;
    exit;
    ?>
    Quand je teste en local avec EasyPHP : pas de soucis.
    Quand je teste sur mon serveur (OVH mutualisé) : j'ai une erreur :

    Warning: Cannot modify header information - headers already sent by (output started at /home.10.29/kamelias/www/zodiac/php_xls.php:1) in /home.10.29/kamelias/www/zodiac/php_xls.php on line 9
    Warning: Cannot modify header information - headers already sent by (output started at /home.10.29/kamelias/www/zodiac/php_xls.php:1) in /home.10.29/kamelias/www/zodiac/php_xls.php on line 10
    Pourtant je n'ai pas de flux qui part avant mes headers ils me semble non ?

    Merci d'avance
    Julien

  2. #2
    Membre actif Avatar de Mogwaï
    Inscrit en
    Mai 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mai 2004
    Messages : 247
    Points : 278
    Points
    278
    Par défaut
    Le tout premier caractère de ton fichier php_xls.php ne serait-il pas un espace ou un retour à la ligne ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Non apparemment non.
    Et si c'était le cas, j'aurais la même erreur en local (easyPHP) que sur le serveur mutualisé, non ?

    Par contre j'ai souvenir que la semaine dernière lors d'un test dans le même genre des caractères bizarres sont apparus en début du fichier Excel généré, il y en avait pas plus de 3 ou 4 et c'était quelque chose du genre ">>?;." je crois sauf que le "?" était retourné il me semble, enfin un truc étrange...

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Bon pour ceux que ça intéresse :

    Le soucis provenait du BOM UTF-8 (plus d'infos)
    Je bosse sous HomeSite et apparemment il rajoute ces 2 ou 3 octets en début de fichier non visible par l'éditeur qui servent à définir l'ordre de stockage des octets.
    Certains navigateurs interprètent bizarrement ces deux octets ce qui donne l'affichage de caractères comme : ""
    Donc là pour mon exemple, ça empêchait le bon fonctionnement des Headers.
    Du coup j'ai passé mes fichiers en ANSI, mais bon va falloir que je trouve comment virer ça dans HomeSite ou alors que je change d'éditeur...

    Merci en tout cas.
    A+
    Julien

  5. #5
    Membre actif Avatar de Mogwaï
    Inscrit en
    Mai 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mai 2004
    Messages : 247
    Points : 278
    Points
    278
    Par défaut
    Apparement c'est un problème qui survient souvent car tu es la 2ème personne à avoir eu ce soucis sur le forum cette semaine...
    Vive Dreamweaver

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/10/2009, 14h15
  2. [PHP 5.2] Besoin d'aide sur un formulaire : erreur headers already sent by
    Par Zargos dans le forum Langage
    Réponses: 1
    Dernier message: 21/05/2009, 21h56
  3. [PHP-JS] Problème sur le header : headers already sent
    Par sliderman dans le forum Langage
    Réponses: 4
    Dernier message: 21/02/2008, 12h54
  4. [Cookies] Warning : headers already sent
    Par arti2004 dans le forum Langage
    Réponses: 8
    Dernier message: 04/04/2006, 16h31
  5. [JpGraph] Header already sent
    Par grunk dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 09/02/2006, 16h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo