私の友人がこのコードを教えてくれましたが、うまく動かないようです。未定義の変数があると何度も言われますが、いくつかの異なる方法で定義しようとしましたが、適切な年齢が表示されず、全員が 43 と表示されます。使用しているコードは次のとおりです。
$bdate= getdate('$_GET["bd"]');
if($bdate == 0){ $nodate = 1; }
$bdate = strtotime( $bdate );
$birthday = date("n/j/Y",$bdate); //must be as m/d/yyyy
$bday = explode("/", $birthday); //parse
$b_mm = $bday[0]; //birthday month
$b_dd = $bday[1]; //birthday day
$b_yyyy = $bday[2]; //birthday year
//compare timestamps of mm/dd for birthday and today
$bday_mm_dd = mktime(0,0,0,$b_mm,$b_dd,0);
$today_mm_dd = mktime(0,0,0,date("m"),date("d"),0);
$age = date("Y", time()) - $b_yyyy;
if ($bday_mm_dd > $today_mm_dd) {
//birthday hasnt happened yet this year
$age = $age - 1;
}
私のSQLステートメントを明確にするために、生年月日をbdとしてリストしています。
誰かが助けてくれれば、とても感謝しています。