RECHERCHER

ANNUAIRES

 
 TUTORIELS 
Flash et PHP: utilisation de mail()

Page 1 | 2

Construction d'une petite application Flash faisant appel à une fonction PHP.
 (8 octobre 2002 )
 

Abordons les accords possibles entre Flash et les fonctions PHP, à l'aide d'une petite application servant à envoyer un email à une adresse donnée. Cette application fera appel à la fonction standard mail(), présente sur la plupart des serveurs (sauf Free et Online, où elle est remplacée par leur propre fonction email()).

Flash sait très simple appeller et envoyer des données à PHP, et cela avec seulement l'utilisation de la fonction loadVariablesNum() que nous avons vu précédemment. Cette application nous permettra en plus certaines fonctions de traitement des chaînes de caractères et des champs texte.

Commençont par la mise en place de l'interface. Renommez le calque principal en "champs", insérez deux nouveaux calques au-dessus du premier et nommez-les "boutons" et "scripts". Glissez cinq champs texte sur le calque "champs", qui correspondront au champ Auteur, E-Mail, Sujet, Message et Status. Assignez-leurs respectivement les variables mailAuteur, mailMail, mailSujet, mailMsg et mailStatus. Mettez tous le champs en "Texte de saisie" (sauf Status qui sera en "Texte dynamique"), et mettez le champ Message en mode Multiligne.
Créez ensuite deux boutons "Envoyer" et "Effacer", que vous poserez sur le calque bouton. La création de bouton à été abordée dans notre précédent article.
Notre application est simple: elle n'appelle que quelques-unes des fonctions
de mail(). Libre à vous de l'étendre à votre guise, mais faites attention de ne jamais laisser l'utilisateur chosir à qui sera envoyé le mail: ce genre de anonymous mailer ferait la joie de plus d'un plaisantin.

Une fois votre interface créée, entrez le code suivant:

(frame 1 du calque scripts)
function effacer() {
  // vider tous les champs.
  mailAuteur = "";
  mailMail = "";
  mailSujet = "";
  mailMsg = "";
  mailStatus = "Veuillez remplir tous les champs.";
}

function verifMail() {
  // fonction classique de vérification de l'email.
  if (mailMail.length >= 7) {
    if (mailMail.indexOf("@") > 0) {
      if ((mailMail.indexOf("@") + 2) < mailMail.lastIndexOf(".")) {
        if (mailMail.lastIndexOf(".") < (mailMail.length - 2)) {
          return (true);
        }
      }
    }
  }
  return (false);
}

function verifMsg() {
  // on stocke le message à tester afin de ne pas
  // altérer l'affichage pendant le test.
  msgCheck = mailMsg;
  // vérification et modification des retour de ligne
  for (i=0; i<mailMsg.length; i++) {
    if (msgCheck.substring(i, 2) == "\r") {
      msgCheck = msgCheck.substring(1, i-2) + "\n"
        + (msgCheck.substring(i+2, msgCheck.length - i + 2));
    }
  }
  mailMsg = msgCheck;
}

function envoyer() {
  // fonction générale de vérification et d'envoi du mail.
  if ((mailAuteur == "") or (mailSujet == "") or (mailMsg == "")) {
    mailStatus = "Tous les champs ne sont pas remplis...";
  } else {
    if (verifMail()) {
      verifMsg();
      mailStatus = "Le message est en cours d'envoi...";
      loadVariablesNum("mail.php", 0, "POST");
      mailStatus = "Le message a été envoyé au serveur.";
    } else {
      mailStatus = "Entrez un email valide";
    }
  }
}

// vider les champs au démarrage.
effacer();

(sur l'occurence du bouton Envoyer)
on (release) {
_root.envoyer();
}

(sur l'occurence du bouton Effacer)
on (release) {
_root.effacer();
}

Cela fait beaucoup de code, et beaucoup de fonctions sont abordées. Ceux d'entre vous ont pu reconnaitre certaines fonctions de traitement des chaînes comme length() et substring(). Nous allons décomposer ce code dans la page suivante...

Page 1 | 2

 
[ Xavier Borderie,JDNet
 
Accueil | Haut de page
 
 

 

 
 
Nos autres sites Société | Mentions légales | Contacts | Publicité | PA Emploi | Presse | Recrutement | Tous nos sites | Données personnelles
© Benchmark Group, 69/71 avenue Pierre Grenier. 92517 Boulogne Billancourt Cedex