bonjour à tous,
j'ai un problème avec les accents et apostrophes de mon formulaire qui apparaissent sous cette forme dans le courriel reçu: l\'activité (l'activité)
J'ai adapté un tuto trouvé ici: http://www.elated.com/articles/slick-ajax-contact-form-jquery-php/
Mon code est le suivant:
avez vous une solution pour que les caractères aparaissent normalement? Est'il possible de faire ca éventuellement via le serveur apache dans un htaccess:
merci d'avance
Modifié par truitas (04 Jan 2012 - 17:26)
j'ai un problème avec les accents et apostrophes de mon formulaire qui apparaissent sous cette forme dans le courriel reçu: l\'activité (l'activité)
J'ai adapté un tuto trouvé ici: http://www.elated.com/articles/slick-ajax-contact-form-jquery-php/
Mon code est le suivant:
<?php
// Define some constants
define( "RECIPIENT_NAME", "moi" );
define( "RECIPIENT_EMAIL", "contact@moi.fr" );
define( "EMAIL_SUBJECT", "Nouvelle Demande " );
// Read the form values
$success = false;
$senderName = isset( $_POST['senderName'] ) ? preg_replace( "/[^\.\-\' a-zA-Z0-9]/", "", $_POST['senderName'] ) : "";
$senderEmail = isset( $_POST['senderEmail'] ) ? preg_replace( "/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['senderEmail'] ) : "";
$telephone = isset( $_POST['telephone'] ) ? preg_replace( "/[^\ \-0-9]/", "", $_POST['telephone'] ) : "";
$participants = isset( $_POST['participants'] ) ? preg_replace( "/[^\ \-0-9]/", "", $_POST['participants'] ) : "";
$message = isset( $_POST['message'] ) ? preg_replace( "/(From:|To:|BCC:|CC:|Subject:|Content-Type:)/", "", $_POST['message'] ) : "";
$message .= "\n\nNom: $senderName\n\n";
$message .= "\n\nTelephone: $telephone\n\n";
$message .= "\n\nNombre de participants: $participants\n\n";
// If all values exist, send the email
if ( $senderName && $senderEmail && $message ) {
$recipient = RECIPIENT_NAME . " <" . RECIPIENT_EMAIL . ">";
$headers = "From: " . $senderName . " <" . $senderEmail . ">";
$success = mail( $recipient, EMAIL_SUBJECT, $message, $headers );
}
// Return an appropriate response to the browser
if ( isset($_GET["ajax"]) ) {
echo $success ? "success" : "error";
} else {
?>
<?php if ( $success ) echo "<p>Merci nous vous répondrons dans les plus brefs délais .</p>" ?>
<?php if ( !$success ) echo "<p>Erreur lors de l'envoi. Recommencez.</p>" ?><br>
avez vous une solution pour que les caractères aparaissent normalement? Est'il possible de faire ca éventuellement via le serveur apache dans un htaccess:
AddDefaultCharset utf-8
AddCharset utf-8 .html .css .js .xml .json .rss
merci d'avance
Modifié par truitas (04 Jan 2012 - 17:26)