我没有使用电子邮件验证,所以我在检查电子邮件地址的正确形式方面遇到了问题
如果用户输入support
或support@
,也会接受它。
所以我至少希望他们输入电子邮件或至少他们正确输入电子邮件表格
这是我的代码:
<?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/>";
}
}
答案 0 :(得分:7)
简单使用PHP的filter_var()
if(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL)) {
//email correct
}
else
{
//email not correct
}