验证和清理电子邮件表单的最佳方法是什么?


What's the best way to validate and sanitize forms for email?

我有一个表格,我要求信息,但有些(如电子邮件)不是必需的。当电子邮件表单不为空时,我希望对电子邮件进行验证和消毒。我当前的方法只提交不为空的数据。进行验证和消毒的最有效方法是什么?

当前方法

   if (empty($_POST["S_Email"])) {
   $S_Email = "";
   } else {
   $S_Email = $_POST["S_Email"];
   }        

您正在寻找 PHP 验证过滤器:

if (empty($_POST["S_Email"])) {
    //No email address POSTed through
    $S_Email = "";
} else {
    //Email address POSTed
    $S_Email = $_POST["S_Email"];
    //Validate email
    if(!filter_var($S_Email, FILTER_VALIDATE_EMAIL) === false){
        //Email is valid
    } else {
        //Email is invalid
    }
}