Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.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
Input 检查用户是否为18岁_Input - Fatal编程技术网

Input 检查用户是否为18岁

Input 检查用户是否为18岁,input,Input,因此,我目前正在进行一个项目,并试图检查用户是否超过18岁,我不能得到我的逻辑正确。以下是我的声明和错误代码: if ($dobYear<date("Y")-19) if ($dobYear==date("Y")-18 and $dobMon<date("m")) if ($dobYear==date("Y") and $dobMon==date("m") and $dobDay<=date("d")) $err['lowAge'] = 'You must be over

因此,我目前正在进行一个项目,并试图检查用户是否超过18岁,我不能得到我的逻辑正确。以下是我的声明和错误代码:

if ($dobYear<date("Y")-19) 
if ($dobYear==date("Y")-18 and $dobMon<date("m"))
if ($dobYear==date("Y") and $dobMon==date("m") and $dobDay<=date("d"))

$err['lowAge'] = 'You must be over 18 to register!';

if($dobYearI为此使用了python,但逻辑应该如下所示:

def set_adult(self):
    today = date.today()
    age = today.year - self.date_of_birth.year - ((today.month, today.day) < (self.date_of_birth.month, self.date_of_birth.day))
    if age >= 18:
      self.adult = True
    else:
      self.adult = False
def set_成人(自身):
今天=日期。今天()
年龄=今天.year-self.date\u出生日期.year-((今天.month,今天.day)<(self.date\u出生日期.month,self.date\u出生日期.day))
如果年龄大于等于18岁:
self.成人=True
其他:
self.成人=假

无论您找到什么解决方案,都要确保它能够工作,即使某人的生日是2月29日,或者今天是2月29日,我已经完成了格式验证,但我不知道如何告诉PHP以我想要的方式进行检查。我有一点经验,但这真的很糟糕。不幸的是,我没有取消理解你的年龄是如何工作的,你能解释一下吗?当然可以。我将通过一个例子来解释。考虑你的生日是1990年1月1日(1/1/1990)。假设今天是2008年10月31日(10-31-2008)。今天。年= 2008,出生日期是1990岁。很明显,这两者之间的差异是18,但你不是18正确吗?你知道吗?(date_of_birth.month,date_of_birth.day)>(today.month,today.day),因此返回1(true)。18-1=17。不是成人。