【发布时间】:2015-07-12 07:43:00
【问题描述】:
正如标题所暗示的,我很难找到一种简洁优雅的方法来为用户的生日添加有效的 php 函数并为我创建的生日表单设置年龄限制:
<div id="date1" class="datefield">
<input id="day" type="tel" maxlength="2" placeholder="DD"/> /
<input id="month" type="tel" maxlength="2" placeholder="MM"/> /
<input id="year" type="tel" maxlength="4" placeholder="YYYY" />
</div>
这是我为生日设置的变量:
//initializing registration variables to prevent errors
$bday = ""; //birthday
$bday = date("Y-m-d");
在我的数据库中,birth_date 类型仅设置为日期。到目前为止我的设置是否正确?我了解可能需要将日期分为月、日和年,但如果我想包含有关每个月不同天数的条件,我感兴趣的是用户输入的有效年份.
编辑:对于刚刚被替换的段落,我意识到我让这变得比必要的更复杂。我只是想要一个 php 验证函数来检查输入的年份是否在所需的年龄规范内。因此,在您看到的第一个代码中,我将删除日期和月份字段,只保留年份字段。
不切实际(但仍然相关),我是否应该懒得提示用户输入他们的出生日期,而是在条款/隐私政策中记录所需的年龄限制?我知道即使使用带有限制的 DOB 表格,也不是每个人都愿意遵守规则(例如,Facebook 等社交网络服务有 13 岁的年龄限制,但更年轻的孩子可以通过撒谎来解决这个问题;Twitter 有年龄限制记录而不是提示)。
非常感谢您的建议,谢谢。
【问题讨论】:
-
重新思考我最后的正文段落,我意识到我需要为我计划的系统提供用户的生日年份,所以我想在我的情况下提示 DOB 是必要的。但是,由于我将使用的只是用户出生日期的年份,因此我放弃询问月份和日期可能是最好和更清晰的,对吧?
-
复选框 [x] 我证明了这一点。加入验证码
-
@DrewPierce 所以如果我有一个复选框+验证码,大多数(如果不是全部)垃圾邮件和机器人都会被阻止,对吧?不过,我对使用验证码有点犹豫,因为尽管它需要防止垃圾邮件发送者和机器人,但对于试图成功注册的潜在用户来说,这可能是一种令人沮丧的体验。
-
我有时很难输入验证码可笑吧?我曾经读过一个同样有效的图形,它甚至可以像笑话一样告诉你答案。上面写着什么是4+3? (输入 7)。这是随机的。
-
谁在乎他们在生日时输入了什么。反正就是撒谎