Formulaire mail AS2 + PHP

_Nuttela_ Messages postés 3 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 18 février 2009 - 18 févr. 2009 à 16:40
_Nuttela_ Messages postés 3 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 18 février 2009 - 18 févr. 2009 à 20:47
Bonjour, voilà mon soucis;
je travail sur un formulaire mail avec flash; cependant j'ai un léger problème, lorsque je rempli les champs du formulaire celui-ci reste sur sa phase d'envoi et ne passe pas soit à l'erreur, soit a l'envoi effectué...
Voici mon code PHP:

<?php

if($_POST['expediteur'] != NULL AND $_POST['objet'] != NULL AND $_POST['contenu'])
{
$destinataire = $_POST['destinataire'];
$expediteur = $_POST['expediteur'];
$objet = $_POST['objet'];
$contenu = $_POST['contenu'];

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);

$headers = 'From: "'.$expediteur.'';
//$headers = 'MIME-Version: 1.0\r\n';
//$headers .= 'Content-type: text/plain; charset=iso-8859-1\r\n';
//$headers .= 'From: $expediteur <$expediteur>\r\nReply-to : $expediteur <$expediteur>\nX-Mailer:PHP';

if(mail($destinataire,$objet,$contenu,$headers)) {

echo '&retour=OK&';

} else {

echo '&retour=ERREUR&';
}
} else {    
echo '&retour=ERREUR&'; }
?>

et l'AS:

clipInfoMail._visible = false;
function envoyerMail() {
    clipInfoMail.gotoAndStop(1);
    clipInfoMail._visible = true;
 
    reception = new LoadVars();
    envoi = new LoadVars();
 
    reception.onLoad = function(succes) {
        if(succes) {
         
            if(this.retour == "OK"){    // On affiche le clip d'infos à l'image 2 (succes)
                clipInfoMail.gotoAndStop(2);
           
                clipInfoMail.onRelease = function() {
                
                    clipInfoMail._visible = false;
                    clipInfoMail.gotoAndStop(1);
               
                    _root.saisieChpB.text = "";
                }
            }
            // Si le php indique une erreur lors de l'envoi
            if(this.retour == "ERREUR"){
              
                clipInfoMail.gotoAndStop(3);
            
                clipInfoMail.onRelease = function() {
                    clipInfoMail._visible = false;
                    clipInfoMail.gotoAndStop(1);
                 
                }
            }
        }
    }

    envoi.expediteur = _root.saisieChpA.text;
    envoi.destinataire = "m.goudard@live.fr";
    envoi.objet = _root.saisieChpC.text;
    envoi.contenu = _root.saisieChpB.text;

    envoi.sendAndLoad("flash2mail.php", reception, POST);
}

boutonSend.onPress = function() {

if ((_root.saisieChpB.text != ".") and (_root.saisieChpA.text.indexOf("@") != -1) && (_root.saisieChpA.text.indexOf(".") != -1)){
envoyerMail();

}
}

Éventuellement, je me demandais si le fait de placer le formulaire en loadMovie pouvait faire que celui-ci ne fonctionne pas, mais après un rapide test en le plaçant sur l'index en gotoAndStop, celà ne fonctionne pas non plus...

Je commence juste à voire le PHP , et je maitrise un tout petit peu l'actionscript.
Merci d'avance à ceux qui liront ceci jusqu'à la fin et qui répondront.
 

2 réponses

cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
18 févr. 2009 à 19:16
Salut et voici quelques conseils de debug :
- assures toi que la fonction envoyerMail() est bien appellée.
- tu ne gères pas le cas où (succes == false) dans le onLoad(), il faut au moins que tu affiches quelques choses (genre un clip avec du texte dedans qui te dit qu'il y a une erreur)
- c'est peut-être une erreur d'appel de ton script php, essaye une url absolue pour t'assurer que l'appel c'est bien effectué
- je n'ai pas regardé en détail ton script php mais tests s'il fonctionne. Pour cela tape le nom de ton script dans ta barre d'adresse de ton navigateur et transmet les variables à celui-ci de cette façon : http.....monScriptPhp?destinataire=m.goudard@live.fr&expediteur=bali@balo.com..... etc. Vérifie les variables renvoyées par php

Essaye ceci pour l'instant et tiens moi au courant !

bali_balo....=]
0
_Nuttela_ Messages postés 3 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 18 février 2009
18 févr. 2009 à 20:47
Merci de prendre le temps de répondre  bali_balo

aucunes erreurs que flash verrait, il me semble que la function envoyerMail( ) est bien appelée...
Pour ce qui est du (succes == false) dans le onLoad, il y a sa
if(this.retour == "ERREUR"){
      
                clipInfoMail.gotoAndStop(3);

je charge l'image 3 qui indique une erreur (img 3 d'un clip; si succes->img2, si false->img3)

et pour ce qui est de tes conseils en PHP jai pas tout compris...
0
Rejoignez-nous