我使用这段代码将电子邮件保存到我们的数据库中,但如果用户没有输入电子邮件地址,那么它会插入一个空行...停止此操作的最佳方法是什么发生?
<?
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);
}
?>
答案 0 :(得分:1)
不仅要检查是否设置了$_POST['email']
,还要检查空字符串:
if(isset($_POST['email']) && $_POST['email']!=""){
//your stuff here
}
答案 1 :(得分:1)
将您的if
声明更改为:
if (!empty($_POST['email'])) {
// ...
}
使用isset()
时无需使用empty()
。
答案 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"/>