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 26/09/2008, 10h27   #1
Nouveau Membre du Club
 
Étudiant
Inscription : octobre 2007
Messages : 64
Détails du profil
Informations personnelles :
Âge : 23
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2007
Messages : 64
Points : 25
Points : 25
Envoyer un message via MSN à nolev3 Envoyer un message via Skype™ à nolev3
Par défaut Header & session_start() sous IE

Bonjour,
J'ai une page php qui permet de générer un fichier "excel".
J'aimerais pouvoir contrôler si la personne a le droit de générer cette page.
J'utilise des variables de sessions pour vérifier les droits de l'utilisateur connecté.

Cependant sous Internet Explorer impossible de générer ce fichier lorsque la ligne session_start est présente.


Ceci fonctionne :
Code PHP :
1
2
3
4
5
 
<?php
	header("Content-type: application/vnd.ms-excel");
	header("Content-Disposition: attachment; filename=fichier_excel.xls");	
?>

Cela ne fonctionne pas :
Code PHP :
1
2
3
4
5
6
<?php
	session_start();
	header("Content-type: application/vnd.ms-excel");
	header("Content-Disposition: attachment; filename=fichier_excel.xls");
 
?>

Sous Firefox je n'ai pas de problème...
Quelqu'un aurait une idée ?
nolev3 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2008, 11h21   #2
Modérateur
 
Avatar de ThomasR
 
Homme Thomas Rambaud
Développeur Web
Inscription : décembre 2007
Messages : 2 140
Détails du profil
Informations personnelles :
Nom : Homme Thomas Rambaud
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 2 140
Points : 2 885
Points : 2 885
Bonjour, à première vu je ne vois rien de choquant,

As-tu un message d'erreur ?
ThomasR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2008, 12h51   #3
Nouveau Membre du Club
 
Étudiant
Inscription : octobre 2007
Messages : 64
Détails du profil
Informations personnelles :
Âge : 23
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2007
Messages : 64
Points : 25
Points : 25
Envoyer un message via MSN à nolev3 Envoyer un message via Skype™ à nolev3
IE affiche un message d'erreur :

"Internet Explorer ne peut pas télécharger test.php de 192.168.16.5.
Internet Explorer n'a pas pu ouvrir ce site Internet. Le site requis n'est pas disponible ou n'a pas pu être trouvé. Réessayer ultérieurement."

C'est joli mais çà n'aide pas du tout.

Foutu IE ...
nolev3 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2008, 14h43   #4
Modérateur
 
Avatar de ThomasR
 
Homme Thomas Rambaud
Développeur Web
Inscription : décembre 2007
Messages : 2 140
Détails du profil
Informations personnelles :
Nom : Homme Thomas Rambaud
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 2 140
Points : 2 885
Points : 2 885
Ton code il envoie un fichier en téléchargement à l'internaute, c'est bien ca que tu veux ?

Ton script ci-dessus ne génère rien du tout. Il envoie juste le fichier en pièce jointe de la requête http.
ThomasR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2008, 14h50   #5
Nouveau Membre du Club
 
Étudiant
Inscription : octobre 2007
Messages : 64
Détails du profil
Informations personnelles :
Âge : 23
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2007
Messages : 64
Points : 25
Points : 25
Envoyer un message via MSN à nolev3 Envoyer un message via Skype™ à nolev3
Ce code là permet d'ouvrir un fichier de type excel, d'écrire dedans, puis de le proposer à l'utilisateur.

Code :
1
2
3
4
5
6
<?php
	header("Content-type: application/vnd.ms-excel");
	header("Content-Disposition: attachment; filename=fichier_excel.xls");
print('Le texte à afficher');
 
?>
nolev3 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2008, 18h36   #6
Modérateur
 
Avatar de ThomasR
 
Homme Thomas Rambaud
Développeur Web
Inscription : décembre 2007
Messages : 2 140
Détails du profil
Informations personnelles :
Nom : Homme Thomas Rambaud
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 2 140
Points : 2 885
Points : 2 885
Désolé mais non le code ci-dessus n'écrit rien dans le fichier.
ThomasR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 10h06   #7
Nouveau Membre du Club
 
Étudiant
Inscription : octobre 2007
Messages : 64
Détails du profil
Informations personnelles :
Âge : 23
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2007
Messages : 64
Points : 25
Points : 25
Envoyer un message via MSN à nolev3 Envoyer un message via Skype™ à nolev3
As tu au moins essayé ?
Moi ce code me permet d'ouvrir excel et d'afficher "Le texte à afficher"...
nolev3 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 14h33   #8
Modérateur
 
Avatar de ThomasR
 
Homme Thomas Rambaud
Développeur Web
Inscription : décembre 2007
Messages : 2 140
Détails du profil
Informations personnelles :
Nom : Homme Thomas Rambaud
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 2 140
Points : 2 885
Points : 2 885
Ok donc c'est bien ce que je dis, ce script n'écrit rien dans le fichier.

Ce script permet juste d'envoyer sous forme de téléchargement le fichier à l'utilisateur.
__________________
Développeur Web, accessoirement geek (ou l'inverse)
http://thomasrambaud.com
ThomasR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 15h51   #9
Nouveau Membre du Club
 
Étudiant
Inscription : octobre 2007
Messages : 64
Détails du profil
Informations personnelles :
Âge : 23
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2007
Messages : 64
Points : 25
Points : 25
Envoyer un message via MSN à nolev3 Envoyer un message via Skype™ à nolev3
Oui c'est vrai.
Mais as tu une idée pour ce qui s'agit de mon problème ?
nolev3 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2008, 12h29   #10
Invité de passage
 
Inscription : février 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 5
Points : 2
Points : 2
J'ai exactement le même problème, effectivement aussi sous IE pour un fichier csv...
poulet1212 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2008, 12h39   #11
Invité de passage
 
Inscription : février 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 5
Points : 2
Points : 2
La solution qui fonctionne est la suivante:

session_start() evoie un header par défault de control de cache: "no-store".
IE doit prendre ce header un peu trop perso, et du coup, il plante lorsqu'on lui demande plus tard de stoquer un fichier généré à la volée.

Le truc consiste à mettre avant session_start():
session_cache_limiter('none');

oubien 'private'. A voir.

Mais ça fonctionne pour moi, donc pour vous aussi :-)

moi 1 ---- 0 IE
:-)
poulet1212 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2009, 14h35   #12
Invité régulier
 
Marc Vachette
Inscription : octobre 2009
Messages : 8
Détails du profil
Informations personnelles :
Nom : Marc Vachette
Âge : 29
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : octobre 2009
Messages : 8
Points : 8
Points : 8
Fantastique.

J'avais un problème similaire avec une fichier JS généré par php et pour lequel je faisais appel à la session...
mvachette est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h20.


 
 
 
 
Partenaires

Hébergement Web