Formulaire mail sur flash - l'envoie fonctionne 1 fois sur 2 ?!

tartartartar Messages postés 27 Date d'inscription vendredi 19 août 2011 Statut Membre Dernière intervention 15 décembre 2013 - 8 juil. 2012 à 12:18
tartartartar Messages postés 27 Date d'inscription vendredi 19 août 2011 Statut Membre Dernière intervention 15 décembre 2013 - 8 nov. 2012 à 23:42
Bonjour,

Je ne comprends pas pourquoi l'envoie s'effectu une fois sur deux lorsque je rempli mon formulaire ?! Auparavant cela fonctionnait tout le temps, mon hébergeur a fait une mise à jour, depuis il me met une fois sur deux echec ?! je vous mets les codes ci dessous :

dans flash :
import fl.managers.StyleManager;

StyleManager.setStyle("textFormat", new TextFormat("Segoe Script", 16, 0x000080));
const SENDING:String   =  "Sending";
const SENT_SUCCESS:String = "Successful";
const SENT_FAILED:String = "Unsuccessful";
var tmr:Timer;

function resetTextFields():void
{
name_txt.text  = "";
email_txt.text  = "";
message_txt.text = "";
}

function resetContactForm():void
{
submit_btn.enabled = true;
feedback_mc.visible = false;
clearErrors();
}

function afterTmrWait(evt:TimerEvent):void
{
tmr.stop();
tmr.removeEventListener(TimerEvent.TIMER, afterTmrWait);
resetContactForm();


removeEventListener(Event.ENTER_FRAME,btnRetourSousdoss);
gotoAndPlay(10);
}

function validateEmail(str:String):Boolean
{
var pattern:RegExp = /((\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+)|^$/;
var result:Object = pattern.exec(str);
if (result == null)
{
return false;
}
return true;
}

function submitForm(evt:MouseEvent):void
{
clearErrors();

var passChecks:Boolean = true;

if (name_txt.text.length < 1)
{
nameError_mc.visible = true;
passChecks = false;
}
if (! validateEmail(email_txt.text))
{
emailError_mc.visible = true;
passChecks = false;
}
if (message_txt.text.length < 1)
{
messageError_mc.visible = true;
passChecks = false;
}

if (passChecks)
{
submit_btn.enabled = false;
feedback_mc.visible = true;
feedback_mc.gotoAndStop(SENDING);

var urlVars:URLVariables = new URLVariables();
var urlReq:URLRequest  = new URLRequest("send_email.php");
var ldr:URLLoader   = new URLLoader();

urlVars.name = name_txt.text;
urlVars.email = email_txt.text;
urlVars.message = message_txt.text;
urlReq.data = urlVars;
urlReq.method = URLRequestMethod.POST;
ldr.addEventListener(Event.COMPLETE, serverFeedback);
ldr.load(urlReq);
}
}

function serverFeedback(evt:Event):void
{
var ldr:URLLoader = evt.target as URLLoader;
var urlVars:URLVariables = new URLVariables(ldr.data);

if (urlVars.result == SENT_SUCCESS)
{
feedback_mc.gotoAndStop(SENT_SUCCESS);
resetTextFields();

tmr = new Timer(3000,1);
tmr.addEventListener(TimerEvent.TIMER, afterTmrWait);
tmr.start();
}
else if (urlVars.result == SENT_FAILED)
{
feedback_mc.gotoAndStop(SENT_FAILED);
submit_btn.enabled = true;
}


}

function clearErrors():void
{
nameError_mc.visible = false;
emailError_mc.visible = false;
messageError_mc.visible = false;
}

submit_btn.addEventListener(MouseEvent.CLICK, submitForm);

resetTextFields();
resetContactForm();


Fichier send_email.php :
<?php

$emailTo  = "monEmail@truc.fr";
$name = $_POST["name"];
$emailFrom = $_POST["email"];
$message = $_POST["message"];
$subject = "Site Web";

if( !empty( $_POST ) ) {
$body  = "Name: " . $name . "\n\n";
$body .= "Email: " . $emailFrom . "\n\n";
$body .= "Message:\n" . $message;
$body  = wordwrap($body, 70);
$header = "From: " . $emailFrom . "\nReply-To: " . $emailFrom. "\n\n";

if( mail( $emailTo, $subject, $body, $header ) ) {
echo( "result=Successful" );

} else {
echo( "result=Unsuccessful" );
}
}
?>


Si vous avez une idée ?
merci beaucoup !
A voir également:

1 réponse

tartartartar Messages postés 27 Date d'inscription vendredi 19 août 2011 Statut Membre Dernière intervention 15 décembre 2013 1
8 nov. 2012 à 23:42
C'est toujours, d'actualité malheureusement... ça vient de mon code ou de mon hebergeur ?!
Merci
0
Rejoignez-nous