如何检查用户是否输入了正确的电子邮件形式

时间:2012-10-14 15:33:09

标签: php

我没有使用电子邮件验证,所以我在检查电子邮件地址的正确形式方面遇到了问题

如果用户输入supportsupport@,也会接受它。

所以我至少希望他们输入电子邮件或至少他们正确输入电子邮件表格

这是我的代码:

   <?php
    require_once 'global.php';
    if (!isset($_SESSION['logged_in'])) {
        header("Location: login.php");
    }
    $user    = unserialize($_SESSION['user']);
    $email   = $user->email;
    $message = "";
    if (isset($_POST['submit-settings'])) {
        $email       = $_POST['email'];
        $user->email = $email;
        $user->save();
        $msg = "Done!<br/>";
    }
    ?>

解决:

if (isset($_POST['submit-settings'])) {
    $email = $_POST['email'];
    //  checking valid email
    if (!filter_var("$email", FILTER_VALIDATE_EMAIL)) {
        $msg = "Wrong Email Setting Not Saved<br/>";
    } else {
        $user->email = $email;
        $user->save();
        $msg = "Settings Saved<br/>";
    } 
}

1 个答案:

答案 0 :(得分:7)

简单使用PHP的filter_var()

if(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL)) {
  //email correct
}
else
{
 //email not correct
}