如果字段为空,请勿进入数据库

时间:2015-10-14 13:01:33

标签: php mysql

我使用这段代码将电子邮件保存到我们的数据库中,但如果用户没有输入电子邮件地址,那么它会插入一个空行...停止此操作的最佳方法是什么发生?

<?
if(isset($_POST['email'])) {
     $email = $_POST['email'];
     $email = mysql_real_escape_string($email);

     $query = "INSERT INTO `email_capture` (`email_id`, `email_address`)
              VALUES (NULL, '$email');";

     mysql_query($query);

     echo "";

     mysql_close($email_sql);
}
else {
     mysql_close($email_sql);
}
?>

4 个答案:

答案 0 :(得分:1)

不仅要检查是否设置了$_POST['email'],还要检查空字符串:

if(isset($_POST['email']) && $_POST['email']!=""){
//your stuff here
}

答案 1 :(得分:1)

将您的if声明更改为:

if (!empty($_POST['email'])) {
    // ...
}

使用isset()时无需使用empty()

了解详情:http://php.net/manual/en/function.empty.php

答案 2 :(得分:0)

您应该使用empty()来检查帖子

if (!empty($_POST['email'])) {
    // ...
}

empty()将检查并返回true,如果该变量已设置且不为空。但它也会检查0巫婆$_POST['email'] !== ''之类的变量。

答案 3 :(得分:-1)

最简单的方法是修改您的html代码,只需将所需属性添加到html即可。除非用户输入电子邮件,否则不会提交现在的表单。

<input type="email" name="email" required="required" placeholder="Email"/>