Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将birthdate(tel-type-datefield类)添加到数据库并设置年龄限制?_Php_Date - Fatal编程技术网

Php 如何将birthdate(tel-type-datefield类)添加到数据库并设置年龄限制?

Php 如何将birthdate(tel-type-datefield类)添加到数据库并设置年龄限制?,php,date,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=

正如标题所示,我很难找到一种干净优雅的方法来为用户的生日添加一个可用的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>
在我的数据库中,出生日期类型仅设置为日期。到目前为止,我的设置是否正确?我理解可能需要将日期分为月、日和年,但我感兴趣的是用户输入的有效年份,如果我想包括关于每个月的不同天数的条件

编辑:有了刚刚被替换的段落,我意识到我让这变得比必要的更复杂了。我想要的只是一个php验证函数,它检查输入的年份是否在所需的年龄规格范围内。所以,在您看到的第一个代码中,我将删除day和month字段,只保留year字段

我是否应该不厌其烦地提示用户输入他们的DOB,并在条款/隐私政策中记录所需的年龄限制?我知道,即使有DOB表格和限制,也不是每个人都愿意遵守这些规则,比如Facebook等社交网络服务有13岁的年龄限制,但年幼的孩子可以通过撒谎来解决这个问题;Twitter记录了他们的年龄限制,而不是提示


非常感谢您的建议。

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


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

Php具有检查日期是否有效的函数。为了确保年龄,您可以使用函数创建生日日期时间对象+您的范围。然后,如果该对象小于当前时间,则对其进行比较。

重新思考我的上一段正文,我意识到我计划的系统需要用户的出生日期年,因此我想在我的情况下,提示DOB是必要的。然而,由于我将一直使用的是用户的dob年份,所以我可能会放弃要求的月份和日期,对吧?复选框[x]我证明blahblah。合并captcha@DrewPierce所以,如果我有一个复选框+验证码合并,大多数(如果不是所有的话)垃圾邮件和机器人将被阻止,对吗?不过,我对使用验证码有点犹豫,因为尽管有必要防止垃圾邮件发送者和机器人,但对于试图成功注册的潜在用户来说,这可能是一种令人沮丧的体验。我有时很难输入验证码,哈?我曾经读到,一个同样有效的方法是一个图形,它甚至可以像笑话一样告诉你答案。它读什么是4+3?输入7。这是随机的。谁在乎他们在生日时参加什么活动。不管怎样都是谎言谢谢你,但是你能给我解释一下这是怎么回事吗?我仍在学习php和web编码,因此我非常有兴趣学习其他人的代码,以提高我的编码直觉。谢谢。checkdate已经是一个函数了,这真是太酷了。好吧,那么在接近年龄限制时,我只需要做一个布尔/条件语句,对吗?
//initializing registration variables to prevent errors
$bday = ""; //birthday
$bday = date("Y-m-d");