Question

J'ai un script PHP qui saisit les données d'un formulaire HTML et il envoie dans un courriel avec SwiftMailer. Lorsqu'un utilisateur entre guillemets ou en apostrophe un champ de saisie (textarea), l'e-mail ressemble à quelque chose comme ceci:

Entrée Forme: PLD mari

Courriel reçu reçu: Mari \ 's PLD

Entrée Forme: "Casse-croûte" "vieux" de pld

Courriel reçu: pld \ 's \ "collation \" \ "vieux \"

Il y a une validation et à l'assainissement en cours dans mon script:

if ($_POST['form_message'] != "") {
        $form_message = filter_var($_POST['form_message'], FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES);
        if ($_POST['form_message'] == "") {
            $errors .= 'Please enter a valid comment.<br/><br/>';
        }
    } else {
        $errors .= 'Please enter your comment.<br/>';
    }

Voici la partie Swiftmailer:

$message->setBody("Here is the information submitted to 

www.polycystic-kidneydisease.com/html/contact_email.php à partir de $ ip $ jour. \ n \ n -------------------------------- \ n \ n nom: $ name \ n \ n Adresse e-mail: $ email \ n \ n sujet: $ form_subject \ n \ n Commentaire: form_message de $ ");

Comment puis-je résoudre ce problème? Merci!

Était-ce utile?

La solution

magic_quotes_gpc est activée. Si vous pouvez le désactiver, vous pouvez le faire; sinon, utilisez stripslashes() sur l'entrée avant de faire votre filtrage.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top