Probleme de ponctuation et de retour a la ligne

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Probleme de ponctuation et de retour a la ligne

Re: Probleme de ponctuation et de retour a la ligne

par niuxe » 14 mars 2014, 18:24

Salut,

Il doit plus être très jeune ce code :
if (1 === get_magic_quotes_gpc())
Je te sors des pistes en vrac :

- encodage du fichier,
- entete de l'email,
- htmlentities(),
- etc.

Au passage, je vais te donner un peu de   tu en as encore besoin peut être, qui sait ? :-*

Probleme de ponctuation et de retour a la ligne

par msi79 » 11 mars 2014, 14:43

Bonjour,
j'ai un problème avec mon code php de mon formulaire de contact.
lorsqu'on reçois le message :
- les lettres comme é,è .... ne s'affichent en des caractères bizard
- la balise <br/> s'affiche dans le message envoyé lorsqu'on fait un retour à la ligne.
comment corriger cela ?
merci
ICI MON CODE
 <?php
    /*
    ********************************************************************************************
    CONFIGURATION
    ********************************************************************************************
    */
    // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
    $destinataire = 'XXXXXXXXXXXXXXXXXXXXXX';
	
     
    // copie ? (envoie une copie au visiteur)
    $copie = 'oui';
     
    // Action du formulaire (si votre page a des paramètres dans l'URL)
    // si cette page est index.php?page=contact alors mettez index.php?page=contact
    // sinon, laissez vide
    $form_action = '';
     
    // Messages de confirmation du mail
    $message_envoye = "Votre message nous est bien parvenu !<a href=\"http://bvconsult.net/index.php?page=CONTACT\"><b>Revenir au formulaire</b></a>";
    $message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
     
    // Message d'erreur du formulaire
    $message_formulaire_invalide = "";
     
    /*
    ********************************************************************************************
    FIN DE LA CONFIGURATION
    ********************************************************************************************
    */
     
    /*
    * cette fonction sert à nettoyer et enregistrer un texte
    */
    function Rec($text)
    {
    $text = htmlspecialchars(trim($text), ENT_QUOTES);
    if (1 === get_magic_quotes_gpc())
    {
    $text = stripslashes($text);
    }
     
    $text = nl2br($text);
    return $text;
    };
     
    /*
    * Cette fonction sert à vérifier la syntaxe d'un email
    */
    function IsEmail($email)
    {
    $value = preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $email);
    return (($value === 0) || ($value === false)) ? false : true;
    }
     
    // formulaire envoyé, on récupère tous les champs.
    $nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
	$tel = (isset($_POST['message']))? Rec($_POST['message']):'';
    $email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
    $objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
    $message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
	
    // On va vérifier les variables et l'email ...
    $email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
    $err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin
     
    if (isset($_POST['envoi']))
    {
    if (($nom != '') && ($tel != '') && ($email != '') && ($objet != '') && ($message != ''))
    {
    // les 5 variables sont remplies, on génère puis envoie le mail
    $headers = 'From:'.$nom.' <'.$email.'>' . "\r\n";
    //$headers .= 'Reply-To: '.$email. "\r\n" ;
    //$headers .= 'X-Mailer:PHP/'.phpversion();
     
    // envoyer une copie au visiteur ?
    if ($copie == 'oui')
    {
    $cible = $destinataire.','.$email;
    }
    else
    {
    $cible = $destinataire;
    };
     
    // Remplacement de certains caractères spéciaux
    $message = str_replace("'","'",$message);
    $message = str_replace("&#8217;","'",$message);
    $message = str_replace(""",'"',$message);
    $message = str_replace('<br>','',$message);
    $message = str_replace('<br />','',$message);
    $message = str_replace("<","<",$message);
    $message = str_replace(">",">",$message);
    $message = str_replace("&","&",$message);
     echo'<br/><br/><br/>';
    // Envoi du mail
    if (mail($cible, $objet, $message, $headers))
    {
    echo '<p><div style="position: absolute; top:80px; left: 600px; color: green; font: italic 16px/16px Georgia, Serif; border: 0px solid#060606; width: 505px; height: 388px">'.$message_envoye.'</div></p>';
    }
    else
    {
    echo '<p>'.$message_non_envoye.'</p>';
    };
    }
    else
    {
    // une des 3 variables (ou plus) est vide ...
    echo '<div class=".link-4">'.$message_formulaire_invalide.'</div';
    $err_formulaire = true;
    };
    }; // fin du if (!isset($_POST['envoi']))
     
    if (($err_formulaire) || (!isset($_POST['envoi'])))
    {
    // afficher le formulaire
	/*echo'<leg>"Remplire correctement ce formulaire S.V.P"</</div>';*/
	
	
    echo '<div class="kontaktformular" style="position: absolute; top:80px; left: 600px; color:#BBC915; font: italic 16px/16px Georgia, Serif; border: 0px solid#060606; width: 505px; height: 388px">
	<div id="left_content_accueil_cantactez-nous">
	
    <form id="contact" method="post" action="'.$form_action.'"><br/>
    <legend>&nbsp; Vérifiez que tous les champs (*) soient bien remplis et que l\'email soit sans erreur</legend><br/>
	
    <fieldset class="kontaktdaten">
    <legend>Donn&eacute;es de contact</legend>
   
   <label for="nom">&nbsp;&nbsp;Nom(*) :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>     <input type="text" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="1" />
   </p>
   
    
	<label for="email">&nbsp;&nbsp;E-mail(*) :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label><input type="text" id="email" name="email" value="'.stripslashes($email).'" tabindex="3"  placeholder="ICI : Mail Expediteur"/>  
	<br/>
 </fieldset>   
    
    <legend>&nbsp;&nbsp; &nbsp;&nbsp;</legend>
	
	<label for="objet">&nbsp;&nbsp;Objet(*)&nbsp;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label><input type="text" id="objet" name="objet" value="'.stripslashes($objet).'" tabindex="4" />
	</p>
	
	
    <p><label for="message">&nbsp;&nbsp;Message(*):&nbsp;</label><textarea id="message" name="message" tabindex="4" cols="50" rows="9">'.stripslashes($message).'</textarea></p>
	
<input type="submit" name="envoi"  class="button_example" value="Envoyer votre message"/>
	
    </form></div></div>';
    };
    ?>