BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 2014
-
18 déc. 2009 à 21:47
BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 2014
-
18 déc. 2009 à 23:24
Bonsoir à toutes et à tous,
j'ai un script php que j'ai modifié pour un formulaire e-mail en Flash, le script php marche très bien à ceci près que lorsque l'utilisateur envoie son message, le script php lui envoie une réponse automatique. Cette réponse automatique ne s'affiche malheureusement pas correctement dans l'e-mail reçu.
Voici mon script php :
<?php
// On récupère les infos envoyées par le flash
$expediteur = $_POST['expediteur'];
$destinataire = $_POST['destinataire'];
$objet = $_POST['objet'];
$contenu1 = $_POST['nom'];
$contenu2 = $_POST['prenom'];
$contenu3 = $_POST['phone'];
$contenu4 = $_POST['contenu'];
// Fonction de mise en forme du texte (caractères spéciaux, retours à la ligne, etc...)
function decoder($texte){
$texte = utf8_decode($texte);
$texte = str_replace("\r", "\n", $texte);
$texte = str_replace("\'", "'", $texte);
return $texte;
}
// Mise en forme du contenu du message et de l'objet
$objet = decoder($objet);
$contenu_complet = "\nNom : ".decoder($contenu1)."\n"."\nPrénom : ".decoder($contenu2)."\n"."\nTéléphone : ".decoder($contenu3)."\n"."\nMessage : "."\n".decoder($contenu4)."\n";
// Headers
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$headers .= "From: $expediteur <$expediteur>\r\nReply-to : $expediteur <$expediteur>\nX-Mailer:PHP";
// On envoie le mail avec un test if pour savoir si ca a fonctionnÈ ou pas
if(mail($destinataire,$objet,$contenu_complet,$headers)) {
// Si c'est bon, on envoie ceci ‡ flash
echo "&retour=OK&";
$answer = "Votre message a bien été envoyé, j'y\n
répondrai dans les plus brefs délais.\n\n
Cordialement,\n\n
BBFUNK01\n
http://www.monsite.com\n
contact@monsite.com\n
Tél.: 00.00.00.00.00\n
Mobile: 00.00.00.00.00";
mail( $_POST['expediteur'], "ACCUSE DE RECEPTION - BBFUNK01", stripslashes(decoder($answer))."\n\n", "From:contact@monsite.com\n" );
// qui interpretera ca comme l'envoi de la variable retour (voir le flash)
} else {
// Pareil si ca a échoué
echo "&retour=ERREUR&";
}
?>
La zone du script qui ne marche pas correctement est celle qui commence par "$answer", donc si quelqu'un détecte le défaut je suis preneur de la solution.
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 18 déc. 2009 à 22:07
Salut,
Ca peut venir de plusieurs endroits.
A vue de nez je dirai que ton script est déjà en UTF8 (c'est une supposition hein)
Vire donc ta fonction decoder dans le second mail, et ajoute les headers qui vont bien (charset=utf-8)
Si le problème existe toujours n'hésite pas à reposter.
BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 20146 18 déc. 2009 à 22:20
Bonsoir Kohntark, merci pour ta réponse des plus rapides, quand tu dis "ajoutes les headers qui vont bien (charset=utf-8)", comment dois-je mettre ça en forme ? (je ne suis pas du tout un expert en php...).
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 18 déc. 2009 à 23:17
Arf, mon "vue de nez" n'était pas bon J'avais pris soin de préciser que c'était juste une supposition car le problème pouvait venir de plusieurs choses.
ce n'est pas le moment que je fasse un loto moi