Problème accent ©Ã©Ã© à à à formulaire php
nemoeduc
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
nemoeduc Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
nemoeduc Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
À l'aide!!!!
Je sais que le problème est au niveau de l'encodage, UTF-8 ou iso-8859-2. Sur les pages HTML, je peut faire le changement. Mais dans le fichier php du formulaire, je ne comprends rien.
Le message reçu via gmail est parfaitement correcte mais via Outlook, tous les accents sont problématiques.
Est-il possible d'apporter une modification dans le formulaire php? Ajouter l'encodage iso par exemple?
Voici le code du fichier:
Merci de votre aide!!!!
Je sais que le problème est au niveau de l'encodage, UTF-8 ou iso-8859-2. Sur les pages HTML, je peut faire le changement. Mais dans le fichier php du formulaire, je ne comprends rien.
Le message reçu via gmail est parfaitement correcte mais via Outlook, tous les accents sont problématiques.
Est-il possible d'apporter une modification dans le formulaire php? Ajouter l'encodage iso par exemple?
Voici le code du fichier:
<?php // Read the form values $success = false; $fname = isset( $_POST['fname'] ) ? preg_replace( "/[^\.\-\' a-zA-Z0-9]/", "", $_POST['fname'] ) : ""; $lname = isset( $_POST['lname'] ) ? preg_replace( "/[^\.\-\' a-zA-Z0-9]/", "", $_POST['lname'] ) : ""; $senderEmail = isset( $_POST['email'] ) ? preg_replace( "/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['email'] ) : ""; $phone = isset( $_POST['phone'] ) ? preg_replace( "/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['phone'] ) : ""; $category = isset( $_POST['category'] ) ? preg_replace( "/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['category'] ) : ""; $message = isset( $_POST['message'] ) ? preg_replace( "/(From:|To:|BCC:|CC:|Subject:|Content-Type:)/", "", $_POST['message'] ) : ""; $mail_subject = 'Message envoyé par ' . $fname. $lname; $body = 'Name: '. $fname . $lname . "\r\n"; $body .= 'Email: '. $senderEmail . "\r\n"; $body .= 'Phone: '. $phone . "\r\n"; $body .= 'Category: '. $category . "\r\n"; $body .= 'Message: ' . "\r\n" . $message; // If all values exist, send the email if ( $fname && $senderEmail && $message ) { $recipient = RECIPIENT_NAME . " <" . RECIPIENT_EMAIL . ">"; $headers = "From: " . $fname . $lname . " <" . $senderEmail . ">"; $success = mail( $recipient, $mail_subject, $body, $headers ); echo "<p class='success'>Votre message a été envoyé avec succès! Nous vous contacterons sous peu.</p>"; } ?>
Merci de votre aide!!!!
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Le flux d’octets était en erreur par rapport à l’encodage de caractères déclaré. la déclaration d’encodage des caractères était peut être incorrecte.
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- A accent majuscule - Guide
- Civilité sur un formulaire - Forum VB / VBA
- Formulaire de reclamation instagram - Guide
1 réponse
Bonjour
Tu peux utiliser un code comme celui-là :
Tu peux utiliser un code comme celui-là :
function Envoi_Mail($to,$sujet,$message='') { // Creation de l'entete du mail a envoyer // -------------------------------------- $from = 'idarkness.esy.es<site-web@idar****.esy.es>'; $boundary = md5(uniqid(microtime(), TRUE)); $headers = "From: $from\r\n"; // FROM ... //$headers .= "Cc: $cc\n"; //pour mettre un destinataire en copie $headers .= 'Mime-Version: 1.0'."\r\n"; $headers .= 'Content-Type: multipart/mixed;boundary='.$boundary."\r\n"; $headers .= "\r\n"; // Creation du message a envoyer // ----------------------------- $msg = '--' . $boundary . "\r\n" . 'Content-type: text/html; charset=utf-8' . "\r\n\r\n <html> <body> $message </body> </html>\r\n"; // Envoi du mail // ------------- return mail($to, $sujet, $msg, $headers); }
- en adaptant à tes besoins (pour le from par exemple...)
Je vais essayer mais j'aurais certainement d'autres problèmes car j'utilise des script php déjà préfabriqué qui viennent avec un thème (template).
Ce que j'aurais aimez, si cela est faisable est juste de pouvoir intégrer à quelque part dans le formulaire le Content-type: text/html; charset=utf-8.
Dans le fichier php que j'utilise, il y a ceci:
$message = isset( $_POST['message'] ) ? preg_replace( "/(From:|To:|BCC:|CC:|Subject:|Content-Type:)/", "", $_POST['message'] ) : "";
J'ai essayé d'ajouter le charset mais je ne connais pas la syntaxe du langage php. Donc message d'erreur pour l'envoi.
Je fais possiblement erreur. Il serait peut-être une meilleure idée d'utiliser un autre script php.
Merci encore!