0

我有一个论坛,用户可以在其中选择他或她想填写的列。

我不想要求每个框,而只要求他或她填写其中一个框。

这是论坛的样子: 在此处输入图像描述

他们可以选择将信息输入“人行道和非道路区域”或“停车(无米)”。不需要填写所有字段,只需填写一个。

我的代码似乎可以工作,但如果用户不填写字段,它不会吐出错误。这是我的代码:

<?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';
    }
}
?>
4

3 回答 3

1

你有:

$var_all = FALSE;       // all variable

但您正在检查:

 if(isset($_POST[$var_all]) == FALSE) {

$var_all 将包含 TRUE 或 FALSE,它们不会出现在您的 POST 数据中。我认为这不是你想要做的。尝试检查您在表单中获得的正确字段

于 2013-06-18T14:37:33.510 回答
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';
    }
}
?>
于 2013-06-18T14:46:26.173 回答
0

您在 PHP 代码中使用<?php和标记。?>删除它们。

于 2013-06-18T14:38:03.863 回答