Bonjour,
J'étais confronté au problème suivant : les mails partants aux adhérents avaient un souci d'encodage des apostrophes qui se transformaient en \ (antislash) dans le titre et le corps du texte.
Suite à des précédentes discussions, j'ai mis à la racine le fichier .htaccess avec la ligne :
SetEnv MAGIC_QUOTES 0
Mais cela ne suffisait pas (certainement dû à l'hébergeur). C'est un hébergement dédié mais je ne sais pas comment faire des modifs du service..
J'ai cherché sur le web et trouvé ce bout de code que j'ai mis au début du fichier "mailing_adherents.php" :
source :
http://forum.znsoft.fr/viewtopic.php?id=452
define('MAGIC_QUOTES', get_magic_quotes_gpc());
// Création de la fonction
function no_magic_quotes(&$array) {
// Détection si magic_quotes est activé
if(MAGIC_QUOTES) {
foreach($array as $key => $val) {
// Si la variable est un tableau
if(is_array($val)) {
// Alors on rappelle la fonction pour traiter ce tableau
no_magic_quotes($array[$key]);
}
// Sinon si la variable n'est pas un numérique alors elle est susceptible de contenir des antislahs ou quotes ajouté par Magic Quotes (Sybase)
elseif(!is_numeric($val)) {
// Alors on lui enlève les antislashs ajoutés par Magic Quotes
$array[$key] = stripslashes($val);
}
}
}
}
// Voici la liste des superglobales touchées par Magic Quotes :
no_magic_quotes($_GET);
no_magic_quotes($_POST);
no_magic_quotes($_COOKIE);
Et résultat tout fonctionne bien. Il faut bien garder le fichier .htaccess précédemment installé.
Je ne suis pas spécialiste, j'ai testé un peu par hasard. A vous de voir si cela peut aider ou être utile.
Mathieu