我编写了一些 PHP 验证代码来验证出生日期。该代码应该确保输入,(必填字段)格式是DD/MM/YYYY
,年份必须在 2000 和 2004 之间。
我的代码遇到的问题是它正确检查是否没有输入并转发错误消息,但如果我输入任何随机字符,它会接受它而不检查输入数据的格式或字符。
这是我的代码:
<?php
if (isset($_POST['submit'])) {
$msgd = "";
$dob = $_POST["dob"];
if(strlen($dob) > 0) {
if(substr_count($dob,'/') == 2)
{
list($d,$m,$y) = explode('/',$dob);
if (($y >= 2000 && $y <= 2004))
{
return checkdate($d,$m,$y);
} else {
$msgd = '<span class="error"><b>You must enter a correct date</b></span>';
}
}
} else {
$msgd = '<span class="error"><b>You must enter a date</b></span>';
}
}
?>
<b>Date of Birth</b>
<br>
<input type="text" id="dob" name="dob"><?php echo $msgd; ?>
谁能帮我解决这个问题?