Une page Contact avec Flash et PHP

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

3 commentaires

Laisser un commentaire