そのため、ユーザーは生年月日を入力するか、日付ピッカーを使用して入力できます。これは間違いを許す可能性があるため、サーバー側で有効な日付かどうかを確認したいと思います。
strtotime() をよく読んで、たくさんの例を見ましたが、100% 正しい例ではありませんでした。
これは私が持っているものです:
$geboortedatum = $_POST['geboortedatum'];
$geboortedatum = date("Y-m-d", strtotime($geboortedatum));
list($y, $m, $d) = explode("-", $geboortedatum);
// var_dump(checkdate($d,$m,$y));
if(checkdate($d, $m, $y)) {
echo "OK Date";
}
else {
echo "BAD Date";
exit();
}
これはほとんどの場合機能します。入力が実際の正しい日付であるかどうかを確認する確実な方法はありますか?
// 編集
それは良い例ではありませんでした!ユーザーが 31-31-1980 を入力した場合も機能しません。これも有効ですが、そうであってはなりません!