Formulaire flash inactif si j'ajoute Combox
ana648
-
lebangkifaimeuh -
lebangkifaimeuh -
Bonjour,
J'ai essayé ce tutoriel ( http://wiki.mediabox.fr/tutoriaux/flash/formulaire_flash_php ) pour faire un formulaire Flash/php:
Il fonctionne parfaitement quand je le laisse tel quel, mais si j'ajoute une ComboBox il devient complètement inactif (le bouton "envoyer" ne déclenche aucune action: ni de message d'erreur, ni de réussite, donc pas de mail...). Regardez: http://obscurantisorder.free.fr/kompersonne/labo/formulaireTEST.swf
Je dois faire une erreur (ou DES erreurs!) dans le code (faut dire que j'y vais un peu à tâtons parce que je débute). Ça fait 3 jours que je cherche sur le net et aucune solution ne fonctionne... Quelqu'un pourrait m'aider svp?
Merci!
Voici mon code AS:
Et mon code dans la page php:
J'ai essayé ce tutoriel ( http://wiki.mediabox.fr/tutoriaux/flash/formulaire_flash_php ) pour faire un formulaire Flash/php:
Il fonctionne parfaitement quand je le laisse tel quel, mais si j'ajoute une ComboBox il devient complètement inactif (le bouton "envoyer" ne déclenche aucune action: ni de message d'erreur, ni de réussite, donc pas de mail...). Regardez: http://obscurantisorder.free.fr/kompersonne/labo/formulaireTEST.swf
Je dois faire une erreur (ou DES erreurs!) dans le code (faut dire que j'y vais un peu à tâtons parce que je débute). Ça fait 3 jours que je cherche sur le net et aucune solution ne fonctionne... Quelqu'un pourrait m'aider svp?
Merci!
Voici mon code AS:
import mx.controls.TextInput;
import mx.controls.TextArea;
import mx.controls.CheckBox;
import mx.controls.ComboBox;
import mx.controls.Button;
// On référence les occurences de compos pour profiter du typage strict
var tiNom:TextInput = this.nom_ti;
var tiPrenom:TextInput = this.prenom_ti;
var tiEmail:TextInput = this.email_ti;
var taCommentaire:TextArea = this.commentaire_ta;
var taSortie:TextArea = this.sortie_ta;
var cbLettre:CheckBox = this.lettre_cb;
var cbPrestation1:ComboBox = this.prestation1_cb;
var mcEnvoyer:Button = this.envoyer_mc;
// Initialisation des compos
taSortie["depthChild0"]._visible = false; // hack pour remplacer les 4 lignes ci-dessus
taSortie.setStyle("color", "0xB13501");
taSortie.setStyle("fontStyle", "italic");
taSortie.label.selectable = false;
cbLettre.label = "Recevoir la lettre d'information";
cbPrestation1.label = "logo,charte";
function recepbox()
{
prestation1 = choix.getValue();
trace(prestation1);
}
// Ordres de tabulation
tiNom.tabIndex = 1;
tiPrenom.tabIndex = 2;
tiEmail.tabIndex = 3;
cbLettre.tabIndex = 4;
taCommentaire.tabIndex = 5;
mcEnvoyer.tabIndex = 6;
cbPrestation1.tabIndex = 7;
var nom:String;
var prenom:String;
var email:String;
var recevoirLettre:Boolean;
var prestation1:Boolean;
var commentaire:String;
// Fonctions outils
function afficherEnSortie(pChaine:String):Void
{
taSortie.text = pChaine;
}
function reinitFormulaire():Void
{
tiNom.text = tiPrenom.text = tiEmail.text = taCommentaire.text = "";
cbLettre.selected = false;
cbPrestation1.selected = false;
}
function validerFormulaire ():String
{
nom = tiNom.text;
prenom = tiPrenom.text;
email = tiEmail.text;
commentaire = taCommentaire.text;
recevoirLettre = cbLettre.selected;
var erreurs:String = "";
if (nom == "") erreurs += "Merci de remplir le champ 'nom'" + newline;
if (prenom == "") erreurs += "Merci de remplir le champ 'prénom'" + newline;
if (email == "") erreurs += "Merci de remplir le champ 'email'" + newline;
else
{
var atIndex:Number = email.indexOf("@");
var dotIndex:Number = email.indexOf(".", atIndex);
trace(atIndex + " " + dotIndex);
if (atIndex == -1 || dotIndex == -1 || dotIndex - atIndex <= 1)
erreurs += "L'email n'est pas valide" + newline;
}
return erreurs;
}
function formerMessageText ():String
{
var message:String = "Formulaire :";
message += "Origine : " + this._url + "\r\n";
message += "Nom : " + nom + "\r\n";
message += "Prénom : " + prenom + "\r\n";
message += "Adresse email : " + email +"\r\n";
message += "choix :" + prestation1 + "/r/n";
if (recevoirLettre)
message += "Personne souhaitant recevoir la lettre d'information.\r\n";
if (commentaire != "")
message += "Commentaire :\r\n";
message += commentaire;
if (prestation1)
message += "logo,charte.\r\n";
return message;
}
function formerMessageHtml ():String
{
var message:String = "<html><head><style type='text/css'> p{font: 12px Arial} </style></head><body>";
message += "<h4>Formulaire : </h4>";
message += "<p>Origine : " + this._url + "</p>";
message += "<p>Nom : " + nom + "<br />";
message += "Prénom : " + prenom + "<br />";
message += "Adresse email : <a href='mailto:" + email + "'>" + email +"</a></p>";
message += "choix : " + prestation1 + "<br />";
if (recevoirLettre)
message += "<p>Personne souhaitant recevoir la lettre d'information.</p>";
if (commentaire != "")
message += "<p><u>Commentaire :</u><br />";
message += commentaire;
message += "</p></body></html>";
return message;
}
function envoyerMail ():Void
{
mcEnvoyer.enabled = false;
var envoyeur:LoadVars = new LoadVars();
var receveur:LoadVars = new LoadVars();
envoyeur.sujet = "Formulaire";
envoyeur.messageText = formerMessageText ();
envoyeur.messageHtml = formerMessageHtml ();
envoyeur.expediteur = prenom + " " + nom;
envoyeur.mailReponse = email;
receveur.onLoad = onMailEnvoye;
envoyeur.sendAndLoad("formulaireTEST.php", receveur, "POST");
afficherEnSortie("Envoi en cours...");
}
function onMailEnvoye (pSuccess:Boolean):Void
{
mcEnvoyer.enabled = true;
if (!pSuccess)
{
afficherEnSortie("Problème avec le script PHP.");
}
else if (this.erreurPHP == "")
{
afficherEnSortie("L'envoi s'est terminé avec succès.");
reinitFormulaire();
}
else
{
afficherEnSortie("Erreurs PHP : \n" + this.erreurPHP);
}
}
Et mon code dans la page php:
<?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 = "anais@kom-personne.com";
$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-Type: text/html; charset=iso-8859-1";
$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);
}
?>
A voir également:
- Formulaire flash inactif si j'ajoute Combox
- Whatsapp formulaire opposition - Guide
- Flash drive tester - Télécharger - Divers Utilitaires
- Adobe flash player - Télécharger - Divers Web & Internet
- Service spouleur d'impression inactif - Guide
- Formulaire de réclamation facebook compte désactivé - Guide