我有一个将变量发布到 PHP 处理脚本的表单。
在处理脚本开始之前,我想清理发布的变量:
$Contact_Name = filter_var($_POST['contactName'], FILTER_SANITIZE_STRING);
$Company = filter_var($_POST['company'], FILTER_SANITIZE_STRING);
$Telephone = filter_var($_POST['telephone'],FILTER_SANITIZE_NUMBER_INT);
至今。超好的。
但是清理和验证电子邮件确实很痛苦。
$Email = $_POST['email'];
$Sanitised_Email = filter_var($Email, FILTER_SANITIZE_EMAIL);
$Email_is_valid = filter_var($Email, FILTER_VALIDATE_EMAIL);
如果$Sanitised_Email
与 不同$Email
,我想返回表单页面:
if ($Sanitised_Email != $Email) {
header('Location: http://'.$_SERVER['HTTP_HOST'].'/form.php');
}
如果$Email_is_valid
是false
,我想返回表单页面:
if ($Email_is_valid == FALSE) {
header('Location: http://'.$_SERVER['HTTP_HOST'].'/form.php');
}
当我输入一封无效且需要清理的电子邮件时,这两种if
说法都不起作用,例如:
i.am.(totally)invalid@asanemailaddress
我究竟做错了什么?我在某处搞砸了我的语法吗?