Aide - Recherche - Membres - Calendrier
Version complète : Recupération de variables PHP / AS3
Centre de Formation Flash - Forums Adobe Flash > Adobe Flash > Gestion de données dynamiques
melanom
Bonsoir tout le monde, icon_biggrin.gif
J'essaie de récupérer des variables depuis un fichier PHP. C'est une première pour moi en AS3

mon code :

Action Script


var retourPhp:URLVariables = new URLVariables();

var phpLoader:URLLoader = new URLLoader();
var urlRequest:URLRequest = new URLRequest("blablabla.com/test.php");
urlRequest.data = new URLVariables("mailValide="+mail);
urlRequest.method = URLRequestMethod.POST;
phpLoader.addEventListener(IOErrorEvent.IO_ERROR, erreurChargement);
phpLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, erreurChargement);
phpLoader.addEventListener(Event.COMPLETE, donnees);
phpLoader.load(urlRequest);

function donnees(e:Event) {
retourPhp=e.target.data;
erreurTxt.text=retourPhp;
}

function erreurChargement(e:Event) {
erreurTxt.text="PROBLEME DE CHARGEMENT";
}


Et le fichier PHP :

Action Script


<?
$mailBon="francis@francis.com";
$mailFlash=$_POST['mailValide'];
if($mailFlash==$mailBon){
$retour="ok";
echo $retour;
}else{
$retour="pas ok";
echo $retour;
echo $mailFlash;
echo $mailBon;
}

?>


Si je ne défini pas retourPhp comme URLVariables, j'arrive à récupérer les variables du fichier PHP, mais alors je n'y ai pas accès séparément (en faisant retourPhp.variable1, retourPhp.variable2... par exemple). J'obtiens une erreur Error #1034: Echec de la contrainte de type : conversion de "mes variables bout à bout" en flash.net.URLVariables impossible.

Le deuxième problème, est que je parviens à charger le fichier PHP en local, mais nada en ligne... L'inverse m'aurait moins étonné...


Merci à vous
melanom
Bon désolé, je ne peux pas éditer mon précédent message, mais j'ai oublié de préciser, si ça peut servir à quelque chose, que le fichier PHP est sur un serveru distant

Voilou voilou
melanom
Je pense que le problème vient du fichier php que j'ai un peu modifié, sans succès :

Action Script


<?
$recoit=$_POST['recoit'];
$leMail=$recoit;
$laVariable='leMail';
echo "&".$laVariable."=".utf8_encode(urlencode($leMail));
?>
melanom
Bon alors, je parviens maintenant à récupérer mes variables, mon problème venait en fait du formatage de mon fichier PHP...
Par contre je ne vois toujours pas d'où peut venir cette impossibilité d'accéder au fichier PHP quand je teste mon anim en ligne...
Une petite idée ?
monz
Citation (melanom @ Nov 24 2008, 12:13 AM) *
Bon alors, je parviens maintenant à récupérer mes variables, mon problème venait en fait du formatage de mon fichier PHP...
Par contre je ne vois toujours pas d'où peut venir cette impossibilité d'accéder au fichier PHP quand je teste mon anim en ligne...
Une petite idée ?

Salut,

Ton anim flash et ton fichier php sont-ils bien dans le même domaine ?
melanom
Oui, ils sont sur le même domaine, mais pas dans le même dossier, je vais faire un test dans ce sens là.
Sinon, est-ce que cela veut dire qu'il n'est pas possible à une animation de charger un fichier php placé sur un autre domaine ? Parce ce que c'est clairement à ça que je dois parvenir à terme...
Sinon, merci monz pour ta réponse, tu es décidément mon ange gardien gourou.gif
monz
Citation (melanom @ Nov 24 2008, 09:05 AM) *
Oui, ils sont sur le même domaine, mais pas dans le même dossier, je vais faire un test dans ce sens là.
Sinon, est-ce que cela veut dire qu'il n'est pas possible à une animation de charger un fichier php placé sur un autre domaine ? Parce ce que c'est clairement à ça que je dois parvenir à terme...
Sinon, merci monz pour ta réponse, tu es décidément mon ange gardien gourou.gif


Non, ce n'est pas impossible. Mais comme il y a des restrictions de sécurité, tu devras regarder du côté des fichiers de régulation (crossdomaine).
melanom
Bon, effectivement ça fonctionne si ils sont sur le même domaine, et pas forcément dans le même répertoire. Par contre, si dans le navigateur je tape monadresse.com et pas www.mon adresse.com ça ne fonctionne pas. Est-ce qu'il faut que je test systématiquement l'URL depuis le fichier flash et que je modifie l'adresse de chargement en fonction de ce paramètre là ?
Pour les fichiers de régulation, je vais regarder ça, merci pour l'info.
melanom
Bon ben j'ai placé un fichier crossdomain.xml sur le serveur et ça fonctionne nickel icon_biggrin.gif
Merci monz pour ton aide
Par contre en local, avec le fichier php sur localhost (http://localhost...) ça ne fonctionne pas... Mon fichier est bien chargé, mais le trace des variables renvoie systématiquement "undefined".
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2009 Invision Power Services, Inc.