Envoyer mail via flash/php

Gd-stef
Invité n'ayant pas de compte PHPfrance

20 mars 2008, 20:23

Bonjour

En plein apprentissage de php et actionscript2 , je m'essaye a créer un formulaire qui me permettrais d'obtenir les infos via e-mail.
En fait j'ai bien besoin de quelques conseils éclairés.

Mon code php
PHP:
    <?    

    //------------ récup des infos contenues dans l'adresse ----------
    $nom = $HTTP_GET_VARS['nom'];
    $prenom = $HTTP_GET_VARS['prenom'];
    $bebe = $HTTP_GET_VARS['bebe'];


    //---------- création du corps du message -----------
    $corps_du_mail  = "Nom : $nom \n";
    $corps_du_mail .= "Prénom : $prenom \n";
    $corps_du_mail .= "Nombre de bébés : $bebe \n";


    //---------- expédition mail  -----------
    $destinataire = "[email protected]";
    $result = mail_perso ($destinataire, "CONTACT XXXXXXXX",
    $corps_du_mail);
    if (  ! $result) {
       print "Y'a un pb dans l'expédition du mail, ça a foiré !";
    }
    else {
       print "youpppiiiii, ça a marché. Allons voir dans la boite à mail. !";
    }

    //------- définition de la fonction mail_perso  -------------
    function mail_perso($destinataire, $objet , $message) {
        $from    = '[email protected]';
        $header  = "Date: ".date("D, d M Y H:i:s")."\n";
        $header .= "From:$from\n";
        $header .= "Reply-to: $from\n";
        $result =  mail($destinataire,$objet,$message,
    $header);
        if ( ! $result) {die("erreur sur expédition de mail");}
        else {return $result;}
    }


    ?>

celui du bouton flash

ActionScript:

Code : Tout sélectionner

envoyez_bt.onPress = function() { adresse = "/xxxxxx/envoyermail.php?nom="+vNom+"&prenom="+vPrenom+"&bebe="+vBebe; loadVariablesNum(adresse, 0); };



et voici ce que je reçois dans ma boite mail
Citation:Nom : _level0.vNom
Prénom : _level0.vPrenom
Nombre de bébés : _level0.vBebe

Je pense que je me plante dans la rédaction du code sur le bouton flash.

En gros je me mélange pas mal les pinceaux , merci de votre aide.

ViPHP
ViPHP | 4674 Messages

20 mars 2008, 21:08

Je ne saurais pas répondre, mais va jeter un œil du côté de l'encodage PHP et Flash (moteur de recherche).

Et une chose, laisse tomber $HTTP_GET_VARS ! Utilise $_GET !
$nom = $_GET['nom'];
$prenom = $_GET['prenom'];
$bebe = $_GET['bebe'];
Pour des raisons de sécurité principalement.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

ViPHP
ViPHP | 2287 Messages

21 mars 2008, 08:43

En complément du problème d'encodage de mail repéré par HyWaN, tu as visiblement un problème dans tes variables : le nom de tes variables flash se retrouve dans le mail (au lieu de leur valeur). Cela peut signifier que le nom de tes variables est incorrect ou que ta façon d'y accéder n'est pas la bonne. (Apparemment tu te situes dans le contexte d'une fonction flash, c'est important si tu veux accéder à des variables extérieures à la fonction, comme ici).

Sinon, deux fonctions te seront particulièrement utiles : en php, la fonction print_r() et en AS la fonction trace(). N'hésite pas à les utiliser pour visualiser l'état d'une variable à un instant T, cela te permettra d'isoler à quel endroit ton code ne se comporte pas comme tu le veux.
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Gd-stef
Invité n'ayant pas de compte PHPfrance

21 mars 2008, 15:58

merci de vos réponse je vais regarder tout ça.

Gd-stef
Invité n'ayant pas de compte PHPfrance

25 mars 2008, 16:57

en effet une erreur de syntaxe, j'ai oublié les propriétés .text à mes variables As

Code : Tout sélectionner

envoyez_bt.onPress = function() { adresse = "/xxxxxx/envoyermail.php?nom="+vNom.text+"&prenom="+vPrenom.text+"&bebe="+vBebe.text; loadVariablesNum(adresse, 0); trace(adresse); };
Il me serais d'ailleurs plus utile d'utiliser un Loadvars, mais ceci est une autre histoire.

Merci des conseils.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

25 mars 2008, 17:41

Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton Image qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer