transmision $_session a une frame [RESOLU]

WRInaute discret
bonjour

soit le code suivant

index.php
session_start();

$_session["variable"] = "valeur 1";
echo $_session["variable"] // = "valeur 1";
<iframe id=fram1 name=fram1 src=frame.php>
echo $_session["variable"] // = "valeur 1";

$_session["variable"] = "valeur 2";
echo $_session["variable"] // = "valeur 2";
<iframe id=fram1 name=fram1 src=frame.php>
echo $_session["variable"] // = "valeur 2";

frame.php
session_start();
echo $_session["variable"];

cela done le resultat suivant

[quote}
valeur 1
~~~~~~~~~~~~
| valeur 2 |
~~~~~~~~~~~~
valeur 1

valeur 2
~~~~~~~~~~~~
| valeur 2 |
~~~~~~~~~~~~
valeur 2

[/quote}

Pouvez vous m'expliquer pourquoi
dans la premiere frame je n'ai pas
valeur 1 valeur affiché avant et aprés la frame ???
 
Nouveau WRInaute
Parce que tu as donné le meme nom aux deux iframe

name=fram1

donc au premier passage il réserve les places pour les iframe en meme temps qu'il affiche les echo,

au deuxieme passage il affiche les iframe, mais comme à ce moment là à la fin ta variable vaut valeur2, c'est ce qu'il affiche.
 
WRInaute discret
re bonjour

merci pour la proposition
mais le pb ne semble pas etre la.
Le nom identique dans les frame est une erreur de copier collé
dans mon post et non dans le code (je corrige)

premier passage [...] deuxième passage
il ne sagit pas d'une boucle le code est exécuté telquel (séquentiel)

En fait ce qui est ETRANGE ! c'est
qu'il est 2, 5 ou 10 frames d id et de nom different
la variable a l'interieur de toutes les frames
a pour valeur ca derniere initialisation.

AIDER MOI SVP je deviens fou !!!


index.php

session_start();

$_session["variable"] = "valeur 1";
echo $_session["variable"] // = "valeur 1";
<iframe id=fram1 name=fram1 src=frame.php>
echo $_session["variable"] // = "valeur 1";

$_session["variable"] = "valeur 2";
echo $_session["variable"] // = "valeur 2";
<iframe id=fram1 name=fram1 src=frame.php>
echo $_session["variable"] // = "valeur 2";

$_session["variable"] = "valeur 3";
echo $_session["variable"] // = "valeur 3";
<iframe id=fram1 name=fram1 src=frame.php>
echo $_session["variable"] // = "valeur 3";

$_session["variable"] = "valeur 4";
echo $_session["variable"] // = "valeur 4";
<iframe id=fram3 name=fram3 src=frame.php>
echo $_session["variable"] // = "valeur 4";


frame.php
session_start();
echo $_session["variable"];


cela done le resultat suivant

valeur 1
~~~~~~~~~~~~
| valeur 4 |
~~~~~~~~~~~~
valeur 1

valeur 2
~~~~~~~~~~~~
| valeur 4 |
~~~~~~~~~~~~
valeur 2

valeur 3
~~~~~~~~~~~~
| valeur 4 |
~~~~~~~~~~~~
valeur 3

valeur 4
~~~~~~~~~~~~
| valeur 4 |
~~~~~~~~~~~~
valeur 4
 
WRInaute impliqué
J'ai une explication, mais c'est pas trés clair ^^

En fait, il faut penser au code html que ca va te générer. On est d'accord, le code source de la page html ressemblera a ca :

<iframe id=fram1 name=fram1 src=frame.php>
<iframe id=fram1 name=fram1 src=frame.php>
<iframe id=fram1 name=fram1 src=frame.php>
<iframe id=fram3 name=fram3 src=frame.php>

Et en gros, ta variable de session, une fois ta page générée, vaut 4, puisque tu termine par $_session["variable"] = "valeur 4"; ... et évidemment, ce n'est que quand ta page est généré (coté serveur) que le navigateur peut la lire (coté client), et donc interpréter le code html, et donc afficher ta page, puis tes iframes

La solution serait d'utiliser des noms différents pour tes variables de sessions, ou bien de passer la variable en parametre (frame.php?variable=$_session["variable"])

Edit : Je me suis relu, j'ai remanié mes phrases, mais même moi j'ai du mal à comprendre ce que je dis :mrgreen:
Si t'a rien compris c'est pas grave je t'en veux pas, je vais aller dormir un peu et je reviens avec des idées plus claires ^^
 
WRInaute discret
merci NxtGen oui j ai compris
cela confirme bien ce que je pensais

1 la pages est générés sans les frames = "document maitre"
2 les frames sont chargé = "documents fils"

cette ordre de chargement entraine que les variables initiées
au niveau du "document maitre" auront pour valeur
au niveau des "document fils" la dernières initié au initié au niveau du "document maitre".

RRRRRRRRRRR
Je suis pas avancé ... (pas pour toi que je dit ca nxtgen)
Je ne souhaite pas de variable en url
donc il vas faloir que je trouve autre chose
une variable tableau peu être ...

Ce sujet est RESOLU
 
Discussions similaires
Haut