1

我正在使用自托管的电子邮件营销服务。

我已经建立了表格..嵌入它..

但是当有人没有为他们的生日添加值时.. 它默认为 1969 年 12 月 31 日,使用日期输入。

如果他们没有将生日添加为(mm/dd/yyyy),我希望它没有任何价值

原因是,如果我保持原样.. 未完成提交的生日日期的每个人都会收到自动电子邮件,说 1969 年 12 月 31 日生日快乐。

如何检查它是否在 php 中为空白,然后给它一个不会发送自动电子邮件的值?这甚至可能吗?

4

2 回答 2

2

我相信在这种情况下,您应该使用空的isset,因为您的表单将始终与“生日”字段一起发送,您的用户是否填写数据。因此,执行 isset 只会验证是否设置了生日字段,如果值为空,则代码将返回 isset 为 true。

我会做这样的事情:

$bdayFilled = true;
if(empty($_POST['birthday']))
    $bdayFilled = false;

或单行代码

 $bdayFilled = !empty($_POST['birthday'];

在上面的代码中,如果生日的值为空,$bdayFilled 将被设置为 false,否则为 true。

为了更好地理解,我建议您阅读:

于 2019-09-16T19:35:11.590 回答
2
if (empty($_POST['birthday'])) 
{
  $empty_bday_flag = true;
}
else
{
  $empty_bday_flag = false;
}

empty函数测试一个值是否已设置且不为空,如果未设置任何内容,则用户未填写,因此我们可以将其设置$empty_bday_flagtrue,否则我们将其设置为false

编辑 1:正如 gustavo.lei 指出的那样,必须在empty这里使用而不是isset.
编辑 2:正如 Dharman 指出的那样,可以将其简化为$empty_bday_flag = empty($_POST['birthday']);.

于 2019-09-16T17:28:02.550 回答