我有一个论坛,用户可以在其中选择他或她想填写的栏目。
我不想要每个盒子,但只要求他或她填写其中一个盒子。
以下是论坛的图片:
他们可以选择在“人行道和非道路区域”或“停车场(无米)”中输入信息。不需要填写所有字段,只需填写一个字段。
我的代码似乎有效,但如果用户没有填写字段,它不会吐出错误。这是我的代码:
<?php
$var_all = FALSE; // all variable
// Fees Validation
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset($_POST['sidewalk_days_close'])) {
$var_sidewalk_days_closed = TRUE;
$var_all = TRUE;
$fee_SDC = trim($_POST['sidewalk_days_close']);
}
if (isset($_POST['parking_noMeters_spaces'])) {
$var_parking_noMeters_spaces = TRUE;
$var_all = TRUE;
$fee_PNMS = trim($_POST['parking_noMeters_spaces']);
}
if (isset($_POST['parking_noMeters_days'])) {
$var_parking_noMeters_days = TRUE;
$var_all = TRUE;
$fee_PNMD = trim($_POST['parking_noMeters_days']);
}
if (isset($_POST['parking_Meters_spaces'])) {
$var_parking_meters_with_spaces = TRUE;
$var_all = TRUE;
$fee_PMS = trim($_POST['parking_Meters_spaces']);
}
if (isset($_POST['parking_Meters_days'])) {
$var_parking_meters_days = TRUE;
$var_all = TRUE;
$fee_PMD = trim($_POST['parking_Meters_days']);
}
if (isset($_POST['vehicle_lane_close'])) {
$var_vehicle_lane_close = TRUE;
$var_all = TRUE;
$fee_VLC = trim($_POST['vehicle_lane_close']);
}
if (isset($_POST['alley_closure'])) {
$var_alley_closure = TRUE;
$var_all = TRUE;
$fee_AC = trim($_POST['alley_closure']);
}
}
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
if($var_all == FALSE)
{
$problem = TRUE;
print '<div id="fee_error">Please fill in one of the fields below</div>';
}
else
{
print 'this is text';
}
}
?>
答案 0 :(得分:1)
你有:
$var_all = FALSE; // all variable
但是你正在检查:
if(isset($_POST[$var_all]) == FALSE) {
$ var_all将包含TRUE或FALSE,这些不在您的POST数据中。我认为这不是你想要做的。尝试检查表单中的正确字段
答案 1 :(得分:1)
这是更正后的代码
<?php
$var_all = FALSE; // all variable
// Fees Validation
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
if (isset($_POST['sidewalk_days_close']))
{
$var_sidewalk_days_closed = TRUE;
$var_all = TRUE;
$fee_SDC = trim($_POST['sidewalk_days_close']);
}
if (isset($_POST['parking_noMeters_spaces']))
{
$var_parking_noMeters_spaces = TRUE;
$var_all = TRUE;
$fee_PNMS = trim($_POST['parking_noMeters_spaces']);
}
if($var_all == FALSE)
{
$problem = TRUE;
print '<div id="fee_error">Please fill in one of the fields below</div>';
}
else
{
print 'this is text';
}
}
?>
答案 2 :(得分:0)
您在PHP代码中使用<?php
和?>
标记。删除它们。