Formulaire d'envoi de mail

Signaler
Messages postés
31
Date d'inscription
mardi 1 avril 2008
Statut
Membre
Dernière intervention
10 mars 2011
-
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
-
J'ai un formulaire online mais le corps du mail est illisible.

Voici le code :
<?php

if($_POST["nom"]!="" AND $_POST["mail"]!=""){

$contmail = $_POST['mail'];
$contnom = $_POST['nom'];

if(isset($_POST['prenom']) AND $_POST['nom']!="")
{$contprenom = $_POST['prenom'];}
if(isset($_POST['societe']) AND $_POST['societe']!="")
{$contsociete = $_POST['societe'];}
if(isset($_POST['fonction']) AND $_POST['fonction']!="")
{$contfct= $_POST['fonction'];}
if(isset($_POST['phone']) AND $_POST['phone']!="")
{$contphone= $_POST['phone'];}
if(isset($_POST['service']) AND $_POST['service']!="")
{$contser= $_POST['service'];}
if(isset($_POST['detail']) AND $_POST['detail']!="")
{$contdet= htmlentities($_POST['detail']);}

//Préparation de l'entête du mail:
$mail_entete = "MIME-Version: 1.0";
$mail_entete .= "From: {$contnom} "
             ."<{$_POST['mail']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['mail']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
$mail_entete .= "Content-Transfer-Encoding: utf8_decode";
$mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";

//mise en forme du mail
$message = "Nouveau Correspondant à contacter:\n\n Nom : $contnom\n Mail : $contmail\n Prénom : $contprenom\n Société : $contsociete\n Fonction : $contfct\n Tél : $contphone\n Type de Service : $contser\n Message : $contdet\n ";

// on envois le mail http://fr.php.net/manual/fr/ref.mail.php // bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]] )
// ATTENTION en général vous n'avez pas de serveur de mail sur votre machine !
// à tester sur le net directment en cas de problème avec la fonction mail
 
if( mail('monmail@domaine.fr','Sujet', $message,$mail_entete) ){
   include 'confirmation.php';
  }
  else{
    echo 'une erreur est survenu lors de l\'envoi du message';
  }

                        }
 
?>

Il s'affiche ainsi :

Nouveau Correspondant à contacter:

Nom : Paquet

Mail : [mailto:mathieupaquet71@hotmail.com mathieu@domaine.fr]

Prénom : mathieu

Société : Domaine des Valanges

Fonction : Resonsable commercial

Tél : 01........

Type de Service : TélÃ

Message :  Tout en r&Atilde;&copy;affirmant cependant son appartenance &Atilde;&nbsp; l&acirc;?™Intersyndicale de l&acirc;?™enseignement, le Collectif des syndicats d&acirc;?™enseignants a indiqu&Atilde;&copy; avoir fait sien &Acirc;&laquo; le devoir de ne pas rester les bras crois&Atilde;&copy;s devant la menace qui p&Atilde;&uml;se sur l&acirc;?™&Atilde;&copy;cole s&Atilde;&copy;n&Atilde;&copy;galaise &Acirc;&raquo;.

Merci de me donner la solution please. J'arrive pas à trouver

Rien de plus sympa que l'entraide en info

10 réponses

Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
36
Amical bonsoir a toi aussi,

si ta page ou tu tape le mail est en utf8 il faut que tu l'envoi en utf8 sinon il faut que tu mette ta page d'envoi en iso...

>>Rien de plus sympa que l'entraide en info
      oui, enfin faut pas trop en abuser !!!

a++

Si t'a besoin d'aide, MP !!!
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
Hello,

Mieux vaut envoyer les mails en iso pour une meilleure compatibilité, tu peux convertir tes données avant de les envoyer grâce à la fonction iconv( ) de php.
Nicomilville te donne un mauvais conseil en te disant de changer le charset de la page d'appel.

à+
Messages postés
31
Date d'inscription
mardi 1 avril 2008
Statut
Membre
Dernière intervention
10 mars 2011

D'accord mais proposez moi les modif à apporter sur des lignes biens déterminées.Ou des lignes à rajoutées. Vu que je trouve pas.
C'est urgent. Ca fait une semaine que je cherche et je dois le rendre le lundi pour les besoins de mon stage.

Rien de plus sympa que l'entraide en info
Messages postés
31
Date d'inscription
mardi 1 avril 2008
Statut
Membre
Dernière intervention
10 mars 2011

Help please.

Rien de plus sympa que l'entraide en info
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
Tu fais $contnom = iconv(
'UTF-8'
,
'ISO-8859-1'
, $contnom);

etc

à+
Messages postés
31
Date d'inscription
mardi 1 avril 2008
Statut
Membre
Dernière intervention
10 mars 2011

Bonsoir, j'étais souffrant.
Heureusement qu'on m'a encore donné un peu plus de temps pour revoir le code.
Quelqu'un a trouvé????

Rien de plus sympa que l'entraide en info
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
36
Evangun t'a donné la solution il me semble !

a++

Si t'a besoin d'aide, MP !!!
Messages postés
31
Date d'inscription
mardi 1 avril 2008
Statut
Membre
Dernière intervention
10 mars 2011

j'ai remplacé $contnom = $_POST['nom']; par $contnom = iconv(
'UTF-8'
,
'ISO-8859-1'
, $contnom); et je vois pas la différence sinon que nom, prénom et autre ne s'affiche plus normalement.
J'ai même pensé à enregistrer le code sans le bom mais rien.

Rien de plus sympa que l'entraide en info
Messages postés
31
Date d'inscription
mardi 1 avril 2008
Statut
Membre
Dernière intervention
10 mars 2011

Si quelqu'un à un code impec avec les même champs que le mien, je suis preneur.

Rien de plus sympa que l'entraide en info
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
36
Re,

$contnom = iconv(
'UTF-8'
,
'ISO-8859-1'
, $_POST['nom']);

Si t'a besoin d'aide, MP !!!