Problème de passage de variable session

Fermé
david11001 - 16 juin 2009 à 17:17
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 - 18 juin 2009 à 11:24
Salut !
J'ai un petit problème, ma session ne se transmet pas d'une page à l'autre.
Rien de mieux qu'un exemple pour comprendre :

Voici ma page "codesource.php" :

<code type="php"><?php
session_start();
$_SESSION['test']="salut !";
echo "Voici le code surce de la page affichage.php : <br>".file_get_contents("https://www.nordnet.com/site-internet");
?></code>

Et ma page "affichage.php" :

<code type="php"><?php
session_start();
echo $_SESSION['test'];
?></code>

Le problème, c'est que quand j'affiche la page "codesource.php", la variable $_SESSION['test'] ne s'affiche pas...

J'ai pourtant fait le session_start et défini la variable avant de l'appeler sur l'autre page. Que se passe t-il ?

Merci d'avance !

7 réponses

giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
16 juin 2009 à 17:56
bonsoir,

chez moi cela fonctionne avec :
<code type="php"><?php

$_SESSION['test']="salut !";
echo "Voici le code surce de la page affichage.php : <br>";
include ('session2.php');
//("https://www.nordnet.com/site-internet");
?></code>
--------------------------------------
<code type="php"><?php

echo $_SESSION['test'];
?></code>
0
Ce serait effectivement une bonne solution mais je ne peux pas faire ça.
Il faut absolument que je récupère la page sans l'inclure dans mon code. (je ne vous explique pas pourquoi, ça risque d'être long et totalement inutile) La seule solution est de passer les données d'une page à l'autre sans qu'il y ait de rattachement entre les 2. Je peux peut-être passer par la bdd mais ça ne m'arrange donc je préfererai trouver un moyen de faire fonctionner celui-ci.

En tout cas, merci de ta proposition !
0
Bonjour

Je pense que tu ne récupères pas la variable de session parce que le script de la page 1 n'étant pas terminé quand tu appelles la page 2, les variables de session ne sont pas encore enregistrées. Elles ne sont effectivement enregistrées (je ne suis pas sûr à 100%, mais il me semble) qu'à la fin du script.
Mais tu peux passer ta variable par l'URL - si elle n'est pas trop compliquée.
Ou alors, essaye un session_write_close(); juste avant de faire appel à ta 2 ème page.
0
Le session_write_close(); ne fonctionne malheureusement pas...
Et passer les variables par l'url seraient une bonne idée (fonctionnement garanti !) mais mes variables contiennent des scripts en php assez long, donc pas trop possible de les passer...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Solution pas très élégante :
Au fond..
Pourquoi ne te contentes-tu pas d'un simple header("Location: https://www.nordnet.com/site-internet"); comme tout le monde ?
0
J'ai oublié d'effacer le "solution pas très élégante", j'avais une idée farfelue en tête. Mais la version avec header("Location...) n'a rien d'inélégant
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
18 juin 2009 à 11:24
Bonjour,

alors peut être faut-il utiliser le passage de la variable vie la method GET
<code type="php"><?php
$message="salut !";
echo "Voici le code surce de la page affichage.php : <br>".file_get_contents("https://www.nordnet.com/site-internet".$message);
?></code>

Et ma page "affichage.php" :

<code type="php"><?php

echo $_GET[message];
?></code>

0