Module Flash - Marche de maniere aleatoire - URGENT

Module Flash - Marche de maniere aleatoire - URGENT - Flash/ActionScript - Programmation

Marsh Posté le 11-07-2011 à 21:31:52    

Merci de m'aider - module flash (CS5, as3) / charger un script php et en récupérer le résultat--------ça marche de maniere aléatoire!
Essayez sur http://amiciebijoux.com/socialbuy  cliquez sur 'redeem coupon' en mettant un code lambda et ca 'freeze'
Je suis dans l'urgence ! Merci encore

Reply

Marsh Posté le 11-07-2011 à 21:31:52   

Reply

Marsh Posté le 12-07-2011 à 07:52:38    

Comment charges tu et récupère le résultat de http://www.amiciebijoux.com/socialbuy/promo.php actuellement ?


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 12-07-2011 à 09:43:08    

Voila le code, merci de prendre du temps pour m'aider :)
J'utilise donc la méthode load du urlLoader, et je n'ai rien inventé, je l'ai vue comme ça sur plusieurs tutoriels, pourtant ici ça ne fonctionne pas bien...
 
var enveloppe:URLLoader = new URLLoader;
 
function envoyerCode(event){
 validPromo.enabled = false;
 //Envoi script php pour base de données
 var variablesLocales:URLVariables = new URLVariables();
 var scriptPromo:URLRequest = new URLRequest("http://www.amiciebijoux.com/socialbuy/promo.php" );
 variablesLocales.codeEntree = promoinput.text;
 scriptPromo.data = variablesLocales;
 //Ecouteurs
 enveloppe.addEventListener(IOErrorEvent.IO_ERROR, indiquerErreur);
 enveloppe.addEventListener(ProgressEvent.PROGRESS, afficheProgres);
 enveloppe.addEventListener(Event.OPEN, afficheOpen);
 enveloppe.addEventListener(Event.COMPLETE, donneesChargees);
 //Chargement
 enveloppe.load(scriptPromo);
}
 
function afficheOpen(e:Event){
 trace("Fichier ouvert" );
}
function afficheProgres(e:ProgressEvent){
 
 trace("Bytes loaded: "+e.bytesLoaded+"/"+e.bytesTotal);
}
 
function indiquerErreur(erreur:Event):void
{
  trace('Error during the loading : ' + erreur);
}
 
 
var resultat;
function donneesChargees(e:Event):void
{
 resultat = (e.target as URLLoader).data;
 //tf.text = (e.target as URLLoader).data;
 if(resultat.indexOf("Code bon" )>=0){
  messagesecurite.visible = false;
  boutverif.gotoAndStop(2);
  MovieClip(parent).promo_activ = true;
  MovieClip(parent).code_promo = promoinput.text;
  if(MovieClip(parent).langue == "fr" ){
   messagepromo.text = "Vous avez activé un code promotionnel,\nveuillez passer votre commande.";
  }
  else{
   messagepromo.text = "You have just activated your Code,\nPlease place your Order.";
  }
  validPromo.visible = false;
  messagepromo.visible = true;
  promoinput.visible = false;
  promolabel.visible = false;
 }
 
 else if(resultat.indexOf("Code mauvais" )>=0){
  validPromo.enabled = true;
  messagesecurite.visible = true;
   
  if(MovieClip(parent).langue == "fr" ){
   messagesecurite.text = "Code incorrect";
  }
  else{
   messagesecurite.text = "Code not Accepted";
  }
 }
 else{
  validPromo.enabled = true;
  if(MovieClip(parent).langue == "fr" ){
   messagesecurite.text = "Erreur de connexion";
  }
  else{
   messagesecurite.text = "Connexion error";
  }
 }
}

Reply

Marsh Posté le 12-07-2011 à 21:45:12    

Si tu mets les www dans l'url de ton site, ça marche, et pour cause, ils sont présents dans l'urlRequest...
mets une URL relative à ta page => promo.php, comme ça tu n'auras plus de problème...
Comprends bien, ici le "www" est (pour vulgariser) un sous-domaine de amiciebijoux.com, d'où le fait que flash player le qualifie comme "domaine étranger" lorsque tu ne le mets pas et provoque une erreur de sécurité (violation sandbox)...


Message édité par abais le 12-07-2011 à 21:53:04

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 13-07-2011 à 11:03:12    

Et bien, je ne suis pas certain d'avoir tout à fait compris d'ou venait l'erreur, mais merci beaucoup, apparemment ça fonctionne.
Si j'avais voulu mettre l'url en absolu, qu'aurais-je du écrire alors? amiciebijoux.com/.../ ? Ou ce n'est pas possible?

Reply

Marsh Posté le 13-07-2011 à 16:48:22    

C'est possible mais absurde et peu évolutif...
Il faut dans ce cas autoriser l'accès inter domaines, avec le crossdomain et/ou le allowdomain...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed