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

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:22
le code ci-haut c'est tu pour mon problème de message vide ? ou pour le from ??

loool :-)) pour les 2 !!

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

et si ce code fait partis du tuto !!!!!! c est une partie du code PHP sur la page formulaire_flash.html !!!! sauf que j ai mis TON EMAIL@

a la place de aideccm@hotmail.fr ;-))
0
watyx Messages postés 18 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 13 novembre 2010 9
3 janv. 2009 à 02:31
Aidez moi je vous en suppli !!!
Mon code 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; charset=utf-8">
<title>Document sans titre</title>
</head>

<body><?php
mail("monmail","$sujet","$msg","From : $mail\n");
?>
</body>
</html>


Mon code controle (flash) :

// 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.";
}
}


Mon code bouton envoyer :


// On appel la fonction envoyer() définie dans le calque control
on (release) {
_root.envoyer();
}


Je reçois ça :

<TEXTFORMAT LEADING=\"2\"><P ALIGN=\"LEFT\"><FONT FACE=\"Eurostile\" SIZE=\"18\" COLOR=\"#0000FF\" LETTERSPACING=\"0\" KERNING=\"0\">fzefaffzefzezfe</FONT></P></TEXTFORMAT>

Le from ne fonctionne pas non pluis, et l'objet est identique au message.

Que manque t'il dans mon code pour que cela fonctionne ??

Merci de m'aider.

cdt
--
Il faut gratter les verbes, pour leur faire sonner l'accord plus que parfait ;)
0
RAD ZONE Messages postés 5224 Date d'inscription samedi 20 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 1 353
3 janv. 2009 à 10:33
ARRETE DE PRENDRE L EXEMPLE DONNE PAR GOODCANULAR IL NE FONCTIONNE PAS BIEN !!!!!!!!

VAS VOIR SUR UN DE MES SITES !http://rad2.free.fr/ tu vas voir formulaire_flash-php et tu suis les instructions

tu as le php complet aussi !!

RAD
0
watyx Messages postés 18 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 13 novembre 2010 9
4 janv. 2009 à 02:15
STP j'ai juste besoin de savoir ce qu'il manque à mon code pour que cela fonctionne !

J'ai pas beaucoup de temps, j'ai un site à mettre en ligne et c'est urgent !

Ou alors, peux tu m'envoyer un zip avec le formulaire complet et fonctionnel (avec le php) que j'aurai juste à modifier à mon gout ?

en te remerciant !

Mon mail, c'est waty@watyx.com.
0
RAD ZONE Messages postés 5224 Date d'inscription samedi 20 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 1 353
4 janv. 2009 à 19:03
Si tu suis mon tuto , en 5 mn tu cree le swf et tu as juste a copier coler le php en ne changeant juste que ton email !! toute les modifs pour le formulaire ce font dans le flash et pas dans le php !!!!
0

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

Posez votre question
espoir63 Messages postés 11 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 28 avril 2009
25 janv. 2009 à 14:49
Bonjour Canular,

j'ai suivi ton tuto à la lettre sur les formulaires . C'est extra : je reçois bien ce que j'envoisl. Sauf que j'ai avec, tout le formatage :
<TEXTFORMAT LEADING=\"2\"><P ALIGN=\"LEFT\"><FONT FACE=\"Comic Sans MS\" SIZE=\"20\" COLOR=\"#000000\" LETTERSPACING=\"0\" KERNING=\"0\">alors?</FONT></P></TEXTFORMAT>

dans Objet et dans le corps du Message aussi.

Et dans le champs "de", je reçois : TEXTFORMAT LEADING="2"@perso1.free.fr.

Je précise que dans mon formulaire send.php, il n'y a que le script comme tu l'indiques (avec mon adresse mail bien sûr). Pas de Charset... ni quoi que soit de l'entête de dream.

Juste

<?php
mail("monadressemail","$sujet","$msg","From : $mail\n");
?>

Peux-tu m'aider à enlever ces codes, Canular?

0
RAD ZONE Messages postés 5224 Date d'inscription samedi 20 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 1 353
25 janv. 2009 à 15:18
?????????????????
espoir63
vous ne savez pas lire ?????

CE SCRIPT A DES ERREURS !!!!!! SUIVEZ MON TUTO !!!!!

http://www.commentcamarche.net/forum/affich 3655169 formulaire en flash et php?page=2#38
0
espoir63 Messages postés 11 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 28 avril 2009
25 janv. 2009 à 20:40
Bonsoir Rad Zone,

d'abord merci pour ta réponse si rapide et ... énergique! J'ai fait exactement comme indiqué dans ton tuto... mais j'ai reçu le mail d'erreur (à la fin du script PHP) à mon adresse mail... J'ai donc une erreur d'envoi dans le script php...
J'ai relu tous les codes, ligne par ligne, syntaxe par syntaxe... en vain. Je ne comprends pas.

Et toi ?

Merci pour ta réponse.
0
RAD ZONE Messages postés 5224 Date d'inscription samedi 20 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 1 353
25 janv. 2009 à 20:52
LA fonction mail() est bien active chez ton hebergeur ??
0
espoir63 Messages postés 11 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 28 avril 2009
25 janv. 2009 à 21:07
Comment je fais pour le savoir.
Je passe mes fichiers via FTP sur mon espace Free mais j'ai la livebox (orange). Lequel est mon fournisseur d'accès?

Comme je te l'ai dis, j'ai bien reçu en retour un mail dans ma boîte mais celui qui correspond à:

$_POST['sujet'] = 'formulaire Test';
$_POST['messageHtml'] = '<html><body>Salut<br /> mon cher<br /><br />Bye</body></html>';
$_POST['messageText'] = "Salut mon cher Bye";

en retour d'erreur.
0
espoir63 Messages postés 11 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 28 avril 2009
25 janv. 2009 à 21:07
Comment je fais pour le savoir.
Je passe mes fichiers via FTP sur mon espace Free mais j'ai la livebox (orange). Lequel est mon fournisseur d'accès?

Comme je te l'ai dis, j'ai bien reçu en retour un mail dans ma boîte mais celui qui correspond à:

$_POST['sujet'] = 'formulaire Test';
$_POST['messageHtml'] = '<html><body>Salut<br /> mon cher<br /><br />Bye</body></html>';
$_POST['messageText'] = "Salut mon cher Bye";

en retour d'erreur.
0
RAD ZONE Messages postés 5224 Date d'inscription samedi 20 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 1 353
25 janv. 2009 à 21:09
tu n a pas modifie le php ???

a part ton mail bien sur
0
espoir63 Messages postés 11 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 28 avril 2009
25 janv. 2009 à 21:12
non, j'ai juste changé le nom du dossier : j'ai mis NewForm/envoyer_mail.php au lieu de php/envoyer_mail.php. C'est tout!
0
RAD ZONE Messages postés 5224 Date d'inscription samedi 20 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 1 353
25 janv. 2009 à 21:15
tu est sur que tu n a pas decommenter ces 4 lignes ??

parceque c est ca que tu vois et tu ne devrais pas !!!! enleve les carrement

# /* 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"; 
# */  

0
espoir63 Messages postés 11 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 28 avril 2009
25 janv. 2009 à 21:39
En effet, j'avais décommenter le bloc... Je l'ai enlevé et
Ouiiiiiiiiiiiiii!!! C'est mieux!! J'ai bien le message "l'envoi s'est terminé avec succès".
Sauf le champs commentaire... j'ai "undefined" qui s'affiche à la place de mon message de test.
Qu'est-ce que j'ai loupé?
J'avoue qu'après 4 ou 5 heures sur ce formulaire...
0
RAD ZONE Messages postés 5224 Date d'inscription samedi 20 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 1 353
25 janv. 2009 à 21:56
cela semble dire que tu n a pas donner d occurence ou une mauvaise au champ texte dans ton fla !

tu a bien ca pour ta zone de commentaire dans ton fla ?
var taCommentaire:TextArea = this.commentaire_ta;
0
espoir63 Messages postés 11 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 28 avril 2009
25 janv. 2009 à 22:02
oui, j'ai bien
var taCommentaire:TextArea = this.commentaire_ta;

et j'ai bien nommé l'occurrence "commentaire" :
commentaire_ta

Qu'est-ce que je peux faire de plus ?
0
espoir63 Messages postés 11 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 28 avril 2009
25 janv. 2009 à 22:17
pour plus d'infos, voilà le message que renvoie le fichier "envoyer_mail.php" quand je clic dessus (au dessus du fichier swf:

erreurPHP=Variable 'sujet' non transmise Variable 'message' non transmise Variable 'message' non transmise Variable 'expediteur' non transmise Variable 'mailReponse' non transmise

Je comprends de moins en moins...
0
espoir63 Messages postés 11 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 28 avril 2009
25 janv. 2009 à 22:55
C'EST BON!!!!! SUPERRRRRRRRRRR!!!
Ca marche!!!

J'avais oublié d'intégrer le bloc sur le formatage du champs "commentaire" et du coup je n'avais pas non plus le message pour "l'inscription à la lettre"!

Juste une dernière chose : Dans le cadre du commentaire, avec les infos "nom, prenom ect. renseignées , pourquoi apparaît aussi l'adresse http où j'ai placé mon fichier ? Comme:

"Origine : http://XXXXXX.free.fr/NewForm/formWeb.swf

En tout cas, merci beaucoup Rad Zone, c'est le premier formulaire que j'arrive à finaliser depuis 3 mois !


Merci encore.
0
RAD ZONE Messages postés 5224 Date d'inscription samedi 20 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 1 353
25 janv. 2009 à 23:08
OK :-))

je mangeais ;-)

pour le retour du lien du swf dans ta reception email cela vient du
 $headers .= 'Return-Path: <'.$mailReponse.'>'."\n"; 
qui te rvois l adress du swf ! iil faudrais fignoler le php ;-)) mais

c' est pas trop mon truc php :-)
0
espoir63 Messages postés 11 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 28 avril 2009
26 janv. 2009 à 13:47
Coucou Rad Zone,

en fait pour le fichier swf "Origine", c'est plutôt bien qu'il apparaisse dans la zone "commentaire". Car si l'on gère plusieurs retours de formulaires différents, cela permet de se remettre en tête de quel projet il s'agit et de localiser le dossier pour les modifs.

Donc je vais garderle script tel quel. Cela va au-delà de mes espérances!!

:))

J'avais raison de garder "espoir".
A bientôt
0
Bonjour,
Merci beaucoup pour ce tutoriel.
Je l'ai essayé, il marche.
Mon problème est que malgré avoir fait un copier coller du code php

<?php
mail("mon adresse","$sujet","$msg","From : $mail\n");
?>

et l'importance du "From : $mail\n", ce dernier ne semble pas efficace...
Je m'envoie un courrier depuis une de mes autres adresses pour faire le test.
Trente secondes plus tard, je vais relever le courrier que je e suis envoyé.
Ce que je vois en premier, c'est que ce message provient d'un nom qui est relatif à mon serveur (online.net)
ce message semblant de provenance mystérieuse pourrait se perdre dans les courrier "indésirables"...
Je voudrais remédier à ce problème pour que l'adresse de l'utilisateur s'affiche et non pas celle de mon serveur, quelle horreur lol !
Je suis tout de même ravie d'arriver à le faire fonctionner globalement, c'est juste ce problème de "From : $mail\n" inopérant.

Merci d'avance.
0