我正在尝试进行电子邮件验证。
我有一个输入文本字段,当用户将数据输入输入字段时,我会将其写入文件。
我想要一个简单的代码来检查电子邮件是否有效,如果电子邮件无效,请返回原始页面,不要将其添加到.txt文件中
目前我有:
// only do file operations when appropriate
if(isset($_POST['email']) && (filter_var($a, FILTER_VALIDATE_EMAIL)) {
$a = $_POST['email'];
$myFile = "email.txt";
$fh = fopen($myFile, 'a') or die("can't open file");
fwrite($fh, $a);
fclose($fh);
}
else
{
echo "Email is not Valid" . "<script>history.back()</script>";
}
如您所见,我还没有弄清楚如何不将其添加到文本文件中,但是我想先让电子邮件过滤器工作。 谁能帮我解决这个问题?
编辑:我也不断收到错误:
解析错误:语法错误,意外的"{" "C:.......''授权.php在第59行
if 语句的左括号是什么?
我认为
问题可能是您正在使用的$a if条件检查中未定义
我说你应该有
if(isset($_POST['email']) && (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)))
而不是
if(isset($_POST['email']) && (filter_var($a, FILTER_VALIDATE_EMAIL))
代码中存在错误。您正在检查"if"中的变量$a但此变量是在 if 之后定义的。您可以使用filter_input代替filter_var:
$a = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);