Forums Développement Multimédia

Aller au contenu

Formulaire AS3 - PHP

CODE Actionscript

2 réponses à ce sujet

#1 Keysaw

    Ceinture Blanche

  • Members
  • Pip
  • 11 messages

Posté 31 January 2013 - 13:44 PM

Bonjour à tous !

Souhaitant créer sur mon site un formulaire de contact, j'ai pioché diverses informations à ce sujet sur Internet (principalement dans ce tutoriel), et j'ai bidouillé quelques trucs. Mais je suis bloqué à un certain moment... :sad:

Je vais donc vous montrer ce que j'ai fait, en espérant que vous pourrez m'indiquer les éventuelles erreurs que j'aurais commises.

La vérification du formulaire (à savoir si tous les champs sont bien remplis, et que l'adresse E-mail a une syntaxe valide) fonctionne plutôt bien, je ne vais donc pas revenir là-dessus.

En revanche, c'est lors de l'envoi que ça coince : au moment où l'on clique sur le bouton "envoyer" (avec tous les champs remplis correctement), rien ne se passe. Ni message d'erreur, ni de confirmation, et bien entendu aucun mail n'est envoyé.

Le problème c'est que je ne sais pas du tout où ça coince : est-ce mon code PHP qui ne va pas ? Est-ce que le chemin du fichier PHP est le bon ? Est-ce plutôt du coté de l'AS3 ?
A savoir que je possède un nom de domaine, et que je teste directement en ligne.

Je ne sais donc vraiment pas par quel bout prendre le problème...

Bien que mon code soit semblable à celui du tutoriel, je préfère le mettre quand même ici pour que vous ayez un bon aperçu :

  // Envoi du formulaire
  private function envoyerFormulaire():void
  {
   var requete:URLRequest = new URLRequest("data/php/mailService.php");
 
   //Variables qui seront envoyées vers la page PHP.
   var params:URLVariables = new URLVariables();
   params.prenomVisiteur = formPrenom.text;
   params.nomVisiteur = formNom.text;
   params.emailVisiteur = formEmail.text;
   params.messageVisiteur = formMessage.text;
 
   requete.method = URLRequestMethod.POST;  
   requete.data = params;
 
   var service:URLLoader = new URLLoader();
   service.dataFormat = URLLoaderDataFormat.VARIABLES;
   service.addEventListener(Event.COMPLETE, service_completeHandler);
 
   service.load(requete);
  }

  private function service_completeHandler(event:Event):void
  {
   var loader:URLLoader = event.target as URLLoader;
   var URLVars:URLVariables = new URLVariables(loader.data);
 
   trace("MESSAGE", URLVars);
 
   if(URLVars.sent == "OK")
   {
        statut_tlftext.text = "Votre message a été envoyé avec succès.";
   }
   else if(URLVars.sent == "ERREUR")
        statut_tlftext.text = "Votre message n'a pas pu être envoyé";
  }
 
D'après ce que je comprend, j'ai l'impression que la fonction "service_completeHandler" ne se lance pas, puisque je ne reçoit ni message de confirmation, ni message d'erreur ?

Bref, j'ai surement oublié ou mal compris quelque chose. Merci d'avance pour votre aide, je regrette de ne pas pouvoir vous aiguiller plus que ça. :?

#2 Galacta

    Etudiant Ingénieur

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 689 messages

Posté 31 January 2013 - 14:25 PM

Salut,

Comme ça dur de savoir ... Tu rentres dans ta fonction envoyerFormulaire() ? Mets un trace au tout début de la fonction, savoir si elle est bien appelée.

Essaye en mettant l'url absolue vers ton script ?
Word hard, play hard.

#3 Keysaw

    Ceinture Blanche

  • Members
  • Pip
  • 11 messages

Posté 31 January 2013 - 20:14 PM

C'est à n'y rien comprendre... Je viens de tester ça une nouvelle fois, et ça fonctionne parfaitement, même directement depuis Flash. :huh:

Pourtant je n'ai strictement rien touché depuis que j'ai posté le message... Enfin je ne vais pas me plaindre !

Je m'excuse donc pour ce post totalement inutile (j'avais pourtant fait pas mal d'essais avant de me décider à poster !).

Merci à toi en tout cas, sujet clos ! :cool:

Bonne soirée.



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)