Formulaire Flash AS3 + PHP

Fermé
zerogne Messages postés 1 Date d'inscription mercredi 4 mars 2009 Statut Membre Dernière intervention 4 mars 2009 - 4 mars 2009 à 18:17
 renaudsecq - 15 juin 2011 à 12:30
Bonjour,

Je viens de créer un devis/formulaire sous flash en as3 (pas encore bien habituée) et son homologue en php. Le formulaire en flash envoie bien les données vers le doc php, mais rien en retour, aucun mail sur ma boîte.
Ce n'est le premier formulaire php que je fais par contre c'est la première fois avec de l'as3.
J'ai retourné mon code plusieurs fois et je ne trouve pas le problème...
Si quelqu'un peut me venir en aide...svp...

Action Script:

stop();

for (var i:int=1; i<=5; i++) {
this['qt'+i].restrict="0-9";
}

bouton_total.addEventListener(MouseEvent.CLICK,handlerCalcul);
function handlerCalcul(e:MouseEvent) {

var ListePrix:Array=[0,16.65,17.65,1.50,2.10,6.10];
trace(ListePrix);

var total:Number=0;
for (i=1; i<=5; i++) {
total=total+(Number(this['qt'+i].text)*ListePrix[i]);
}
Champs_Total.text=String(total+(total*5.5)/100);

}
nom.tabIndex = 1;
prenom.tabIndex = 2;
adresse.tabIndex = 3;
codepostal.tabIndex = 4;
ville.tabIndex = 5;
tel.tabIndex = 6;
mail.tabIndex = 7;
date.tabIndex = 8;
demande.tabIndex = 9;
//
qt1.tabIndex = 10;
qt2.tabIndex = 11;
qt3.tabIndex =12;
qt4.tabIndex=13;
qt5.tabIndex=14;
Champs_Total.tabIndex = 42;
txError.tabIndex = 43;

//
bouton.addEventListener(MouseEvent.CLICK,checkFormulaire);
function checkFormulaire(e:MouseEvent) {

trace('yo');

var urlVariables:URLVariables = new URLVariables();
urlVariables.senderName = nom.text;
urlVariables.prenom = prenom.text;
urlVariables.adresse = adresse.text;
urlVariables.codepostal = codepostal.text;
urlVariables.ville= ville.text;
urlVariables.tel= tel.text;
urlVariables.mail= mail.text;
urlVariables.demande= demande.text;
urlVariables.PlateauRepasFormuleSalade = qt1.text;
urlVariables.PlateauRepasFormuleTerrine = qt2.text;
urlVariables.eauminerale1L = qt3.text;
urlVariables.eaugazeuse1L = qt4.text;
urlVariables.vinsyrha = qt5.text;
urlVariables.txError = txError.text;
urlVariables.total= Champs_Total.text;

var url:String = "https://www.pagesjaunes.fr/";

var request:URLRequest = new URLRequest(url);
request.data = urlVariables;

trace("sendToURL: " + request.url + "?" + request.data);
try {
sendToURL(request);
}
catch (e:Error) {

trace(e);
}

trace('SEND');

gotoAndStop(2);
}


Php:

<?php
#
$sendto="moi@monmail.com";

# fonction permettant l'encodage des caractres accentuŽs

$texte =utf8_decode($texte);
$texte =eregi_replace( "\r", "\n", $texte);
$texte =stripcslashes($texte);
return $texte;
}
# fin de la fonction

$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$adresse=$_POST['adresse'];
$codepostal=$_POST['codepostal'];
$ville=$_POST['ville'];
$tel=$_POST['tel'];
$mail=$_POST['mail'];
$demande=$_POST['demande'];
$qt1=$_POST['qt1'];
$qt2=$_POST['qt2']);
$qt3=$_POST['qt3'];
$qt4=$_POST['qt4'];
$qt5=$_POST['qt5'];
$Champs_Total=$_POST['Champs_Total'];
$txError =$_POST['txError'];


#

# Formating Body content
$FormContent="

-

Nom: $nom\n
prenom: $prenom\n
adresse: $adresse\n
codepostal: $codepostal\n
ville : $ville\n
Le numéro de téléphone: $tel\n
Email: $mail\n
date : $date\n
demande : $demande\n
----------------------------------------------------------------------------\n
qt1 : $qt1\n
qt1 : $qt2\n
qt1 : $qt3\n
qt1 : $qt4\n
qt1 : $qt5\n
Champs_Total: $Champs_Total\n
txError: $txError\n



".urlencode(utf8_encode($FormContent));
mail($sendto, "$Subject (de $prenom $nom)", $FormContent, "From: $mail");

# Autoresponder
$filename = "answer.txt";
$fd = fopen( $filename, "r" );
$contents = fread( $fd, filesize( $filename ) );
fclose( $fd );
mail( "$mail", "Merci de votre envoi - www.monsite.fr", "$contents\n\n",
"From:contact@monsite.fr\n" );

# Flashsignal Variable
#
$signal=1;
echo "signal=$signal";
#

?>




°Merci d'avance°
A voir également:

1 réponse

salut, il me semble que l'email que tu enregistres pour recevoir le mail de ton formulaire doit etre heberge par le serveur ou se trouve ton swf et ton php, personnellement j'ai travaillé avec ton script, et cela fonctionne tres bien!
J'ai remarqué aussi que ça ne marchait pas avec un hotmail ou live!!
tu peux le voir ici: http://mediaflash.free.fr/testphp/4/

je te passe le script que j'ai fait:


AS3:

stop();
// ordre de la tabulation pour les champs de texte
nom.tabIndex = 1;
prenom.tabIndex = 2;
adresse.tabIndex = 3;
ville.tabIndex = 4;
codepostal.tabIndex = 5;
mail.tabIndex = 6;
tel.tabIndex = 7;
objet.tabIndex = 8;
commentaire.tabIndex = 9;
//creation
var urlLoader:URLLoader = new URLLoader();
var urlRequest:URLRequest = new URLRequest("mail4.php");
var variablesMail:URLVariables = new URLVariables();


bouton.addEventListener(MouseEvent.CLICK, envoi);

function envoi(evt:MouseEvent) {

variablesMail.nom = nom.text;
variablesMail.prenom = prenom.text;
variablesMail.adresse = adresse.text;
variablesMail.ville = ville.text;
variablesMail.codepostal = codepostal.text;
variablesMail.mail = mail.text;
variablesMail.tel = tel.text;
variablesMail.commentaire = commentaire.text;
variablesMail.objet = objet.text ;
/*pour que le script fonctionne il faut que l'adresse
mail soit hebergée par le serveur ou se trouve le script,
ça ne marche pas de free vers hotmail!!*/
variablesMail.destinataire = "mediaflash@free.fr";
urlRequest.data = variablesMail;
urlRequest.method = URLRequestMethod.POST;
urlLoader.addEventListener(Event.COMPLETE, donneesChargees);
urlLoader.load(urlRequest);

}

function donneesChargees(evt:Event):void {

gotoAndStop(2);
}

stop();



PHP:

<?php
$expediteur = $_POST['mail'];
$destinataire= $_POST['destinataire'];
$nom = $_POST['nom'];
$destinataire = $_POST['destinataire'];
$objet = $_POST['objet'];
$contenu = $_POST['commentaire'];
$prenom = $_POST['prenom'];
$adresse = $_POST['adresse'];
$ville = $_POST['ville'];
$codepostal = $_POST['codepostal'];
$tel = $_POST['tel'];
function decoder($texte){
$texte = utf8_decode($texte);
$texte = str_replace("\r", "\n", $texte);
$texte = str_replace("\'", "'", $texte);
return $texte;
}

$objet = decoder($objet);
$contenu = decoder($contenu);
$FormContent="

-

Nom: $nom\n
prenom: $prenom\n
adresse: $adresse\n
codepostal: $codepostal\n
ville : $ville\n
Le numéro de téléphone: $tel\n
Email: $mail\n
demande : $contenu\n
".urlencode(utf8_encode($FormContent));

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$headers .= "From: $nom <$expediteur>\r\nReply-to : $nom <$expediteur>\nX-Mailer:PHP";
mail("mediaflash@free.fr",$objet, $FormContent,$headers )

?>
6
oh merci. Fonctione a la perfection.
0
bonjour,
merci pour ton tuto !
peux tu m'expliquer comment faire pour stocker les données saisies ?
merci !
0