Ce que je ne comprends pas, si je mets laVar.id = 12 dans Flash; je ne peux pas reçevoir la valeur id depuis PHP?![]()
Merci
Ce que je ne comprends pas, si je mets laVar.id = 12 dans Flash; je ne peux pas reçevoir la valeur id depuis PHP?![]()
Merci
si tu mets laVar.id = 12 puis que tu fais sendAndLoad, si ton script php renvoie un nouvel id dans la function onLoad tu peux la recuperer laVar.id si tu utilises le meme LoadVars pour l'envoi et la reception.
J'ai repris ton code:
Dans Flash :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 var lv_reception:LoadVars = new LoadVars(); lv_reception.onLoad = function(success:Boolean) { if (success) { //code a mettre par rapport aux variables receptionnees _root.id2.text = lv_reception.id; // afficher l'ID } else { trace("erreur chargement"); _root.id2.text = "erreur chargement"; } }; var lv_envoi:LoadVars = new LoadVars(); lv_envoi.id = 52; //ajout a lv_envoi de la variable id de valeur 52 lv_envoi.sendAndLoad("index.php", lv_reception, "GET");Dans nom navigateur avec index.php?id=10, flash affiche 52 et non 10.Error opening URL![]()
Quel est le code de ton script php et de ton fichier .fla?
Voilà
Code Flash
Code PHP
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 var lv_reception:LoadVars = new LoadVars(); lv_reception.onLoad = function(success:Boolean) { if (success) { //code a mettre par rapport aux variables receptionnees _root.id2.text = lv_reception.id; } else { trace("erreur chargement"); _root.id2.text = "erreur chargement"; } }; var lv_envoi:LoadVars = new LoadVars(); lv_envoi.id = 52; //ajout a lv_envoi de la variable id de valeur 52 lv_envoi.sendAndLoad("index.php", lv_reception, "GET");
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php $id = $_GET["id"]; echo "id=".$id; ?> <body bgcolor="#dcdcdc"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.#version=5,0,30,0" height="400" width="550"> <param name="movie" value="test.swf"> <param name="quality" value="best"> <param name="play" value="true"> <embed height="400" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" src="test.swf" type="application/x-shockwave-flash" width="550" quality="best" play="true"> </object> </body>
Alors :
Dans Flash : Error opening URL -> verifier l'url du fichier.
Dans nom navigateur avec index.php?id=10, flash affiche 52 et non 10 -> si tu lances le script par ton navigateur il ne passe aucunement par flash et donc affiche 10. Par contre en lancant flash celui ci affiche 52 car avec :
lv_envoi.id = 52; //ajout a lv_envoi de la variable id de valeur 52
lv_envoi.sendAndLoad("index.php", lv_reception, "GET");
tu dis de faire "index.php?id=52".
En fait pour appeler index.php?id=x, il faut que dans ton code flash tu lui dise que lv_envoi.id = x.
le Trace:
Error opening URL "http://localhost/test/test.php?id=52"
erreur chargement
Hum comment ca se fait qu'il essaie d'ouvrir test.php alors que ton script est cense s'appele index.php?
ça marches sauf un dernier problème avec PHP:
Si j'ai ce code
rien dans Flash
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?php $id = $_GET["id"]; echo "id=".$id; ?>
mais avec ce code:
j'ai bien 10 qui s'affiche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?php $id = $_GET["id"]; echo "id=".$id; echo "&id=10"; ?>
![]()
Hum il affiche 10 car tu lui dis explicitement que id=10 (echo "&id=10").
Par contre que le premier ne marche pas signifie qu'il ne recoit rien en GET peut etre parce que dans le GET faut mettre la variable entre guillemets simples (je sais pas si les doubles marchent). Essaie et dis moi ce que ca donne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?php $id = $_GET['id']; echo "id=".$id; ?>
Bon en fait les guillemets doubles marchent aussi donc ce n'est pas ca ...
Peux tu me dire en fait pourquoi avec:
tu dois avoir 10 qui s'affiche? quel est ton code flash qui te permet de dire que 10 doit s'affcher?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?php $id = $_GET["id"]; echo "id=".$id; ?>
Pour le code:
il doit s'afficher dans Flash la valeur qui vient de l'URL: index.php?id=20
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?php $id = $_GET["id"]; echo "id=".$id; ?>
id=20 (affichage dans la page php)
et après dans Flash affichage de 20
Mais est ce que tu dis bien dans ton fichier flash que l'id que tu veux c'est 20?
Non, je veux pouvoir definir la valeur de l'ID avec index.php?id=20 ou autre...
Donc si tu veux pouvoir specifier l'id avec l'index.php il te suffit dans ton objet LoadVars d'envoi de modifier la valeur de l'id pour que ton script php recoit le bon id.
Mais je veux faire le contraire c'est le script Flash qui doit recevoir id, c'est pour ça que je comprends pas pourquoi dans nom index.php
si j'ai
Flash affiche 10
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <?php echo "id=10"; ?>
si j'ai
Flash affiche 100 etc...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <?php echo "id=100"; ?>
Mais avec
ou je défini index.php?id=100
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?php $id = $_GET["id"]; echo "id=".$id; ?>
rien![]()
Bonjour!
J'ai trouvé vos réponses très utile (4 ans après!!).
Je viens vers toi car j ai un petit souci, dont la discussion ne traite pas.
Tout marche correctement, flash vient chercher la variable php pour l'affiche, sauf qu'au lieu d'afficher le texte proprement dit, cela m'affiche ceci :
onLoad=%5Btype%20Function%5D
Que dois je faire pour corriger cela?
Mon code flash :
Mon code php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 var montexte = new LoadVars(); montexte.onLoad = function(success:Boolean) { if (success) { _root.txt.text = this.texte; } else{ trace("Erruer"); } }; montexte.load("texte.php", this, "GET");
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?php $texte = 53; echo "variablephp=".$texte; ?>
Partager