Bonjour,

Je me permets de posté ici car cela fait 2 jours que je me prend la tête pour essayer de faire fonctionner mon formulaire contact et que cela ne fonctionne pas. Lorsque je fais un test avec la méthode GET, les informations sont correctement envoyées, mais le PHP n'arrive pas à les traiter correctement, hors ce formulaire fonctionne très bien avec tous mes site PHP, mais il ne renvois pas d'information de statut du message au flash.

Comme je suis un peu moins calé avec AS, je pense que mon problème viens de là.

J'ai déjà effectuer des recherches sur différents forums et fait différents tests mais aucune réponse n'a pu résoudre mon problème.

Voilà, j'ai créer un formulaire contact en Flash AS 2.0 avec vérification et envoi du mail via un fichier PHP.

Mon site intègre plusieurs Movie clip imbriqués donc afin de cibler les bonnes variables, je les cibles à partir de la racine _root.

Voici les codes CODE BOUTON ENVOYER en
Action Script

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
on (release) { 
   //Lorsque l´on clic sur le bouton envoyer "bSubmit", création d´une variable vérifiant l´envoi des variables à partir de flash au fichier PHP 
 
    var emailReponse:LoadVars = new LoadVars(); 
    emailReponse.onLoad = function(success:Boolean) 
     { 
        if (success)  
        { 
        _root.debug.debug_txt = "Ok"; 
        }  
        else  
        { 
                  _root.debug.debug_txt = "erreur lors du téléchargement du contenu"; 
        } 
    }; 
    // Création d´une variable de "transmission" qui permettra de transmettre l´ensemble des informations nécessaires au fichier de vérification. 
       var email:LoadVars = new LoadVars(); 
       email.nom = _root.nom.nom; 
       email.prenom = _root.prenom.prenom; 
       email.sujet = _root.sujet.sujet; 
       email.mail = _root.mail.mail; 
    email.messages = _root.messages.messages; 
        //Envoi des variables au fichier de vérification et d´envoi du message"contact.php" 
        email.sendAndLoad("contact.php",emailReponse,"POST"); 
        //Affichage du statut du message envoyer via un movie clip "messmail" 
 _root.messmail.gotoAndPlay("boucle"); 
       //Remise à l´état initial  du bouton envoyer "bSubmit" 
 _root.bSubmit.gotoAndPlay("ok"); 
} 
 
on (release) {   //Lorsque l'on clic sur le bouton envoyer "bSubmit", création d'une variable vérifiant l'envoi des variables à partir de flash au fichier PHP    var emailReponse:LoadVars = new LoadVars();    emailReponse.onLoad = function(success:Boolean)     {        if (success)         {		   _root.debug.debug_txt = "Ok";        }         else         {                  _root.debug.debug_txt = "erreur lors du téléchargement du contenu";        }    };    // Création d'une variable de "transmission" qui permettra de transmettre l'ensemble des informations nécessaires au fichier de vérification.       var email:LoadVars = new LoadVars();       email.nom = _root.nom.nom;       email.prenom = _root.prenom.prenom;       email.sujet = _root.sujet.sujet;       email.mail = _root.mail.mail;	email.messages = _root.messages.messages;        //Envoi des variables au fichier de vérification et d'envoi du message"contact.php"        email.sendAndLoad("contact.php",emailReponse,"POST");        //Affichage du statut du message envoyer via un movie clip "messmail"	_root.messmail.gotoAndPlay("boucle");       //Remise à l'état initial  du bouton envoyer "bSubmit"	_root.bSubmit.gotoAndPlay("ok");}


CODE MOVIE CLIP AFFICHAGE ETAT DU MESSAGE APRES TRAITEMENT DU MAIL
Action Script

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
 
stop(); 
if (_root.mauvais_email == 1) 
{ 
   gotoAndStop("email"); 
} 
else if (_root.var_manquante == 1) 
{ 
   gotoAndStop("manquant"); 
} 
else if (_root.envoi_reussi == 1) 
{ 
 gotoAndStop("ok"); 
} 
else 
{ 
    gotoAndStop("echec"); 
} 
 
 
stop();if (_root.mauvais_email == 1){	gotoAndStop("email");}else if (_root.var_manquante == 1){	gotoAndStop("manquant");}else if (_root.envoi_reussi == 1){	gotoAndStop("ok");}else{	gotoAndStop("echec");}
Voici le code PHP

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
 
 
<?php  
//Récupération des données transmis par le formulaire flash 
$nom = utf8_decode(stripslashes($_POST["nom"])); 
$prenom = utf8_decode(stripslashes($_POST["prenom"])); 
$mail = utf8_decode(stripslashes($_POST["mail"])); 
$sujet = utf8_decode(stripslashes($_POST["sujet"])); 
$messages = utf8_decode(stripslashes($_POST["messages"])); 
 
//Initialisation des variables de statut du message 
$var_manquante = 0; 
$op_fin = 0; 
$mauvais_email = 0; 
$envoi_reussi=0; 
 
 
//Composition du message 
$nom_pre = $nom.' '.$prenom ; 
 
$messagecomp = '<table width="100%"> 
  <tr> 
      <td style="font-size:12px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; color:#000000; " width="100%"> 
         <i>Message envoyé de la part de '.$nom_pre.' .</i> 
      </td> 
 </tr> 
 <tr> 
      <td  style="font-size:12px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; color:#000000; "> 
         <br /><br /> 
            '.$messages.'  
          <br /><br /><br /> 
        </td> 
 </tr> 
</table>' ; 
 
//version Mine  
$headers = "MIME-Version: 1.0\r\n";  
 
//détermine le mail au format html  
$headers .= "Content-type: text/html ; charset=iso-8859-1\r\n";  
 
// détermine l´expediteur et l´adresse de réponse  
$headers .= "From: $nom_pre  <$mail>\r\nReply-to : $nom_pre <$mail>\nX-Mailer:PHP";  
 
// Initialisation des paramètre de messagerie 
ini_set('sendmail_from´, $mail); 
ini_set('smtp_port´, '25'); 
ini_set('SMTP´,'smtp.orange.fr´); 
 
//Si l´un des champs est vide 
if (($prenom== '') || ($nom == '')||($mail == '')||($sujet == '')||($messages== '')) 
{ 
    // on indique au Flash que des var manquent 
    $var_manquante=1; 
} 
else 
{ 
    //si l´email n´est pas conforme 
   if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$",$mail)) 
    { 
        // on indique a Flash que l´e-mail n´est pas valide 
      $mauvais_email = 1; 
 } 
   else 
    { 
       // si l´envoi du message est correct 
       $mail_OK=mail("chantoin@yahoo.fr",$sujet,$messagecomp,$headers)){ 
       // renvoie envoi_reussi à 1 si le mail a été envoyé 
     // et 0 dans le cas contraire ! 
     $envoi_reussi=$mail_OK; 
 
 } 
} 
 // on indique que l´opération est terminée 
$op_fin=1; 
echo "&var_manquante=".$var_manquante."&op_fin=".$op_fin."&mauvais_email=".$mauvais_email."&envoi_reussi=".$envoi_reussi; 
?>  
 
<?php //Récupération des données transmis par le formulaire flash$nom = utf8_decode(stripslashes($_POST["nom"]));$prenom = utf8_decode(stripslashes($_POST["prenom"]));$mail = utf8_decode(stripslashes($_POST["mail"]));$sujet = utf8_decode(stripslashes($_POST["sujet"]));$messages = utf8_decode(stripslashes($_POST["messages"]));//Initialisation des variables de statut du message$var_manquante = 0;$op_fin = 0;$mauvais_email = 0;$envoi_reussi=0;//Composition du message$nom_pre = $nom.' '.$prenom ;$messagecomp = '<table width="100%">	<tr>		<td style="font-size:12px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; color:#000000; " width="100%">			<i>Message envoyé de la part de '.$nom_pre.' .</i>		</td>	</tr>	<tr>		<td  style="font-size:12px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; color:#000000; ">			<br /><br />			'.$messages.' 			<br /><br /><br />		</td>	</tr></table>' ;//version Mine $headers = "MIME-Version: 1.0\r\n"; //détermine le mail au format html $headers .= "Content-type: text/html ; charset=iso-8859-1\r\n"; // détermine l'expediteur et l'adresse de réponse $headers .= "From: $nom_pre  <$mail>\r\nReply-to : $nom_pre <$mail>\nX-Mailer:PHP"; // Initialisation des paramètre de messagerieini_set('sendmail_from', $mail);ini_set('smtp_port', '25');ini_set('SMTP','smtp.orange.fr');//Si l'un des champs est videif (($prenom== '') || ($nom == '')||($mail == '')||($sujet == '')||($messages== '')){    // on indique au Flash que des var manquent    $var_manquante=1;}else{	//si l'email n'est pas conforme	if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$",$mail))	{		 // on indique a Flash que l'e-mail n'est pas valide		$mauvais_email = 1;	}	else	{	    // si l'envoi du message est correct	    $mail_OK=mail("chantoin@yahoo.fr",$sujet,$messagecomp,$headers)){	    // renvoie envoi_reussi à 1 si le mail a été envoyé	    // et 0 dans le cas contraire !	    $envoi_reussi=$mail_OK;	}} // on indique que l'opération est terminée$op_fin=1;echo "&var_manquante=".$var_manquante."&op_fin=".$op_fin."&mauvais_email=".$mauvais_email."&envoi_reussi=".$envoi_reussi;?>

Voilà, je ne pensais pas qu'il y avait des erreurs de logique ou de programmation mais vu que cela ne fonctionne pas, je me pause des questions :-(.
Donc si quelqu'un pouvait m'aider se serait très sympas.

Merci pour votre aide.

Configuration: Windows Vista, Firefox 3.0.10, IE 7 EasyPHP 2.0