Formulaire en flash et php

Résolu/Fermé
Good Canular Messages postés 4 Date d'inscription jeudi 29 mars 2007 Statut Membre Dernière intervention 26 septembre 2007 - 26 sept. 2007 à 19:44
 passienter - 7 sept. 2011 à 20:23
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 ...
A voir également:

44 réponses

goujou Messages postés 176 Date d'inscription samedi 9 avril 2005 Statut Membre Dernière intervention 22 août 2013 12
23 avril 2008 à 04:10
salut a tous,
je voudrais aussi inserer un formulaire en flash est ce que je doit suivre ce tuto?
2
Profil bloqué
13 mai 2008 à 20:12
Explicite un peu ton probléme ,pour qu'on puisse t'aider.
0
lalik77 Messages postés 7 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 25 juillet 2008 1
4 mars 2008 à 17:44
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?
0
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.
0
Profil bloqué
19 avril 2008 à 02:56
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!!
0
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
0
drizzt_do_urden Messages postés 40 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 28 juillet 2015 4
6 avril 2008 à 22:46
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.
++
0
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
0
malkie > guilty90
18 avril 2008 à 23:30
dans ton script php tu lis tes variables de cette façon :
$nom = strip_tags($_POST["nom"]);
0
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...
0
trambs Messages postés 7 Date d'inscription dimanche 18 mai 2008 Statut Membre Dernière intervention 20 mai 2008
20 mai 2008 à 13:42
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
trambs Messages postés 7 Date d'inscription dimanche 18 mai 2008 Statut Membre Dernière intervention 20 mai 2008
20 mai 2008 à 13:52

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

0
vincipop Messages postés 1 Date d'inscription samedi 7 juin 2008 Statut Membre Dernière intervention 7 juin 2008
7 juin 2008 à 10:54
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 ?
0
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
0
watyx Messages postés 18 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 13 novembre 2010 9
22 oct. 2008 à 09:18
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 !
0
watyx Messages postés 18 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 13 novembre 2010 9
24 oct. 2008 à 09:13
Bonjour, Personne peut m'aider ?
0
Bonjour, moi c'est pareil!!!
help please help...
Merci
0
watyx Messages postés 18 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 13 novembre 2010 9
27 oct. 2008 à 13:24
A l'aide :(
0
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>
0
watyx Messages postés 18 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 13 novembre 2010 9
28 oct. 2008 à 12:07
Merci beaucoup, mais j'ai toujours le meme pb :(
Pourrais tu me montrer aussi tes codes dans flash ?
En te remerciant !
0
<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.
0
watyx Messages postés 18 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 13 novembre 2010 9
6 nov. 2008 à 10:50
Bonjour, est-ce que quelqu'un peut m'aider ? J'ai essayé un tas de manip, mais toujours le même problème !

MERCI !!!!
0
RAD ZONE Messages postés 5224 Date d'inscription samedi 20 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 1 353
6 nov. 2008 à 11:01
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
0
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 !
0
RAD ZONE Messages postés 5224 Date d'inscription samedi 20 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 1 353
20 déc. 2008 à 18:41
SALUT

Ton probleme semble venir du PHP !!

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

RAD
0
Salut !

oui j'ai suivi ton tuto !!
0
RAD ZONE Messages postés 5224 Date d'inscription samedi 20 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 1 353
20 déc. 2008 à 18:56
Tu recois le mail , mais il est vide !! ?

0
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 :)
0
RAD ZONE Messages postés 5224 Date d'inscription samedi 20 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 1 353 > melri
20 déc. 2008 à 19:42
??????????

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 :-))
0
melri > RAD ZONE Messages postés 5224 Date d'inscription samedi 20 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024
20 déc. 2008 à 19:52
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 !!!
0
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é ...
0
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 :
0
RAD ZONE Messages postés 5224 Date d'inscription samedi 20 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 1 353
20 déc. 2008 à 19:11
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); 



0
# $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
0