-2

我正在尝试进行电子邮件验证。

我有一个输入文本字段,当用户在输入字段中输入数据时,我将其写入文件。

我想要一个简单的代码来检查电子邮件是否有效,如果电子邮件无效,请返回原始页面并且不要将其添加到 .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>";
}

如您所见,我还没有弄清楚如何不将其添加到文本文件中,但是我想先让电子邮件过滤器工作。谁能帮我解决这个问题?

编辑: 我也不断收到错误:

解析错误:语法错误,第 59 行的“C:.......\authorized.php”中出现意外的“{”

if 语句的左括号是哪个?

4

2 回答 2

1

我认为问题可能是您使用的 $a 未在您的 if 条件检查中定义

我想你应该有

if(isset($_POST['email']) && (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))) 

代替

if(isset($_POST['email']) && (filter_var($a, FILTER_VALIDATE_EMAIL))
于 2013-11-05T11:30:31.317 回答
0

您的代码中有错误。您正在“if”中检查 $a 变量,但该变量是在 if 之后定义的。您可以使用 filter_input 代替 filter_var:

$a = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
于 2013-11-05T11:24:00.060 回答