Forumlaire actionscript et php

Résolu
cs_lovis Messages postés 5 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 25 mai 2012 - 24 mai 2012 à 11:56
cs_lovis Messages postés 5 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 25 mai 2012 - 25 mai 2012 à 09:52
Bonjour,
J'ai réalisé une page de contact en AS3 mais je ne reçois pas les mails sur mon adresse:
Voici la page Contact.as :
package fr.odin.content

{

import com.greensock.TweenMax;

import flash.display.DisplayObject;
import flash.display.SimpleButton;
import flash.events.FocusEvent;
import flash.events.MouseEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.net.URLVariables;
import flash.text.TextField;
import flash.utils.Dictionary;



public class Contact extends ContentPage

{

public var envoyerBtn:SimpleButton;

public var prenom:TextField;

public var nom:TextField;

public var adresse:TextField;

public var ville:TextField;

public var codepostal:TextField;

public var pays:TextField;

public var telephone:TextField;

public var mail:TextField;

public var Message:TextField;

public var retourMail:TextField;

private var defaultContent:Dictionary;



public function Contact()

{

super();

}

// Le problème est liée à cet override ci-dessous



override protected function init():void

{

defaultContent = new Dictionary();



var d:DisplayObject;

var t:TextField;

var n:int = numChildren;

while( n-- )

{

d = getChildAt(n);

if ( d is TextField )

{

t = TextField( d );

t.embedFonts = true;

defaultContent[t] = t.text;



}

}

addEventListener( FocusEvent.FOCUS_IN, onFocus );
addEventListener( FocusEvent.FOCUS_IN, onFocus );
envoyerBtn.addEventListener( MouseEvent.CLICK, onSend );

super.init();

}

private function onFocus ( event:FocusEvent ):void
{
if ( event.target is TextField )
{
var t:TextField = TextField( event.target ); 
switch( event.type )
{
case FocusEvent.FOCUS_IN:
if ( t.text defaultContent[t] ) t.text "";

break;

case FocusEvent.FOCUS_OUT:
if (t.text "" )  t.text defaultContent[t]; 

break;

}
}
}

var mailPattern:RegExp = /^[a-z0-9][-._a-z0-9]*@([a-z0-9][-_a-z0-9]*\.)+[a-z]{2,6}$/; 
function checkMail( pEmail:String ):Boolean { 
var result:Array = pEmail.match( mailPattern ); 
return result != null; 
} 

private function onSend( event:MouseEvent = null ):void

{

if(!checkMail( mail.text )){
retourMail.text = "Adresse mail incorrecte.";
}
else {

//envoyer les données



var vars:URLVariables = new URLVariables();

vars.nom = nom.text;

vars.prenom = prenom.text;

vars.adresse = adresse.text;

vars.codepostal = codepostal.text;

vars.ville = ville.text;

vars.pays = pays.text;

vars.telephone = telephone.text;

vars.mail = mail.text;

vars.Message = Message.text;

var req:URLRequest = new URLRequest( 'http://odin.netau.net/mail.php');

req.method = URLRequestMethod.POST;

req.data = vars;



var sender:URLLoader = new URLLoader();

sender.load( req );



//fermer le formulaire

envoyerBtn.removeEventListener( MouseEvent.CLICK, onSend );

retourMail.text = 'Envoyer !' ;


Message.text = 'Merci pour votre message. Nous vous repondrons dans les plus brefs délais.';

TweenMax.to( envoyerBtn, 2, { autoAlpha: 0} );

}

}



}

}





et voici ma page php :
<?php 

if (isset($_POST['nom']) && isset($_POST['prenom'])&& isset($_POST['adresse'])&& isset($_POST['ville'])&& isset($_POST['codepostal']) && isset($_POST['pays']) && isset($_POST['mail']) && isset($_POST['telephone']) && isset($_POST['Message']) )
{

$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$adresse = $_POST['adresse'];
$ville = $_POST['ville']; 
$codepostal = $_POST['codepostal']; 
$pays = $_POST['pays'];    
$mail = $_POST['mail']; 
$telephone = $_POST['telephone']; 
$Message = $_POST['Message']; 

     //-----------------------------------------------
     //DECLARE LES VARIABLES
     //-----------------------------------------------

     $destinataire='odin@orgues-de-barbarie.com';
     $email_expediteur= $mail;
     $email_reply= $mail;
 

     $message_texte = $Message ; 
 $message_html = '<html>
     <head>
     <title></title>
     </head>
     
  "Nom:"'.$nom.'


  "Prénom:"'.$prenom.'


  "Adresse:"'.$adresse.'


  "Ville:"'.$ville.'


   "Code Postal:"'.$codepostal.'


    "Pays:"'.$pays.'


  "E-Mail:"'.$mail.'


 "Telephone:"'.$telephone.'


  "Message:"'.$Message.'


 
     </html>';

     //-----------------------------------------------
     //GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML
     //-----------------------------------------------

     $frontiere = '-----=' . md5(uniqid(mt_rand()));

     //-----------------------------------------------
     //HEADERS DU MAIL
     //-----------------------------------------------

 $headers = "From: ".$nom." <".$mail.">"."\r\n";
 $headers .= "Date: ".date('r')."\r\n";
 $headers .= "Sender: ".$destinataire."\r\n";
 $headers .= "Reply-To: ".$nom." <".$mail.">"."\r\n";
 $headers .= "X-Priority: 1 (Higuest)"."\r\n";
 $headers .= "X-MSMail-Priority: High"."\r\n";
 $headers .= "Importance: High"."\r\n";
 $headers .= "X-Mailer: PHP/".phpversion()."\r\n";
 $headers .= "Return-Path: ".$mail."\r\n";
 $headers .= "Mime-Version: 1.0"."\r\n";
 $headers .= "Content-Type: text/html; charset="UTF-8""."\r\n";
 $headers .= "Content-Transfer-Encoding:8bit"."\r\n";

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

     $message .= '--'.$frontiere.'--'."\n";
     $message .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n";
     $message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
     $message .= $message_texte."\n\n";

     //-----------------------------------------------
     //MESSAGE HTML
     //-----------------------------------------------
     $message .= '--'.$frontiere.'--'."\n";
     $message .= 'Content-Type: text/html; charset="iso-8859-1"'."\n";
     $message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
     $message .= $message_html."\n\n";

     $message .= '--'.$frontiere.'--'."\n";

     if(mail($destinataire,'email du site',$message_texte,$headers)){
 echo 'Votre email a bien été envoyé';
 }else{
 echo 'L\'envoi a échoué';
 }
     
}else{
echo 'Tous les champs n\'ont pas été renseignés.';
}
?>


Merci d'avance



[code=as]
/code

4 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
24 mai 2012 à 20:10
ton php te renvoie quelque chose par les "echo", il suffirait de tracer ce résultat pour l'afficher.

Peg'
3
cs_lovis Messages postés 5 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 25 mai 2012
25 mai 2012 à 09:52
Problème résolue: Il y avait quelque problème liée à l'objet mail et à l'action mail
3
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
24 mai 2012 à 13:51
Bonjour,

Outre le code, est-ce que ton php reçois bien les données envoyées à partir du flash, et si tel est le cas, répond-t-il favorablement en retour ?

Car on sait juste que tu ne reçois pas le mail, mais tu n'as pas cherché à savoir si les transferts se font bien ou pas ...

Peg'
0
cs_lovis Messages postés 5 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 25 mai 2012
24 mai 2012 à 16:31
Merci avant tout pour ta réponse.
Tout a fait peut-être que le transfert ne ce fait pas bien. Comment puis-je vérifier ceci ? Car je ne connais vraiment rien au php. J'ai adapter mon code à l'aide de tutoriel.
0
Rejoignez-nous