Page 1 sur 1

Variable de session dans un fichier inclut via HTTP

Posté : 24 avr. 2008, 16:36
par hamstram
Bonjour à tous,

Voici mon problème
j'ai un fichier php très simple
test.php

Code : Tout sélectionner

<?php session_start(); $_SESSION['var'] = 'var'; include ('http://monsite.com/inc.php?par1=1&par2=2'); ?>
et le fichier inc.php

Code : Tout sélectionner

<?php echo $_REQUEST['par1']. ' ' .$_REQUEST['par2']. ' ' . $_SESSION['var']; ?>
Mon problème c'est que la variable de session var est introuvable
J'ai essayé de mettre session_start() dans le fichier inc.php et de faire un print_r($_SESSION) mais
le tableau de session est vide comme si il avait était réinitialisé.
J'ai aussi testé d'inclure le chemin de façon relative, dans ce cas ça fonctionne mais les paramètres par1 et par2 ne peuvent pas être récupérés.

J'aimerais donc savoir si quelqu'un avait déjà eu ce type de problème?
Merci d'avance pour votre aide.[/code]

Posté : 24 avr. 2008, 16:43
par yaug
Et si tu fais un session_start() dans le second fichier il se passe quoi au juste?

Posté : 24 avr. 2008, 16:44
par Sékiltoyai
L'inclusion se fait sur ton site ou sur un autre serveur ?
Quel est l'intérêt ?

Posté : 24 avr. 2008, 16:49
par Invité
Et si tu fais un session_start() dans le second fichier il se passe quoi au juste?
Le tableau $_SESSION est vide
L'inclusion se fait sur ton site ou sur un autre serveur ?
Quel est l'intérêt ?
L'inclusion se fait sur le même site, l'interêt est de pouvoir y accéder par inclusion php et par des requêtes XMLHttpRequest via ajax sans avoir à passer par un script intermédiaire donc seulement par des url avec paramètres

merci

Posté : 24 avr. 2008, 16:57
par Sékiltoyai
C'est normal que le tableau soit vide parce que lorsque ton premier script est appelé, il est appelé par le navigateur de l'utilisateur, ce qui te crée une première session. Lorsque tu inclues le fichier par php, tu appeles le fichier avec php, et cela te crée une deuxième session car dans ce cas, le navigateur est le navigateur interne de php. Donc dans le second cas, l'utilisateur qui ouvre une session, c'est php, ce qui explique que tu aies deux sessions différentes…

Posté : 24 avr. 2008, 17:04
par hamstram
Je me doutais bien que c'était ça, j'ai donc deux sessions ouverte.

Bon je suppose qu'il n'y pas de solutions dans cet voie là je vais trouver une autre solution alors

Merci bien.