Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/04/2008, 12h24   #1
Invité de passage
 
Inscription : avril 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 5
Points : 0
Points : 0
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();?
poyoleles est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2008, 14h01   #2
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
A mon avis le probleme vient d'ailleurs, peux-tu me dire ce que tu as mis dans ton header.
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2008, 14h33   #3
Invité de passage
 
Inscription : avril 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 5
Points : 0
Points : 0
voici mon code...
J'ai mis le minimum pour limiter les possibilité d'erreurs :
Code :
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
poyoleles est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2008, 14h39   #4
Invité de passage
 
Inscription : avril 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 5
Points : 0
Points : 0
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...)
poyoleles est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2008, 15h13   #5
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
Peux-tu essayer
Code :
1
2
 
application/vnd.ms-excel
et remplacer
Code :
1
2
 
$fh=fopen($fname, "w"); par $fh=fopen($fname, "r");
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2008, 16h08   #6
Invité de passage
 
Inscription : avril 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 5
Points : 0
Points : 0
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...
poyoleles est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2008, 01h19   #7
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
Si tu enlèves le session_start est-ce que ça fonctionne ?
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2008, 09h46   #8
Invité de passage
 
Inscription : avril 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 5
Points : 0
Points : 0
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()...
poyoleles est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2008, 11h32   #9
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
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é.
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2008, 08h35   #10
Rédacteur/Modérateur
 
Avatar de MaitrePylos
 
Homme Gérard Ernaelsten
DBA & Dev PHP
Inscription : juin 2005
Messages : 3 183
Détails du profil
Informations personnelles :
Nom : Homme Gérard Ernaelsten
Âge : 39
Localisation : Belgique

Informations professionnelles :
Activité : DBA & Dev PHP
Secteur : Service public

Informations forums :
Inscription : juin 2005
Messages : 3 183
Points : 6 470
Points : 6 470
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();
MaitrePylos est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h33.


 
 
 
 
Partenaires

Hébergement Web