从文本文件中验证和删除电子邮件 - PHP

时间:2013-11-05 11:18:13

标签: php validation email text

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

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

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

正如您所看到的,我还没有弄清楚如何不将其添加到文本文件中,但我想让电子邮件过滤器首先运行。任何人都可以帮我解决这个问题吗?

修改:我也一直收到错误:

  

解析错误:语法错误,意外的'{'in   第39行的C:....... \ authorized.php

哪个是if语句的开头括号?

2 个答案:

答案 0 :(得分:1)

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

我认为你应该

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

而不是

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

答案 1 :(得分:0)

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

$a = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);