|
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
|