如何将birthdate(tel类型日期字段类)添加到数据库并设置年龄限制?

时间:2015-07-12 07:43:01

标签: php date

正如标题所示,我很难找到一个干净而优雅的方法来为用户的生日添加一个有用的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,而是在条款/隐私政策中记录所需的年龄限制?我知道即使有了DOB形式,但并不是每个人都愿意遵守这些规则(例如,像Facebook这样的社交网络服务有13年的年龄限制,但年轻的孩子可以通过说谎来解决这个问题; Twitter有他们的年龄限制记录而不是提示)。

非常感谢很多建议,谢谢。

2 个答案:

答案 0 :(得分:0)

您可以使用以下代码验证日期

ValidationExpression =“(((0 | 1)[1-9] | 2 [1-9] | 3 [0-1])/(0 [1-9] | 1 [0-2])/ ((19 | 20)\ d \ d))$“

答案 1 :(得分:0)

Php具有checkdate功能来检查日期是否有效。为确保年龄,您可以使用date_add()功能创建生日日期时间对象+您的范围。然后,如果它小于当前时间,则比较该对象。