1

我有一个 PHP 脚本,它从 HTML 表单中获取数据并使用 SwiftMailer 将其发送到电子邮件中。当用户在输入字段 (textarea) 中输入撇号或引号时,电子邮件看起来像这样:

表格输入:丈夫的PLD

收到的电子邮件:丈夫的PLD

表单输入:pld的“snack”“old”

收到的电子邮件:pld\'s \"snack\" \"old\"

我的脚本中正在进行一些验证和卫生处理:

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/>';
    }

这是 Swiftmailer 部分:

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

www.polycystic-kidneydisease.com/html/contact_email.php 来自 $ip 于 $date。\n\n -------------------------- ------\n\n 姓名:$name \n\n 电子邮件地址:$email \n\n 主题:$form_subject \n\n 评论:$form_message");

我如何解决它?谢谢!

4

1 回答 1

5

听起来像是magic_quotes_gpc启用了。如果您可以禁用它,您可能想要这样做;如果没有,stripslashes()请在进行过滤之前在输入上使用。

于 2011-01-24T04:03:33.333 回答