Problème de passage de variable session
david11001
-
giheller Messages postés 1960 Date d'inscription Statut Membre Dernière intervention -
giheller Messages postés 1960 Date d'inscription Statut Membre Dernière intervention -
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 !
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 !
A voir également:
- Problème de passage de variable session
- Passage qwerty azerty - Guide
- Www.yahoomail.com ouverture de session - Forum Yahoo mail
- Passage windows 10 à 11 gratuit - Guide
- Test passage windows 11 - Guide
- Vba excel sélectionner une plage de cellules variable ✓ - Forum VB / VBA
7 réponses
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>
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>
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 !
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 !
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.
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.
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...
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...
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 ?
Au fond..
Pourquoi ne te contentes-tu pas d'un simple header("Location: https://www.nordnet.com/site-internet"); comme tout le monde ?
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
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>
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>