IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

AS3-PHP, fonction de validation de fonctionne pas.


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2008
    Messages : 31
    Points : 20
    Points
    20
    Par défaut AS3-PHP, fonction de validation de fonctionne pas.
    Bonjour à tous,

    J'ai réalisé un formulaire en AS3 qui me permet par le biais de PHP d'envoyer un mail dans ma boite mail lorsque le formulaire est validé (bouton submit).
    Jusque là tout se passe très bien, mon fichier swf communique bien avec mon fichier PHP puisque je reçois un mail avec toutes les données insérées. Mais voilà, la personne qui valide son formulaire ne reçois aucun message de validation. J'ai pourtant créé un fonction en AS3 qui devrait permettre ceci...
    Je suis débutante et j'ai dejà passé des lustres à comprendre le fonctionnement pour faire ce formulaire... mais là j'avoue que je cale...

    Quelqu'un pour m'aider?!


    AS3:
    Code X : 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
    import fl.controls.RadioButtonGroup;
    
    var urlLoader:URLLoader = new URLLoader();
    var urlVariables:URLVariables = new URLVariables();
    
    var nzl:RadioButtonGroup = new RadioButtonGroup ("newsletter");
    rb1.group = rb2.group = nzl;
    
    
    //Valide le formulaire
    btEnvoyer.addEventListener(MouseEvent.CLICK,checkFormulaire);
    
    function checkFormulaire(evt:MouseEvent){
    	urlVariables.userNom = form_nom.text;
    	urlVariables.userEntreprise = form_entreprise.text;
    	urlVariables.userTel = form_tel.text;
    	urlVariables.userEmail = form_email.text;
    	urlVariables.userMessage = form_message.text;
    	urlVariables.userNewsletter = nzl.selection.label;
    	urlVariables.userAmelioration = "";
    	for(var i:uint=1;i<4;i++){
    	if(this["form_rub" + i].selected){
    		urlVariables.userAmelioration +=this["form_rub" + i].label + " / ";
    	}
    	var urlRequest:URLRequest = new URLRequest("envoi_mail2.php");
    	urlRequest.data = urlVariables;
    	urlRequest.method = URLRequestMethod.POST;
    	urlLoader.addEventListener(Event.COMPLETE,donneesChargees);
    	urlLoader.load(urlRequest);
    }
    }
    //Verification
    function donneesChargees (e:Event) :void {
    	resultat.text = e.target.data;


    Fichier PHP (envoi_mail2.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
    <?php
    //Récupération des variables envoyées par flash à la méthode POST
    $userNom = $_POST["userNom"];
    $userEntreprise = $_POST["userEntreprise"];
    $userTel = $_POST["userTel"];
    $userEmail = $_POST["userEmail"];
    $userMessage = $_POST["userMessage"];
    $userAmelioration = $_POST["userAmelioration"];
    $userNewsletter = $_POST["userNewsletter"];
     
    $userMessage = ereg_replace("(\r\n\n\r)", "<br/>",$userMessage);
    $userMessage = stripslashes($userMessage);
     
    //Construction du mail
    $message = "<html><body bgcolor=\"#FFFFFF\"><fontface=\"verdana\" size=2 color=\"333333\">";
    $message .= "<b>Email : </b>$userEmail<br/><br/>";
    $message .= "<b>Message : </b>$userMessage<br><br>";
    $message .= "<b>Inscription à la newsletter :</b>$userNewsletter<br><br>";
    $message .= "<b>Telephone : </b>$userTel<br><br>";
    $message .= "<b>Objet du mail : </b>$userAmelioration<br><br>";
    $message .= "</font></body></html>";
     
     
    //Headers
     
    $headers = "from: " . $userEmail . "\n";
    $headers .= "Reply-To: " . $userEmail . "\n";
    $headers .= "Content-Type: text/html;charset=iso-8859-1\n";
     
    //Envoi du mail
     
    if(mail('xxxxxx@gmail.com',$userNom,$message,$headers)){
    echo"Message envoyé !";
    }else{
    echo"Erreur dans l'envoi du formulaire";
    }
    ?>
    Je précise que mon fichier PHP se trouve donc au même endroit que mon swf dans le dossier racine de mon site, que mon swf est inséré dans du html.
    Y a-t-il besoin de phpmyadmin, une base de données... un truc comme ça!!! je stresse déjà!!!!!!!!!!!

  2. #2
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    C'est ton formulaire Flash qui doit afficher le message. PHP ne fait qu'envoyer ce message.
    Pour envoyer un message vers un script Flash, utilise par exemple :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if(mail('xxxxxx@gmail.com',$userNom,$message,$headers)){
    echo"&mess=ok";
    }else{
    echo"&mess=error";
    }
    Côté flash, on utilise l'evènement onload, exemple :
    Code flash : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    PhpObject.onLoad=function(success){
      if(success){
        if(this.mess=='ok'){
          ShowError("mail envoyé avec succès");
        }else{
          ShowError("Erreur durant l'envoi du mail");
        }
      }else{
        ShowError("Erreur durant le chargement du script.");
      }
    }
    Il faudra que tu programmes toi-même la fonction ShowError.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2008
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    Merci pour la réponse!
    lorsque j'insère le code dans mon flash, voici les messages d'erreurs dans flash:

    1120: Accès à la propriété non définie PhpObject.
    et
    1180: Appel à une méthode qui ne semble pas définie, ShowError.

  4. #4
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    J'utilise LoadVars et sendAndLoad du Flash pour envoyer des infos vers PHP :
    http://flash.developpez.com/faq/flas...eur#envoi_data
    Remarque : Vu que la classe permet d'envoyer et de recevoir des données, il est bien entendu possible de faire les deux processus en même temps : envoyer et recevoir.
    Pour cela, il suffit d'utiliser la méthode sendAndLoad
    Ensuite, pour récupérer le résultat de PHP, j'utilise this dans la fonction onLoad du LoadVars...

    [EDIT] Au passage, j'ai trouvé ceci qui devrait te simplifier les choses je pense :

    http://bolo.developpez.com/mail/
    http://matthieu-deloison.developpez....rmulaire-mail/

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2008
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    merci pour toutes ces infos, je vais plancher dessus!

    Vive l'intelligence collective!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Flex/AS3 : fonction search qui ne fonctionne pas
    Par rickblue dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 23/12/2011, 11h01
  2. TALEND : La fonction Export / Import ne fonctionne pas
    Par chebdo dans le forum Installation, migration et administration
    Réponses: 2
    Dernier message: 30/05/2011, 17h03
  3. [PHP-JS] header() qui ne fonctionne pas
    Par Panther dans le forum Langage
    Réponses: 17
    Dernier message: 18/04/2007, 07h42
  4. Réponses: 4
    Dernier message: 30/03/2007, 10h37
  5. Fonction While {} qui ne fonctionne pas
    Par zoom61 dans le forum Langage
    Réponses: 3
    Dernier message: 15/11/2006, 12h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo