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 29/04/2006, 12h20   #1
Membre du Club
 
Inscription : février 2004
Messages : 237
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 237
Points : 52
Points : 52
Par défaut [Sécurité] PHP mécanisme de session et include

Bonjour,

Suite au message d'hier concernant mon problème de sessions, j'ai peut être trouvé un élément de réponse!

Dans ma page d'index je fais un session_start() au début de la page. Donc pas de soucis. Par contre ensuite je fais des inclusions dans cette même page dans lesquelles je fais également des session_start().

Mais le problème c'est que apparement il est impossible de lancer cette fonction lorsqu'il y a du code (style echo ou html) avant.

Ce qui expliquerai mon problème. Maitenant comment est ce que je peux faire pour faire fonctionner le mécanisme de session sur les autres page ?
Pfeffer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2006, 12h43   #2
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
Salut !

session_start envoie des headers HTTP, ce qui signifie qu'elle doit être appellée avant qu'un caractère quel qu'il soit n'ait été envoyé au client...

si tu veux pouvoir l'utiliser n'importe quand, il te faut te pencher sur la bufférisation (attention : pas super rigoureux ) : http://fr.php.net/outcontrol
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2006, 14h28   #3
Membre actif
 
Inscription : novembre 2003
Messages : 236
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : novembre 2003
Messages : 236
Points : 159
Points : 159
Il y a bcp plus simple, dans ta page index la premiere chose que tu fais c'est de faire le session_start();

ensuite dans tes include tu n'as plus besoin de le faire puisqu il est deja fais et donc tu peux utiliser tes variable de session sans difficulter.

tu ne devrais remettre que un session_start() que lorsque tu ne sera plus sur ta page index.
par exemple si pour faire un logout tu utilse une page que tu n appel pas dans ton index a ce moment la tu remet un session_start();

moi en general je fais des le debut de ma page index ca

Code :
1
2
3
4
5
6
7
8
 
<?php
session_start();
?>
<html>
<head>
...
</html>
vala vala
Dokho1000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2006, 14h33   #4
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
Je n'avais pas compris la situation comme ça, effectivement, Dokho1000 a tout à fait raison, cette solution est bien plus simple que la bufférisation (et bien plus propre)
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2006, 15h19   #5
Membre actif
 
Inscription : novembre 2003
Messages : 236
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : novembre 2003
Messages : 236
Points : 159
Points : 159
Merci :d
Dokho1000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2006, 15h50   #6
Membre Expert
 
Avatar de Anduriel
 
Homme
Étudiant
Inscription : février 2004
Messages : 2 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 2 168
Points : 1 277
Points : 1 277
Et si jamais tu dois mettre des session start sur plusieurs pages qui s'incluent, alors rajoute @ devant session_start() pour éviter un notice
Anduriel 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 03h16.


 
 
 
 
Partenaires

Hébergement Web