Formulaire en flash et php

Résolu/Fermé
Signaler
Messages postés
4
Date d'inscription
jeudi 29 mars 2007
Statut
Membre
Dernière intervention
26 septembre 2007
-
 passienter -
Bonjour,
je vous explique mon probleme : je suis entrin de faire un site web en flash et je suis entrin d'installer un formulaire de contact j''ai trouvé un site qui en propose un, mais je n'arrive pas à le faire fonctioné corectement, l'animation flash marche corectement mais je ne recoi pas l'Email après vérification j'ai fais tous ce qui est demander, faut t'il un serveur Mail ? si c'est le cas ou en trouvé un et comment le configurer merci bocoup voici le code fourni par le site que j'ai trouvé :



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

44 réponses

Messages postés
176
Date d'inscription
samedi 9 avril 2005
Statut
Membre
Dernière intervention
22 août 2013
12
salut a tous,
je voudrais aussi inserer un formulaire en flash est ce que je doit suivre ce tuto?
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Profil bloqué
Explicite un peu ton probléme ,pour qu'on puisse t'aider.
Messages postés
7
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
25 juillet 2008
1
Moi tout fonctionne , mais j'ai un probleme de caracteres? Quand on m'envois avec des caracteres tel que é à ç ; je recois du n'importe quoi?
Pour le problème du départ :
tu dois récupérer les variables dans ton fichier php :
soit $_get, soit $_post, je le vois pas.
sinon c'est souvent un problème de serveur qui gère mal la fonction mail, regarde comment ton serveur le gère.
Pour le problème de caractères, dans ton fichier php, dans les metas du head, remplace ton jeu de caractères :
charset=iso-8859-1; le meilleur je de caractère pour la france à mon gout.
Profil bloqué
Salut pour régler le probléme de caractére faut uiliser la fonction "utf8_decode($variable)" en php.
j'ai eut ce probléme en insérant les données dans une base de données.
tu fais exemple:
$_POST['ma_variable']=utf8_decode($_POST['ma_variable'])

Essaye ça!!
effectivement, ca marche avec les $_POST, mais par contre, le transnfert de variable s'est fait avec le format du texte flash :s

<TEXTFORMAT LEADING=\"2\"><P ALIGN=\"LEFT\"><FONT FACE=\"Myriad Pro It\" SIZE=\"14\" COLOR=\"#333333\" LETTERSPACING=\"0\" KERNING=\"0\">La valeur de ma variable</FONT></P></TEXTFORMAT>

une idée pour retirer ca?? :s

merci
Messages postés
40
Date d'inscription
mardi 9 octobre 2007
Statut
Membre
Dernière intervention
28 juillet 2015
4
Salut,
y a beaucoup de choses, alors j ai pas tout relu.
mais si le probleme c est les \ et que tu veux faire un peu le ménage en php, tu peux faire un stripslashes de ta variable, avant de l afficher. je pense que ca devrait le faire.
++
Bonjour, j'ai vu que vous aviez poster exactement la meme erreur ( probleme que flash envoie les format plutot que ce qu'il a dedans ) et vu que depuis longtemps vous y avez pas repondu je pense donc que vous avez trouvez??
( j espere )

merci de me repondre
cordialement
> guilty90
dans ton script php tu lis tes variables de cette façon :
$nom = strip_tags($_POST["nom"]);
salut,
c'est parce que tu envoies mon_champ_texte.htmlText au lieu de mon_champ_texte.text
du coup il te sort le formatage du champ texte avec le texte au lieu du texte seul...
Messages postés
7
Date d'inscription
dimanche 18 mai 2008
Statut
Membre
Dernière intervention
20 mai 2008

bonjour,

j'ai un problème de caractère mais dans flash... je fais appelle au formulaire via un loadmovie dans un swf... ce qui marche parfaitement ( d'ailleurs merci pour ce tuto)

si je lis (une fois mis sur le serveur) le contact.swf en direct > aucun problème.

par contre, si je l'ouvre dans le site (donc, via le loadmovie), il ne veut pas faire les @ et . et me met systématiquement les à en : à la place.

le bouton envoyer ne fonctionne plus, aussi ???


Quelqu'un sait pourquoi ?


Merci d'avance

Trambs
Messages postés
7
Date d'inscription
dimanche 18 mai 2008
Statut
Membre
Dernière intervention
20 mai 2008


desolé je suis nouveau et j'avais pas compris que l'on pouvait modifier les message...

Oups... désolé


heuuu....

petit truc en plus... le btn envoyer ne fonctionne plus, non plus :(

encore merci

Messages postés
1
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
7 juin 2008

Bonjour,

Merci pour le code il marche impeccable avec une ou deux modifs !
j'ai une question sur la vérif mail :
comment la modifier pour utiliser une vérif sur un type de numéro exemple TG0F0002
obligation d'avoir TG au début suivi de 1 caractère puis F et enfin 4 caractères.
J'ai tout essayé j'y arrive jusqu'aux 4 caractères mais là si je n'en met que 2 ça passe !
Si quelqu'un a une idée ?
Salut,

J'ai un soucis, je suis en recherche d'un formulaire flash et php qui fonctionne et je galère, je me suis donc tourné vers ce script qui ne fonctionne pas chez moi.

L'un d'entre vous aurait-il la gentillesse de m'envoyer son script qui fonctione, j'ai vu qu'il y avait eu pas mal de corrections, mais je capte pas tout, ça fait un moment que j'ai pas fait de flash et suis nul en php.

Lors du test sur mon site en ligne, pas d'envoi de mail et pas de remise à zéro des champs de saisie dans le flash.

y a-t'il une histoire de placement du formulaire sur la scène principale ou dans un movie clip qui pourrait empecher de faire fonctionner le tout , ou bien...

Sinon, comment verifie t'on la fonction mail du serveur sur lequel est hebergé le site ?

Merci d'avance à tous, ça fait 3 jours que je galère
Messages postés
18
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
13 novembre 2010
9
Bonjour, j'ai fait le test, et je reçois un mail du type : <TEXTFORMAT LEADING=\"2\"><P ALIGN=\"LEFT\"><FONT FACE=\"Georgia\" SIZE=\"20\" COLOR=\"#000000\" LETTERSPACING=\"0\" KERNING=\"0\">essaiiiii</FONT></P></TEXTFORMAT>.

Je n'arrive pas à résoudre ce problème, je ne vois pas comment placer les $_post ou $_get.
Je vous serait bien reconnaissant de me filer un ptit coup de main ;)

Voici mon send.php :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>

<body>
<?php
mail("mail@mail.com","$sujet","$msg","From : $mail\n");
?>



</body>
</html>

Merci à vous !
Messages postés
18
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
13 novembre 2010
9
Bonjour, Personne peut m'aider ?
Bonjour, moi c'est pareil!!!
help please help...
Merci
Messages postés
18
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
13 novembre 2010
9
A l'aide :(
Bonjour,
Moi j ai mis ca et ca marche maintenant
Peux etre est ce le /> apres charset que tu as mis, je suis debutant aussi. et j espere que ca t aideras

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
...
?>
</body>
</html>
Messages postés
18
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
13 novembre 2010
9
Merci beaucoup, mais j'ai toujours le meme pb :(
Pourrais tu me montrer aussi tes codes dans flash ?
En te remerciant !
<TEXTFORMAT LEADING=\"2\"><P ALIGN=\"LEFT\"><FONT FACE=\"Georgia\" SIZE=\"20\" COLOR=\"#000000\" LETTERSPACING=\"0\" KERNING=\"0\">essaiiiii</FONT></P></TEXTFORMAT>.
Si tu as ce genre la , le probleme vient pas de l action script mais de php.
Messages postés
18
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
13 novembre 2010
9
Bonjour, est-ce que quelqu'un peut m'aider ? J'ai essayé un tas de manip, mais toujours le même problème !

MERCI !!!!
Messages postés
5205
Date d'inscription
samedi 20 janvier 2007
Statut
Contributeur
Dernière intervention
19 avril 2020
1 342
SALUT

Tu veux envoyer un mail par php avec une interphase flash !!??

si c est cela ?? j ai mis un exemple + un tuto et le php pour le faire !!

Sur Un de mes Sites tu as le dossier formulaire_flash-php

RAD
Salut , je viens de metre sur mon site le formulaire que j'ai créer avec flash , mais lorsque je recois le email, je n'ai pas le message dedans ....en faite il n'y a rien ...
est-ce que tu peux m'aider ??

merci !
Messages postés
5205
Date d'inscription
samedi 20 janvier 2007
Statut
Contributeur
Dernière intervention
19 avril 2020
1 342
SALUT

Ton probleme semble venir du PHP !!

mais tu as suivis mon tuto ??? ou c est un autre script

RAD
Salut !

oui j'ai suivi ton tuto !!
Messages postés
5205
Date d'inscription
samedi 20 janvier 2007
Statut
Contributeur
Dernière intervention
19 avril 2020
1 342
Tu recois le mail , mais il est vide !! ?

je suis vraiment désolé je ne sais pas si c'est moi qui est vraiment conne de ne pas comprendre, mais ca ne fonctionne toujours pas ...

voila mon code dans php :

<html>
<head>
<title>
</title>
</head>
<body>
<?php
mail("mon email","$sujet","$msg","$mail\n");

$to = "mon email";
$sujet = decoder($sujet);
$expediteur = decoder($expediteur);
$messagehtml = decoder($messageHtml);
$messageTexte = utf8_decode($messageTexte);
?>
</body>
</html>


je dois forcément faire quelque chose de pas correcte !!!
désolé encore pour mon incompréhension :)
Messages postés
5205
Date d'inscription
samedi 20 janvier 2007
Statut
Contributeur
Dernière intervention
19 avril 2020
1 342 > melri
??????????

mais il te faut le PHP COMPLET
  <?php
function decoder($texte){
        $texte = utf8_decode($texte); // converti en iso-8859-1
        $texte = stripslashes($texte); // élimine les anti-slashs d'échappement
        $texte = nl2br($texte); // converti les retours  en <br />
        $texte = trim($texte); // élimine les '\n', '\r', '\t' etc
        return $texte;
}
 
$erreurPHP="";

/* Paragraphe à decommenter pour tester le script php seul, sans le fla
$_POST['sujet'] = 'formulaire Test';
$_POST['messageHtml'] = '<html><body>Salut<br /> mon cher<br /><br />Bye</body></html>';
$_POST['messageText'] = "Salut  mon cher  Bye";
$_POST['expediteur'] = "expediteur@fai.fr";
$_POST['mailReponse'] = "expediteur@fai.fr";
*/

if(isset($_POST['sujet']))$sujet = $_POST['sujet'];
else $erreurPHP .= "Variable 'sujet' non transmise\n";
 
if(isset($_POST['messageHtml']))$messageHtml = $_POST['messageHtml'];
else $erreurPHP .= "Variable 'message' non transmise\n";

if(isset($_POST['messageText']))$messageTexte = $_POST['messageText'];
else $erreurPHP .= "Variable 'message' non transmise\n";
 
if(isset($_POST['expediteur']))$expediteur = $_POST['expediteur'];
else $erreurPHP .= "Variable 'expediteur' non transmise\n";
 
if(isset($_POST['mailReponse']))$mailReponse = $_POST['mailReponse'];
else $erreurPHP .= "Variable 'mailReponse' non transmise\n";
 
if($erreurPHP != "") echo utf8_encode("erreurPHP=".$erreurPHP);
else
{
	$to = "TON MAIL";
	$sujet = decoder($sujet);
	$expediteur = decoder($expediteur);
	$messagehtml = decoder($messageHtml);
	$messageTexte = utf8_decode($messageTexte);
	
	 //-----------------------------------------------
     //GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML
     //-----------------------------------------------

     $frontiere = '-----=' . md5(uniqid(rand()));

     //-----------------------------------------------
     //HEADERS DU MAIL
     //-----------------------------------------------

     $headers = 'From: '.$expediteur.' <'.$mailReponse.'>'."\n";
     $headers .= 'Return-Path: <'.$mailReponse.'>'."\n";
     $headers .= 'MIME-Version: 1.0'."\n";
     $headers .= 'Content-Type: multipart/alternative; boundary="'.$frontiere.'"'."\n";
	 $headers .= 'Content-Transfer-Encoding: 8bit';

     //-----------------------------------------------
     //MESSAGE TEXTE
     //-----------------------------------------------
     $message = "This is a multi-part message in MIME format\n\n";

     $message = "--$frontiere\n";
     $message .= "Content-Type: text/plain; charset=UTF-8\n";
     $message .= "Content-Transfer-Encoding: 8bit\n\n";
     $message .= $messageTexte."\n\n";

     
	 //-----------------------------------------------
     //MESSAGE HTML
     //-----------------------------------------------
     $message .= "--$frontiere\n";
     $message .= "Content-Type: text/html; charset=UTF-8\n";
     $message .= "Content-Transfer-Encoding: 8bit\n\n";
     $message .= $messageHtml."\n\n";

     $message .= "--$frontiere--\n"; 

	$mail_OK = mail($to, $sujet, $message, $headers) ;
	
 
	if (!$mail_OK)
	{
		$erreurPHP .= "Problème lors de l'envoi du mail";
		
	}
	echo utf8_encode("erreurPHP=".$erreurPHP);
}
?>
 


tu le nome
envoyer_mail.php tu le met dans un dossier appele php

et dans le code action script de ton swf tu met
envoyeur.sendAndLoad("php/envoyer_mail.php", receveur, "POST");


et c est tout :-))
>
Messages postés
5205
Date d'inscription
samedi 20 janvier 2007
Statut
Contributeur
Dernière intervention
19 avril 2020

merci pour ton aide ...c'est plus compliqué que je pensais !!!

je commence à avoir mal à la tete alors je vais regader ca plus tard !!

merci encore c'est très apprécier !!!
je viens de réaliser que non effectivement ce n'est pas ton tuto que j'ai utilisé !!! hahaha je suis vraiment dans la lune ...j'ai pris celui de good canular ...

vraiment désolé ...
oui je recois le email , mais le sujet yen a pas et il n'y a pas de message non plus ...

et en même temps le "From : $mail\n" , c'est ou que je dois mettre le nom ...a la place du from ??? ou apres les :
Messages postés
5205
Date d'inscription
samedi 20 janvier 2007
Statut
Contributeur
Dernière intervention
19 avril 2020
1 342
NON ;-))

de base dans le PHP tu n a qu une seule chose a changer !!! c est ton email
#   $to = "TON EMAIL@";  
#     $sujet = decoder($sujet);  
#     $expediteur = decoder($expediteur);  
#     $messagehtml = decoder($messageHtml);  
#     $messageTexte = utf8_decode($messageTexte); 



# $to = "TON EMAIL@";
# $sujet = decoder($sujet);
# $expediteur = decoder($expediteur);
# $messagehtml = decoder($messageHtml);
# $messageTexte = utf8_decode($messageTexte);

ok la je suis toute meler !!! hihihi

le code ci-haut c'est tu pour mon problème de message vide ? ou pour le from ??

parce que ce code la ne fais pas parti de ton tuto