Plins
Membre récent

Hors-Ligne
Messages: 2

Je suis un lama!
|
Bonjour à tous, grâce au tutoriel trouvé quelques jours plus tôt sur ces pages j'ai pu mettre en place un formulaire de contact flash + php. Le formulaire fonctionne sans problème mais à la r"ception du mail, je reçois un charabia de textform assez embetant. Par exemple lorsque j'envoie a partir du fichier flash un mail, je reçois ceci :
"<TEXTFORMAT LEADING=\"2\"><P ALIGN=\"LEFT\"><FONT FACE=\"Arial\" SIZE=\"12\" COLOR=\"#000000\" LETTERSPACING=\"0\" KERNING=\"0\">ceci est un test</FONT></P></TEXTFORMAT>"
Le texte est bien la, seulement noyé dans des lignes de KERGING et TEXTFORMAT c'est beaucoup moins lisible.. Ya t-il un moyen de ne pas avoir toutes ces balises et seulement le texte du mail ?
J'ai suivit à la lettre le tutoriel suivant :
PS : avant lecture, j'ai bien conscience qu'il y a bien plus de Flash que de PHP mais je suppose que le soucis viens plus du PHP que de Flash. Je suis débutant en PHP, je ne connais presque pas ce language. merci d'avance.
" Dans ce tutorial nous allons nous pencher sur la création d'un formulaire de contact très utile dans un site en flash. Cependant, il n'existe aucune fonction prédéfinie dans Flash pour envoyer des mails. Une des solutions pourrait donc être de rediriger le visiteur vers un formulaire html, mais cela pourrait nuire à l'homogénéité du site. Ainsi, nous allons plutôt nous tourner vers l'interaction entre Flash et php.
Tout d'abord, créez un nouveau fichier et placez-y deux calques, nommez le premier "formulaire" et le second "controle".
Sur le calque "formulaire" créez les champs de textes de saisie "mail", "sujet", "message", un bouton qui nous permettra d'envoyer le mail et un autre permettant de vider les champs, et enfin un champ de texte dynamique sans bordures.
Paramétrez les champs de texte de saisie de la façon suivante :
Veillez à cocher les cases "sélectionnable" et "bordure". Pour le champ "message" choisissez l'option "multiligne". Dans le champs "var" entrez un nom de variable différent pour chaque champs, ici : "mail", "sujet" et "msg".
Ces variables vont correspondre à des variable php que l'on passera en paramètres de la fonction mail().
Donnez également un nom de variable à votre champs de texte dynamique, par exemple : "error".
Sur le calque "controle", placez le script suivant sur la première image du scénario :
// On initialise les variables à 0 mail = ""; sujet = ""; msg = ""; error = "";
// On vérifie le format du mail // Il faut au moins un caractère avant le @ suivi de 2 caractère minimum // Puis un point et encore 2 caractère au moins function verifMail() { if (mail.indexOf("@")>0) { if ((mail.indexOf("@")+2)<mail.lastIndexOf(".")) { if (mail.lastIndexOf(".")<(mail.length-2)) { return true; } } } else { return false; } }
// On vérifie que les champs ne sont pas vides function verifChamps() { if ((mail != "") && (sujet != "") && (msg != "")) { return true; } else { return false; } }
// On affiche les message d'erreur lorsque l'on clic sur le bouton envoi // Si tout est bon on envoi le mail function envoyer() { if ((verifChamps() == true) && (verifMail() == true)) { error = "Votre mail a été envoyé avec succès."; loadVariablesNum("send.php", 0, "POST"); } if ((verifChamps() == false) && (verifMail() == true)) { error = "Veuillez renseigner tous les champs."; } if ((verifChamps() == true) && (verifMail() == false)) { error = "Le format de l'adresse est incorrect."; } if ((verifChamps() == false) && (verifMail() == false)) { error = "Veuillez renseigner tous les champs."; } }
Sur le bouton "envoyer" placez :
// On appel la fonction envoyer() définie dans le calque control on (release) { _root.envoyer(); }
Et sur le bouton "reset" :
// On réinitialise toutes les variables texte à 0 on (release) { var mail = ""; var sujet = ""; var msg = ""; var error = ""; }
Voilà pour la partie Flash, passons maintenant à la partie php.
Créez une page send.php et mettez y le code suivant :
<?php mail("Votre_adresse_email","$sujet","$msg","From : $mail\n"); ?>
Quelques explications :
On utilise la fonction mail() de php pour envoyer un mail à l'adresse spécifiée, les différents champs seront remplis par le texte stocké dans les différentes variables.
Le paramètre "From : $mail\n" permet d'ajouter un entête au mail contenant l'adresse de l'expéditeur, sans cet entête vous récupèreriez l'adresse du serveur mail.
Placez maintenant votre fichier swf final ainsi que le fichier send.php dans le même répertoire chez votre hébergeur. Les différentes fonctions de vérification peuvent être testées sur votre machine, par contre la fonction mail ne fonctionnera qu'une fois l'ensemble uploadé sur un serveur web apache ... à moi que vous ne possédiez chez vous un serveur mail.
Voilà, tout devrait fonctionner ..."[i][/i] |