【问题标题】:Simple php email validation简单的 php 电子邮件验证
【发布时间】:2014-09-10 10:03:18
【问题描述】:

我正在制作一个简单的“将您的电子邮件添加到我们的订阅”列表。我只想要有效的电子邮件。

我正在使用 write-to-txt 函数。

此验证代码似乎仅通过说明输入是否有效而起作用。但它不会阻止代码将无效电子邮件写入 txt。我做错了什么?

<form action= "" method="post" name="form">
<input type="text" name="email">
<br>
<br>
<input type="submit" name="submit" value="submit"><br>
</form>

<?php
if(isset($_POST['submit']))
{
    $email = $_POST['email'];
    $file = fopen("emaillist.txt","a+");
    fwrite($file,$email . "\n");
   fclose($file); 
   print_r(error_get_last());

if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
  echo 'Thanks for subscribing';
} else {
  echo 'You have entered an invalid email - try again'; 
}

}

?>

【问题讨论】:

  • 您正在将其添加到文本文件后进行验证

标签: php validation email


【解决方案1】:

您应该只在验证成功后写入文本文件,如下所示:

<?php
    if (isset($_POST['submit'])) {
        $email = $_POST['email'];
        if (filter_var($email, FILTER_VALIDATE_EMAIL)) {

            echo 'Du er nu tilmelds nyhedsbrevet';
            $file = fopen("emaillist.txt","a+");
            fwrite($file,$email . "\n");
            fclose($file); 
            // print_r(error_get_last());

        } else {

            echo 'Du har indtastet en ugyldig email'; 

        }

    }

?>

【讨论】:

  • 我已经用你的代码替换了我的代码,现在它不会在 txt 中添加任何内容
  • 您在电子邮件字段中输入的电子邮件地址有效吗?
  • 其实,现在就试试吧。它正在检查变量$email,该变量仅在 if 语句中定义,因为我刚刚移动了您的代码。我已经编辑了我的答案。
  • 是的。多次尝试有效和无效。它一直给我这个消息“Du har indtastet en ugyldig email”。
猜你喜欢
  • 2012-01-05
  • 2013-09-08
  • 1970-01-01
  • 2011-04-17
  • 2021-08-10
  • 1970-01-01
  • 2011-09-25
  • 2017-03-19
  • 2013-11-09
相关资源
最近更新 更多