Logo du forum
 

Forum TTH-News

| Inscription | | Recherche | | FAQ | | Accueil | | Liste des membres |
| Calendrier |
 
Vous n'êtes pas identifié! [Connexion] ou [Inscription] Forum » Programmation » [Flash] » Formulaire Flash qui pourrait fonctionner
Login Mot de passe

2 visiteurs sur ce topic (0 membre(s), 2 invité(s) )


Auteur
Sujet : Formulaire Flash qui pourrait fonctionner
Ubik
Sage
Membre # 3930

 Avatar du membre
Lieu : Voie Lactée (Amas de la Vierge)

Messages :
1771 (0.32 par jour)


Score :

Message du 03-02-2008 @ 21:01   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   


Bonsoir tout le monde,

Je suis en train de finaliser mon site web qui est entièrement en flash et j'ai un petit problème avec une des mes pages, enfin un de mes swf dont la fonction est un formulaire qui vient récupérer le nom, le mail et le commentaire d'une personne qui voudrait me contacter depuis le site web; ces infos sont envoyées à un script php tout con. Tout fonctionne parfaitement au détail près que j'ai un mot "undefined" qui vient se coller dans le champ "Nom" du formulaire et ce dès que le swf est appelé. C'est un peu handicapant, ça fait un peu le site qui est mal programmé et qui plante, ça ne fait pas très sérieux.

Ayant des connaissances toute relatives mais n'étant pas non plus une quiche, j'ai tout de même récupérer le script sur le net et je l'ai modifié pour que ça fonctionne. Je l'ai ausculté pour voir ce qui pourrait générer ce souci et je sèche complètement.

Alors si une âme charitable passe par là, ce ne serait pas de refus.

Voici le code Actionscript :

Code :

/* Site sur lequel j'ai trouvé le code :
<a href="http://wiki.mediabox.fr/tutoriaux/flash/formulaire_flash_php" target="_blank">http://wiki.mediabox.fr/tutoriaux/flash/formulaire_flash_php</a> */

import mx.controls.TextInput;
import mx.controls.TextArea;
import mx.controls.CheckBox;
import mx.controls.Button;

var tiNom:TextInput = this.nom_ti;
var tiEmail:TextInput = this.email_ti;
var taCommentaire:TextArea = this.commentaire_ta;
var taSortie:TextArea = this.sortie_ta;
var mcEnvoyer:Button = this.envoyer_mc;

taSortie["depthChild0"]._visible = false;
taSortie.setStyle("color", "000000");
taSortie.setStyle("fontStyle");
taSortie.label.selectable = false;

//j'ai enlevé les fonctions tab...

var nom:String;
var email:String;
var commentaire:String;

function afficherEnSortie(pChaine:String):Void
{
   taSortie.text = pChaine;
}
function reinitFormulaire():Void
{
   tiNom.text = tiEmail.text = taCommentaire.text = "";
}
function validerFormulaire ():String
{
   nom = tiNom.text;
   email = tiEmail.text;
   commentaire = taCommentaire.text;
   
   var erreurs:String = "";
   
   if (nom == "") erreurs += "merci de remplir le champ 'nom'" + newline;
   if (email == "") erreurs += "merci de remplir le champ 'email'" + newline;
   else
   {
      var atIndex:Number = email.indexOf("@");
      var dotIndex:Number = email.indexOf(".", atIndex);
      if (atIndex == -1 || dotIndex == -1 || dotIndex - atIndex <= 1)
         erreurs += "l'email n'est pas valide" + newline;
   }
   return erreurs;
}
function formerMessageText ():String
{
   var message:String =
      message += "\r\n";
      message += commentaire;
   
   return message;
}
function formerMessageHtml ():String
{
   var message:String = "<html><head><style type='text/css'> p{font: 9px Arial} <style></head><body>";
      message += commentaire;
   message += "<html><head><style type='text/css'> p{font: 9px Arial} <style></head><body>";
   
   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 = nom;
   envoyeur.mailReponse = email;
   
   receveur.onload = onMailEnvoye;
   
   envoyeur.sendAndLoad("contact/nous_ecrire/mail.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("votre message a bien été envoyé");
      reinitFormulaire();
   }
   else
   {
      afficherEnSortie("Erreurs PHP : \n" + this.erreurPHP);
   }
}
mcEnvoyer.onRelease = function():Void
{
   var erreurs:String = validerFormulaire();
   if (erreurs == "") envoyerMail();
   else afficherEnSortie(erreurs);
}



... et le php :

Code :

<?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

$texte = trim($texte); // élimine les '\n', '\r', '\t' etc
return $texte;
}

$erreurPHP="";



if($erreurPHP != "") echo utf8_encode("erreurPHP=".$erreurPHP);
else
{
   $to = "contact@atelierpng.fr";
   $sujet = "Prise de contact depuis <a href="http://www.atelierpng.fr";" target="_blank">www.atelierpng.fr";</a>
   $expediteur = decoder($expediteur);
   $messagehtml = decoder($messageHtml);
   $messageTexte = utf8_decode($messageTexte);
   
    //-----------------------------------------------
//GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML
//-----------------------------------------------

$frontiere = '-----=' . md5(uniqid(mt_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-Transfer-Encoding: 8bit';

//-----------------------------------------------
//MESSAGE TEXTE
//-----------------------------------------------
//$message = 'This is a multi-part message in MIME format'."\n\r";

$message = '--'.$frontiere."\n";
$message .= 'Content-Type: text/plain; charset=UTF-8'."\n";
$message .= 'Content-Transfer-Encoding: 8bit'."\n\r\n\r";
$message .= $messageTexte."\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);
}
?>



Le php fonctionne très mais le mail arrive avec une police Times New Roman alors que j'aurais préféré Arial. Là encore, je ne vois pas où ça bloque.

Merci par avance d'éclairer un apprenti codeur qui n'a besoin que de cela pour être aux anges :D
----------
Intel Core i7 2600K @ stock + Noctua NH-C12P SE14 - Asus P8Z68-M PRO - Corsair XMS3 PC12800 CAS 9 16 Go - NVidia GTX460 - Crucial M4 128 Go Revision 3.0 - WD Raptor WD1500ADFD - WD Caviar SE16 WD5000AAKS - Lian Li PC-V354B + Seasonic X-460 Fanless + Noctua NF-P14 FLX + Noctua NF-S12B ULN - Eizo S2110W + S1721-SH
- Haut de page -
Ubik
Sage
Membre # 3930

 Avatar du membre
Lieu : Voie Lactée (Amas de la Vierge)

Messages :
1771 (0.32 par jour)


Score :

Message du 03-02-2008 @ 22:26   Afficher le profil   Envoyer un message privé   Editer le message   Citer le message      Afficher l'adresse IP   Alerter les modérateurs   

Je me réponds à moi-même, j'ai fini par m'en sortir, ça fonctionne désormais. C'est la ligne :

Code :

var nom:String;
var email:String;
var commentaire:String;



qui créait un problème. Je l'ai retirée et ça fonctionne depuis.

Merci.. bah ah ceux qui sont passés et puis à moi aussi du coup.
----------
Intel Core i7 2600K @ stock + Noctua NH-C12P SE14 - Asus P8Z68-M PRO - Corsair XMS3 PC12800 CAS 9 16 Go - NVidia GTX460 - Crucial M4 128 Go Revision 3.0 - WD Raptor WD1500ADFD - WD Caviar SE16 WD5000AAKS - Lian Li PC-V354B + Seasonic X-460 Fanless + Noctua NF-P14 FLX + Noctua NF-S12B ULN - Eizo S2110W + S1721-SH
- Haut de page -


Aller dans le forum :  

Plan du forum | Contacter l'administrateur

Powered by SoulBB 3.0.1
© Soulmanto, 2003-2010

Valid XHTML 1.0 Transitional

Page générée en 0.034 secondes