Besoin d'aide pour modifier le code d'un formulaire en Flash vers PHP
cs_lilymay
Messages postés29Date d'inscriptionjeudi 22 septembre 2005StatutMembreDernière intervention13 juin 2009
-
10 mai 2009 à 15:15
cs_lilymay
Messages postés29Date d'inscriptionjeudi 22 septembre 2005StatutMembreDernière intervention13 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;
}
cs_lilymay
Messages postés29Date d'inscriptionjeudi 22 septembre 2005StatutMembreDernière intervention13 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.
// 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
ChasseurDeChimeres
Messages postés292Date d'inscriptionmercredi 7 novembre 2007StatutMembreDernière intervention15 janvier 20133 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.
cs_lilymay
Messages postés29Date d'inscriptionjeudi 22 septembre 2005StatutMembreDernière intervention13 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.
// 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+
Vous n’avez pas trouvé la réponse que vous recherchez ?
ChasseurDeChimeres
Messages postés292Date d'inscriptionmercredi 7 novembre 2007StatutMembreDernière intervention15 janvier 20133 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é.
++
cs_lilymay
Messages postés29Date d'inscriptionjeudi 22 septembre 2005StatutMembreDernière intervention13 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
cs_lilymay
Messages postés29Date d'inscriptionjeudi 22 septembre 2005StatutMembreDernière intervention13 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");
}
ChasseurDeChimeres
Messages postés292Date d'inscriptionmercredi 7 novembre 2007StatutMembreDernière intervention15 janvier 20133 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.