Formulaire as3

cs_lalach Messages postés 21 Date d'inscription lundi 25 octobre 2010 Statut Membre Dernière intervention 21 décembre 2010 - 13 déc. 2010 à 00:30
cs_lalach Messages postés 21 Date d'inscription lundi 25 octobre 2010 Statut Membre Dernière intervention 21 décembre 2010 - 14 déc. 2010 à 19:11
Bonjour,

je reviens à vous une autre fois pour un autre souci, après avoir fini mon site web en flash as2, je me suis mis sur un autre site d'un hôtel en as3, tout marche à merveille j'arrive à mettre le formulaire, seul problème c'est quand je ne remplis pas les champs le mail part à destination en me mettant Message envoyer

mon code en as3 est le suivant :

//creation
var urlLoader:URLLoader = new URLLoader();
var urlRequest:URLRequest = new URLRequest("mail.php");
var variablesMail:URLVariables = new URLVariables();


bouton.addEventListener(MouseEvent.CLICK, envoi);

function envoi(evt:MouseEvent) {

variablesMail.nom = nom.text;
variablesMail.prenom = prenom.text;
variablesMail.mail = mail.text;
variablesMail.objet = objet.text ;
variablesMail.Message = Message.text;
variablesMail.destinataire = "contact@*******.fr";

urlRequest.data = variablesMail;
urlRequest.method = URLRequestMethod.POST;
urlLoader.load(urlRequest);

Message.text = "Message envoyé"

}


mon code en php est le suivant :

<?php
$expediteur = $_POST['mail'];
$destinataire= $_POST['destinataire'];
$nom = $_POST['nom'];
$destinataire = $_POST['destinataire'];
$objet = $_POST['objet'];
$contenu = $_POST['Message'];
$prenom = $_POST['prenom'];
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="
$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("contact@*****.fr",$objet, $FormContent,$headers )


?>



si vous pouvez me dire comment faire pour que le message ne soit pas envoyer si on ne rempli pas tous les champs.

merci encore pour votre aide.

7 réponses

Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
13 déc. 2010 à 09:10
Hello,

Mets en place des conditions juste avant l'envoi pour tout les champs à verifier, par ex :

if(variablesMail.nom != "" && variablesMail.prenom != "" && variablesMail.mail != "" && variablesMail.objet != "" && variablesMail.Message != "" && variablesMail.destinataire != ""){
     urlRequest.data = variablesMail;
     urlRequest.method = URLRequestMethod.POST;
     urlLoader.load(urlRequest);

     Message.text = "Message envoyé";
} else {
     Message.text = "Veuillez remplir tous les champs"
}


A+

-- Orange73 --

"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
0
cs_lalach Messages postés 21 Date d'inscription lundi 25 octobre 2010 Statut Membre Dernière intervention 21 décembre 2010
13 déc. 2010 à 10:08
Merci pour ton aide mais ca ne marche pas. j'ai ressayé avec ce code en mettant des parenthèses mais toujour pareil :

if((variablesMail.nom != "") && (variablesMail.prenom != "") && (variablesMail.mail != "") && (variablesMail.objet != "") && (variablesMail.Message != "") && (variablesMail.destinataire != "")){
    urlRequest.data = variablesMail;
     urlRequest.method = URLRequestMethod.POST;
     urlLoader.load(urlRequest);

     Message.text = "Message envoyé";
} else {
     Message.text = "Veuillez remplir tous les champs"

}
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
13 déc. 2010 à 15:07
pourquoi n'envoies-tu pas les données au script php ?
URLLoader.load() n'envoies rien et je fais que charger.
Il faut utiliser URLLoader.send() ou sendAndLoad() pour que des données soient transmises...

Peg'
0
cs_lalach Messages postés 21 Date d'inscription lundi 25 octobre 2010 Statut Membre Dernière intervention 21 décembre 2010
13 déc. 2010 à 16:07
j'ai essayé avec URLLoader.send() et sendAndLoad() et il me met ca comme erreur :

1061: Appel à la méthode send peut-être non définie, via la référence de type static flash.net:URLLoader.
0

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

Posez votre question
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
13 déc. 2010 à 16:40
alors sendAndLoad, pas le choix ...
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
13 déc. 2010 à 16:53
toujours faire une "recherche sur google" avant de venir poster ici .. c'est pourtant indiqué sur le règlement du forum.
Bon, je laisse passer pour cette fois-ci, mais que je ne vous y reprennes plus : http://tush.wordpress.com/2007/07/20/actionscript-3-using-urlloader-to-send-and-load-server-variables/

Peg'
Admin Codes-Sources
0
cs_lalach Messages postés 21 Date d'inscription lundi 25 octobre 2010 Statut Membre Dernière intervention 21 décembre 2010
14 déc. 2010 à 19:11
merci pour votre aide, le problème se trouve à ce niveau :

if(variablesMail.nom != "" && variablesMail.prenom != "" && variablesMail.mail != "" && variablesMail.objet != "" && variablesMail.Message != "" && variablesMail.destinataire != "")

il fallait remplacé les !="" par != 0

a+
0
Rejoignez-nous