Voici un petit tutoriel avec le fameux formulaire d’envoi de mail depuis flash.
Partie Flash
Pour ce formulaire, il faut créer 4 champs de texte (texte de saisie) destinés à recevoir les informations des visiteurs.
Les champs doivent impérativement être nommés (juste en-desssous du menu “texte de saisie”)
nom_txt
email_txt
sujet_txt
message_txt
On ajoutera aussi un champ de texte (texte dynamique) destiné à recevoir des messages d’erreur ou autres
resultat_txt
Vous créez ensuite un bouton nommé “envoi_btn”
Pour la suite, tout se passe dans un calque nommé “AS”, calque qui contiendra tout le code ActionScript de votre animation.
Voici le code inséré à l’image 1 de ce calque :
var objet_lv = new LoadVars();
resultat_txt.text = ""; // on efface le champ resultat_txt
function envoyer_mail() {
// on passe à l'objet LoadVars le contenu des différents champs de saisie attention : le nom des propriétés ajoutées à cet objet sera le nom de nos variables dans la partie php
objet_lv.nom = nom_txt.text;
objet_lv.email = email_txt.text;
objet_lv.sujet = sujet_txt.text;
objet_lv.msg = message_txt.text;
// recuperation des informations renvoyées par PHP
objet_lv.onLoad = function(succes) {
if (succes) {
resultat_txt.text = this.resultat; // resultat est le nom d'une variable renvoyée par php
} else {
resultat_txt.text = "erreur d'envoi de mail";
}
}
objet_lv.sendAndLoad("http://www.monsite.com/mail.php",
objet_lv, "POST");// requete vers la page php
}
// le code pour le bouton d'envoi
envoi_btn.onRelease = function() {
envoyer_mail();
}
stop();
Partie PHP
Voici le contenu du fichier mail.php appelé depuis Flash
<?php
// récupération des variables envoyées depuis Flash
$nom = $_POST['nom'];
$email = $_POST['email'];
$sujet = $_POST['sujet'];
$msg = $_POST['msg'];
// une fonction pour nettoyer les textes
function nettoyer($texte)
{
$texte = utf8_decode($texte); // Convertit une chaîne UTF-8 en ISO-8859-1
$texte = trim($texte); // supprime les espaces du début et de la fin
$texte = strip_tags($texte); // on supprime les tags html
$texte = nl2br($texte);// on tranforme les retours à la ligne en <br>
return $texte;
}
$sujet = nettoyer($sujet);
$msg = nettoyer($msg);
$headers = "From: $email" . "rn" .
"Reply-To: $email" . "rn" .
"X-Mailer: PHP/" . phpversion();
mail("
Cet e-mail est protégé contre les robots collecteurs de mails, votre navigateur doit accepter le Javascript pour le voir
", $sujet, $msg, $headers) ; // on renvoie la variable resultat au format utf8 pour Flash
echo utf8_encode("resultat=votre mail a bien été envoyé");
?>
Et voilà
Bien sûr, ce petit tutoriel ne demande qu’à être amélioré, par exemple on ne teste pas ici si le visiteur a rempli les différents champs ; on ne supprime pas non plus le texte saisi si le mail a bien été envoyé.
Merci pour ce tuto.
super merci beaucoup pour le tuto
je galère depuis deux heures pour trouver ce bout de code (la fonction nettoyer)
bonjour je suis actuellement en stage et on me demande d’envoyer un message en php sur un serveur pour que le client du serveur (pidgin) le recoivent et je ne sais pas comment faire car je suis novice dans ce domaine