我有一些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; ?>
誰能幫我一個解決方案?
我在這裏看到'return',但沒有函數頭。我想知道如果沒有設置'$ _POST ['submit']',用戶會看到什麼。 – raina77ow
或者你可以節省你的自己很多麻煩,並使月,日,年下拉菜單。這樣你就知道這些值無論如何都是有效的,你只需要驗證是否空白。 –