2016-12-16 39 views
0

我目前正在撰寫一個網站來審查我當地的酒吧,並希望在網站註冊時進行年齡驗證(爲什麼18歲以下的人有興趣去參加這個活動?酒吧?)在PHP中註冊網站時檢查年齡

if($_POST[d_of_b] > date("Y-m-d", strtotime("-18 Years"))) { 
    $errors[] = 'Sorry, you\'re not old enough to use this site yet, please come back when you\'re 18.'; 
} 

,它有點工作,但date("Y-m-d, strtotime("-18 Years)似乎比前一年的結尾處,刪除18年,所以在寫它會顯示,除非該日期錯誤​​的時間出生= < 31/12/1997。有沒有人有辦法做到這一點,將工作?

回答

0

下面是代碼

function validateAge($then, $min) 
{ 
    // $then will first be a string-date 
    $then = strtotime($then); 
    //The age to be over, over +18 
    $min = strtotime('+18 years', $then); 
    echo $min; 
    if(time() < $min) { 
     die('Not 18'); 
    } 
} 

我希望這將工作

+0

感謝您抽出時間V,我避免使它成爲一個函數,因爲它是我想在網站上使用它的唯一地方,因爲Ross的代碼完美工作,現在我已經使用了它。 – Smudgelet