每当我尝试提交表单时,我都没有在年份字段中输入任何内容,我得到Incorrect year!
如何在不输入年份的情况下仍然提交表单。换句话说,将年份字段留空并且没有收到警告?
这是PHP代码。
if(preg_match('/^\d{4,}$/', $_POST['year'])) {
$year = mysqli_real_escape_string($mysqli, $_POST['year']);
} else {
$year = NULL;
}
if($year == NULL) {
echo '<p class="error">Incorrect year!</p>';
} else {
//do something
}
答案 0 :(得分:1)
if(preg_match('/^\d{4,}$/', $_POST['year'])) {
$year = mysqli_real_escape_string($mysqli, $_POST['year']);
} else {
$year = false;
}
if ($year === false) {
echo '<p class="error">Incorrect year!</p>';
} else {
//do something
}
OR(如果你没有在其他地方设置YEAR)
if(preg_match('/^\d{4,}$/', $_POST['year'])) {
$year = mysqli_real_escape_string($mysqli, $_POST['year']);
}
if (!isset($year)) {
echo '<p class="error">Incorrect year!</p>';
} else {
//do something
}
答案 1 :(得分:0)
if(preg_match('/^\d{4,}$/', $_POST['year'])) {
$year = mysqli_real_escape_string($mysqli, $_POST['year']);
} else if(empty($_POST['year'])){
$year = '';
} else {
$year = null;
}
if($year == NULL) {
echo '<p class="error">Incorrect year!</p>';
} else {
//do something
}
也许我误解了,但这听起来像你想要的。
答案 2 :(得分:-1)
嘿,你可以把这一部分拿出去,它会把回声带出来,允许你提交字段为空白
if($year == NULL) {
echo '<p class="error">Incorrect year!</p>';
} else {
//do something
}
我不建议允许它进入数据库。也许您可以只获取服务器上的默认日期或默认值,这意味着用户没有填写它。这会消除错误,但仍会在数据库字段中留下一些内容。