Besoin d'aide pour modifier le code d'un formulaire en Flash vers PHP

cs_lilymay Messages postés 29 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 13 juin 2009 - 10 mai 2009 à 15:15
cs_lilymay Messages postés 29 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 13 juin 2009 - 21 mai 2009 à 01:29
lilymay

Bonjour à tous

J'ai créé un formulaire sous flash avec la méthode mailto, qui s'ouvre donc avec le logiciel de messagerie de l'internaute. Ca ne fonctionne pas correctement donc je voudrais reprendre ce fichier et utiliser la méthode PHP +serveur.
Or, malgré les différents tutos, je ne comprends pas ce que je dois modifier sur mon code en flash + comment créer mon fichier PHP adapté. (je sais modifier un script mais pas je ne programme pas !).

Est ce que qqn pourrait m'aider à construire ce fichier PHP, et à modifier mon code flash en conséquence, sachant que j'ai déjà ceci sur mon code flash :

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 "rétablir") :
on (release) {
    this.hPrenom = "";
    this.hAge = "";
    this.hAdresse = "";
    this.hCPville = "";
    this.hTelfixe = "";
    this.hTelportable = "";
    this.hEmail = "";
    this.hMessage = "";
    this.IMess = "";
    this.hsubject = "";
}

SCRIPT 3 (bouton "envoyer"):

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!"
}

Merci à ceux qui voudront bien m'aider.

10 réponses

ChasseurDeChimeres Messages postés 292 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 15 janvier 2013 3
10 mai 2009 à 16:14
   Slt;
pour ça tu dois modifier le "getURL" (avant derniere ligne du script 3) pour le remplacer par un truc dans ce genre :
       http://flash-nicoeum.over-blog.com/article-1647288.html
   ++
0
cs_lilymay Messages postés 29 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 13 juin 2009
10 mai 2009 à 23:06
lilymay

Merci pour la réponse.
Donc si j'ai bien compris, avec le Geturl, j'appelle le fichier PHP et les autres scripts ne bougent pas.
Je supprime également la variable Imess (après le geturl) car "le logiciel de messagerie ne s'ouvre plus"...

Et selon le lien que vous m'avez donné j'ai crée le fichier PHP suivant (selon mes variables), pourriez vous voir s'il contient des erreurs, merci encore !

<?php

// Ici, on déclare explicitement en php nos variable que nous avons reçu de flash par la méthode post.

$email = "mon@adresse.com"; // 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"];

// on crée une variable message qui va concatener l'ensemble des informations pour les passer dans le corps du message
$message =
"Nom : ".$hPrenom."// est-ce normal les points entre les guillemets?
mail utilisateur : ".$hEmail."// autre question : dans mon flash je n'utilise pas Nom, mail_utilisateur, sujet_mail, texte mais j'ai appelé les bonnes variables de mon flash (hPrenom, hEmail...) est ce que ca a une incidence ?
sujet_mail: ".$hsubject."
texte: ".$hMessage;

// Envoi du mail : j'ai rajouté la partie en bleue vu que le script ne fonctionnait pas d'après les commentaires...

mail($email, "Mail automatique", $message , "From: Administrateur du site");
$motif=".+@.+\..+";
if(!eregi($motif,$email) AND !empty($email)){
$msg=".Veuillez saisir une adresse email valide.";
}
?>
Pouvez-vous me dire si ce code convient, merci pour votre aide
0
ChasseurDeChimeres Messages postés 292 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 15 janvier 2013 3
11 mai 2009 à 00:13
   Bonsoir;
A première vue tout m'a l'air exact, il me semble que tu as bien fait les correspondances entre les variables (du coup le nom que tu leur donne n'a pas d'incidence), donc cela devrais fonctionner. Les points avec les guillemets servent, en Php, à concatener des chaines de caractères comme le "+" en action script.
      bonne semaine.
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:17
lilymay

Merci à toi, je vais encore te solliciter. D'après ce que je lis, il faut penser à la fonction "decoder en UTF 8" j'ai donc rajouté ceci en début de script  et je voudrais savoir si ça ne fait pas double emploi avec mon SCRIPT 1 de mon code AScript.

<!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>

Et dernière question, je voudrais au final garder ma variable Imess (après le geturl dans mon script 2") et que cette variable soit une information destinée à l'internaute : "votre message a bien été envoyé".
En dehors de la variable que je dois donc rajouter sur mon php, quelle ligne de code dois-je rajouter, quelle est la procédure la plus simple ?

Merci encore, a+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ChasseurDeChimeres Messages postés 292 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 15 janvier 2013 3
11 mai 2009 à 16:01
   Slt;
En effet ce traitement peut être intéressant, mais pour ma part je reste en utf8 tout le long (actionscript, php, html et sql) pour éviter tout problème à ce niveau là.
Mais dans ton cas où il s'agit d'envoyer un mail c'est peu etre plus prudent en effet de l'envoyer en ANSI.
Pour le message tu n'as pas à l'envoyer vers le php vu que c'est un info exploitée par flash, normalement tu as juste à changer le message inaproprié.
   ++
0
cs_lilymay Messages postés 29 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 13 juin 2009
20 mai 2009 à 13:59
lilymay

bonjour je reviens à ce sujet. Mon formulaire fonctionne bien et je t'en remercie, je recois bien les messages dans la boite
Une seule chose : lorsque le message est envoyé j'ai une page blanche qui s'ouvre avec rien dedans.
Peut-on y mettre "Votre message a bien été envoyé" et quelle ligne de code dans le mail.php ?
Quelle ligne de code pour faire en sorte de retourner au site ?
Merci
0
ChasseurDeChimeres Messages postés 292 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 15 janvier 2013 3
20 mai 2009 à 14:18
   Re;
Alors tu peux utiliser le php pour rediriger vers ton site avec le methode "header" :
      

header("Location: tapage.html");


Cependant cette méthode doit être appelée avant que la page se construise, cad avant que du html ne soit implémenter (même juste un espace).

ou alors il reste le javascript :
     

  <script>
                 document.location.href="tapage.html";
       </script>






   bonne chance
0
cs_lilymay Messages postés 29 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 13 juin 2009
20 mai 2009 à 14:53
lilymay
merci... je choisis la méthode javascript. Dois je l'insérer à la fin de mon code PHP ? je vais tester

Problème de taille :
les messages que je reçois ne contiennent pas le corps du message mais ça :
%0D%0A%0D%0Atest 2%0D%0A_______________________________________________%0D%0A

ma variable dans le php est $hMessage
mon script dans flash est :

SCRIPT 3 (bouton "envoyer"):

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 ("mail.php","","POST");
}
0
ChasseurDeChimeres Messages postés 292 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 15 janvier 2013 3
20 mai 2009 à 17:33
 Slt;

cette partie :
    this.hEmail+"%0D%0A%0D%0A"+RemplaceCar(this.hMessage, unescape("%0D"),       "%0D%0A")+"%0D%0A";
    this.hMessage += "_______________________________________________
    %0D%0A";

sert (à mon avis) à formater le texte tu peu essayer sans et remplacer cette partie par juste "hEmail" normalement si t'as un bon mailer y'aura pas de problèmes.
Sinon je peu pas t'aider, si ça marche pas poste un nouveau post .
  dsl.
0
cs_lilymay Messages postés 29 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 13 juin 2009
21 mai 2009 à 01:29
lilymay
j'avais déjà essayé, ça marche pas... je vais regarder côté php
Merci quand même, Slt;
0
Rejoignez-nous