Aide pour faire un fichier PHP pour un formulaire en flash

cs_lilymay Messages postés 29 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 13 juin 2009 - 8 mai 2009 à 19:36
cs_lilymay Messages postés 29 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 13 juin 2009 - 11 mai 2009 à 15:08
lilymay

Bonjour,

Je cherche de l'aide pour créer mon fichier PHP pour l'envoi d'un formulaire à partir d'un fichier en flash.
En fait, j'ai déjà crée un formulaire en Flash avec la méthode "mailto" en ouvrant donc le logiciel de courrier de l'internaute. Cette méthode ne fonctionnant pas à 100% et je souhaiterais donc transformer mon script Flash et créer un fichier PHP pour utiliser la méthode POST côté serveur.
Or, je ne comprends pas :
1/ ce que je dois modifier dans mon script en flash
2/ quel code pour mon fichier PHP vu que je ne maîtrise pas ce langage.

J'aurais pu utiliser des exemples déjà fournis mais ils ne répondent pas à mes besoins, et la plupart semblent contenir des bugs.

Est-ce que qu'un spécialiste pourrait m'indiquer la marche à suivre sur mon code action script et le code PHP que je dois créer ?

Mon flash est constitué d'un clip, 10 variables, 3 codes as :

SCRIPT 1:

System.useCodepage = false;
stop ();

function RemplaceCar(lChaine, lRecherche, lRemplace) {
 var found = 0;
 var pos = lChaine.indexOf(lRecherche);
 while (pos>= 0) {
   found++;
   var start_string = lChaine.substr(0, pos);
   var end_string = lChaine.substr(pos + lRecherche.length);
   lChaine = start_string + lRemplace + end_string;
   pos = lChaine.indexOf(lRecherche, pos + lRemplace.length);
 }
 return lChaine;
}

SCRIPT 2 (bouton "envoyer" + message d'ouverture du logiciel de courrier electronique) :

on (release) {
  this.hMessage = "Message de : " +this.hPrenom+" " +this.hAge+" " +this.hAdresse+" " +this.hCPville+" " +this.hTelfixe+" " +this.hTelportable+" "+this.hEmail+"%0D%0A%0D%0A"+RemplaceCar(this.hMessage, unescape("%0D"), "%0D%0A")+"%0D%0A";
  this.hMessage += "_______________________________________________%0D%0A";
  this.hsubject = "contact via le site";
  getURL ("mailto:mon@adresse.com" + "?subject=" +this.hsubject+ "&body=" +this.hMessage);
  this.lMess = "Votre logiciel de courrier devrait s'ouvrir!"
}

SCRIPT 3 (bouton "rétablir" pour mes variables) :

on (release) {
    this.hPrenom = "";
    this.hAge = "";
    this.hAdresse = "";
    this.hCPville = "";
    this.hTelfixe = "";
    this.hTelportable = "";
    this.hEmail = "";
    this.hMessage = "";
    this.IMess = "";
    this.hsubject = "";
}

Merci par avance pour votre aide, c'est assez urgent.

2 réponses

fredvlvcec Messages postés 28 Date d'inscription lundi 9 février 2004 Statut Membre Dernière intervention 13 mai 2009
11 mai 2009 à 08:17
Salut ! Il y a pas mal de trucs à régler pour faire du mail par Flash et PHP. Les retours charriots à rétablir ou prévenir le navigateur cible en quel format sont les données qu'il reçoit (UTF-8 (international 1 à 6 octets)  ou ISO-8859-1 (européen 1 octet)). Sinon les caractères pourraient être affichés de façon plus ou moins exotiques.
Tu as la réponse à toutes tes questions dans ma source (le PHP n'est pas à modifier mais il contient toutes
les infos).

http://www.flashkod.com/codes/MAIL-FLASH-CS3-AS2-PHP_48996.aspx

fred
0
cs_lilymay Messages postés 29 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 13 juin 2009
11 mai 2009 à 15:08
lilymay,

Merci à toi. En fait j'ai déjà eu une réponse que je vais tester, mais si ça ne fonctionne pas je garde ton script sous la main.
J'ai tenté de ne pas trop toucher à mon script flash, sinon ça m'obligeait à remanier pas mal de choses.

En somme j'ai retouché mon SCRIPT 2 de la manière suivante :

1- j'ai remplacé la fonction geturl-mailto par geturl ("mail.php","","POST");
2- j'ai supprimé la variable Imes concernant l'ouverture du logiciel de messagerie

Au SCRIPT 3, j'ai supprimé la variable IMess

Pour mon code PHP, j'ai fais comme suit :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title> nous contacter</title>
</head>

<?php
function decoder($texte){
$texte = utf8_decode($texte); // converti en iso-8859-1
$texte = stripslashes($texte); // élimine les anti-slashs d'échappement
$texte = nl2br($texte); // converti les retours en

$texte = trim($texte); // élimine les '\n', '\r', '\t' etc
return $texte;
}

// Ici, on déclare explicitement en php nos variable que nous avons reçu de flash par la méthode post.
$email = "mon@adresse.fr"; // ajouter ici votre mail
$hPrenom= $_POST["hPrenom"];
$hAge= $_POST["hAge"];
$hAdresse= $_POST["hAdresse"];
$hCPville= $_POST["hCPville"];
$hTelfixe= $_POST["hTelfixe"];
$hTelportable= $_POST["hTelportable"];
$hEmail= $_POST["hEmail"];
$hMessage= $_POST["hMessage"];
$hsubject = $_POST["hsubject"];

// Envoi du mail

mail($email, "$hsubject ", $hMessage , "From: Administrateur du site");
$motif=".+@.+\..+";
if(!eregi($motif,$email) AND !empty($email)){
$msg=".Veuillez saisir une adresse email valide.";
}
?>

</html>

J'aimerais également que l'internaute recoive un mail de confirmation du genre "message bien envoyé".
Quelle ligne de code dois-je rajouter et où?

J'espère que ce script fonctionnera, je vais tester. Mais si tu vois des erreurs, merci de me le signaler.

Merci encore.
0
Rejoignez-nous