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

Langage PHP Discussion :

probléme assez pointu entre writeexcel et session_start [Fait]


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut probléme assez pointu entre writeexcel et session_start
    Bonjour tous le monde,
    Voici mon problème :
    J'utilise une bibliothèque nommée WriteExcel qui permet de générer avec php des fichiers Excel. Mon code marche bien et en localhost je crée mes fichiers que ce soit sous ie ou firefox. Mais dès que je passe tout ça sur un serveur, un problème apparait : l'export se fait sans problème sous firefox mais ça fait popo sous ie : génération d'un message d'erreur : 'internet explorer n'a pas pu ouvrir ce site...'
    j'ai donc chercher d'où pouvait venir l'erreur et j'ai fini pas trouver avec certitude que ça vient de la ligne de code : session_star(); que je place en début de fichier. Cette ligne me sert à récupérer mes variables donc je ne peux m'en passer. Quelqu'un aurait-il un idée de pourquoi ie lors de la génération du fichier excel ne tolère pas session_start();?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    A mon avis le probleme vient d'ailleurs, peux-tu me dire ce que tu as mis dans ton header.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    voici mon code...
    J'ai mis le minimum pour limiter les possibilité d'erreurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    error_reporting(E_ALL ^ E_NOTICE);
    session_start();
    set_time_limit(10);
     
    require_once "writeexcel/class.writeexcel_workbook.inc.php";
    require_once "writeexcel/class.writeexcel_worksheet.inc.php";
     
    $fname = tempnam("/tmp", "demo.xls");
    $workbook =& new writeexcel_workbook($fname);
    $worksheet =& $workbook->addworksheet('Demo');
     
    $workbook->close();
     
    header("Content-Type: application/x-msexcel; name=\"example-demo.xls\"");
    header("Content-Disposition: inline; filename=\"example-demo.xls\"");
    $fh=fopen($fname, "w");
    fpassthru($fh);
    unlink($fname);

    Voila

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    si j'enlève le session_start tout fonctionne et si je le met ben ie plante...d'ou ma déduction...il y a un problème entre la fonction session_start et la bibliothèque writeexcel, ou alors ca vient du serveur (sachant qu'en localhost tout marche...)

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    Peux-tu essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    application/vnd.ms-excel
    et remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $fh=fopen($fname, "w"); par $fh=fopen($fname, "r");

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    j'ai essayé mais toujours le même problème...je pense que ça vient du serveur, même si ça marche sous firefox...il doit y avoir un truc a configurer...

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    Si tu enlèves le session_start est-ce que ça fonctionne ?

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    oui dès que j'enlève le session_star() ça marche, le seul problème c'est que j'en ai besoin de ce session_star(), car j'ai des variables de session assez complexes à récupérer dans ma page...encore plus bizarre ie ne pose pas de problèmes en localhost, avec ou sans session-start()...

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    La seule difference que je vois avec et sans session_start est ton header, si tu pouvais récupérer le header via un sniffer tu pourrais comparer ligne a ligne les headers. A priori le body de ta page est inchangé.

  10. #10
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 600
    Points
    12 600
    Par défaut
    Bonjour,

    Personnelement je te conseillerais las classe de Xavie Noguer (Question de goût), tu as un tuto ici.

    Avec cette classe je n'ai jamais rencontré de problème avec IE, essaye pour commencer de commenter ta balise Set_time_Limit();

Discussions similaires

  1. Problème de jointure entre 3 tables
    Par Yphon dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/09/2005, 15h58
  2. Problème de jointure entre 2 ou 3 tables
    Par NicoNGRI dans le forum Langage SQL
    Réponses: 3
    Dernier message: 02/08/2005, 12h44
  3. Réponses: 2
    Dernier message: 21/10/2004, 15h08
  4. Problèmes de compatibilité entre sdk 9.0c et geforce 2/4
    Par Francky033 dans le forum DirectX
    Réponses: 2
    Dernier message: 01/10/2004, 14h22

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