8795 sujets

Développement web côté serveur, CMS

Bonjour;

Je suis nouveau venu ici. Donc pour commencer, Bonjour à toutes et à tous. Mon nom est Neum. J'ai besoin d'aide... lol ; quelle nouvelle pour un inscrit sur un forum, hum ?... Voilà mon problème et donc ma question :

J'ai un bouton Flash dans une animation Flash (actionScript 3), qui une fois cliqué envoit sur une page php (version 4 compatible 5). Mais l'URL comporte une variable : de cette façon, je pars de la même page PHP (qui est elle-même appelée dynamiquement pour se remplir de données spécifiques, dont l'animation Flash avec son bouton) et j'appelle toujours la même page de destination, qui elle aussi se remplit des données différentes en fonction du bouton cliqué :

mapage.php?recordID=1
mapage.php?recordID=2
mapage.php?recordID=3 etc, etc, etc...

J'ai donc ce code pour enregistrer et récupérér la variable dans le code as3 du bouton flash :


function allerVers (pEvt:Event) : void {
var request:URLRequest = new URLRequest("mapage.php");
request.method = URLRequestMethod.POST;
request.data = new URLVariables();
request.data.recordID=1; - -> Ici donc, en fonction des animations, l'ID change : 2, 3, 4, etc...       
navigateToURL(request,"_self");
}
bt.addEventListener(MouseEvent.CLICK, allerVers);

Et dans la page PHP :
$recordID=$_POST['recordID'];
echo $recordID;



Mais... ça ne marche absolument pas... POURQUOI ?? J'entends par là que le bouton m'envoit bien sur la page mapage.php MAIS n'additionne pas dans l'URL la variable recordID... Or comme c'est grâce à cela que la page se remplit de données, ça ne sert strictement à rien...

HELP...

Je demande d'autant plus pourquoi ça ne marche pas, parce que, si j'écris directement l'URL avec sa variable dans la ligne de code URL Request = NewURLRequest, comme suit :


var request:URLRequest = new URLRequest("mapage.php?recordID=1");


...ça fonctionne... Or d'après tout ce que j'ai lu, ça ne devrait pas et ce n'est pas ainsi qu'il faut faire...

Quelqu'un aurait-il la solution valide s'il vous plaît, que je comprenne enfin...

Un grand Merci à toutes celles et tous ceux qui voudront bien m'aider. Cordialement,
eNeum
Modifié par Neum (18 Apr 2010 - 12:46)
Salut,

je te réponds mais je suis plus au point PHP que action script et là si je comprends bien c'est de ça dont on parle.

Neum a écrit :

var request:URLRequest = new URLRequest("mapage.php?recordID=1");

...ça fonctionne... Or d'après tout ce que j'ai lu, ça ne devrait pas et ce n'est pas ainsi qu'il faut faire...


bien sur que ça fonctionne. et je vois pas le pb sauf que là tu envoies une variable en GET.

si c'est pour une selection de la page à affiché le POST ne se justifie pas.
tu n'es pas en train d'envoyer une donnée confidentielle.

dans ce cas bien des sites ne se gêne pas d'utiliser GET. même si en général il font de la ré-écriture d'URL par-dessus... mais ça n'est pas capital si tu n'as qu'un seul argument et pas bcp de valeur. sinon c'est une optimisation référencement.

sinon suite a un autre post d'un flasheur auquel j'avais répondu.
http://forum.alsacreations.com/topic.php?fid=20&tid=47832&s=flash+php

quelques pistes qui semblent lui avoir réussi. notamment d'envoyer des variables POST au PHP via la fonction sendAndLoad.

Bon courage
Modifié par CPascal (18 Apr 2010 - 13:07)
Bonjour CPascal,

et merci de me répondre 1) si vite, qui plus est un Dimanche après-midi ensoleillé, et 2) aussi précisément et clairement.

Pour rebondir rapidement et même pour visiblement clore ce topic, tu me vois ici, suite à la lecture de ton post, aussi surpris que forcément satisfait, de voir sinon d'apprendre que le fait d'inscrire l'URL complète (c'est à dire la page php + sa variable recordID) directement et simplement dans l'URLRequest, est correct et suffit.
Tout ce que j'avais lu et entendu sur des forums à ce sujet me certifiait que je ne pouvais pas coder de la sorte et que de toutes façons ça ne fonctionnerait pas...

Très heureux de voir donc que si, et qu'il n'y a même aucun problème.

Quant à la méthode "post" ou "get",ça n'a évidemment pas d'importance, puisque de toutes façons, l'URL apparaît dans la barre d'adresse. Il faudrait effectivement faire derrière de l'URL-Rewriting.

Bref.

Donc, puisque le resquest.data ne m'est pas utile, voici le code final que j'utilise : c'est juste une fonction as3 pour déclencher une action à partir d'un bouton, en passant par navigateToURL et un écouteur addEventListener sur le bouton dont l'occurrence est "bt" :


function onClic(e:MouseEvent) : void
{
navigateToURL ( new URLRequest( "mapage.php?recordID=1" ), "_self" );
}
bt.addEventListener(MouseEvent.CLICK, onClic);


Et ça fonctionne à 100%.

En espérant donc que cela pourra aider quelqu'un d'autre. Encore Merci CPascal et à une prochaine fois.
Bien cordialement,
Neum
Modifié par Neum (18 Apr 2010 - 14:54)