if(empty($_POST['inputEmail'])) {
function valid_mail($str) {
return filter_var($str, FILTER_VALIDATE_EMAIL) ? $str : false;
}
echo 'Please enter a valid email address' . "<br />";
}
答案 0 :(得分:2)
if(isset($_POST['submit'])) {
if(empty($_POST['inputEmail']) || false === filter_var($_POST['inputEmail'], FILTER_VALIDATE_EMAIL)) {
echo 'Please enter an email address' . "<br />";
}
elseif(empty($_POST['inputPostcode'])) {
echo 'Please enter postcode' . "<br />";
}
else {
// save to db here (no errors occured)
// return; (or redirect, or whatever)
}
}
// display form here
您还可以在所需的表单字段上使用required
- 属性。您也可以使用HTML5-input-types,例如<input type="mail" />
进行客户端检查。这两种方法都可以“被黑客入侵”,但会阻止“正常”用户发送未正确填写的表单。使用PHP的filter_var - 函数来验证服务器上的邮件地址。
答案 1 :(得分:1)
使用临时变量:
$ validation_error = false;
if($_POST['inputEmail'] == ''){
echo 'Please enter an email address' . "<br />";
$validation_error = true;
}
if($_POST['inputPostcode'] == '')
echo 'Please enter postcode' . "<br />";
$validation_error = true;
}
// no error occured
if(!validation_error){
//do stuff
}
答案 2 :(得分:0)
更好的邮件验证功能可能是:
/**
* Return the mail address if it's valid or false otherwise
*/
function valid_mail($str) {
$mail_regexp = '/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/';
preg_match($mail_regexp, $str, $matches);
return strcmp($str, $matches[0]) ? false : $str;
}
或使用PHP filter_var(感谢@feela)
function valid_mail($str) {
return filter_var($str, FILTER_VALIDATE_EMAIL) ? $str : false;
}