运行具有不完整/空值的表单

时间:2013-04-24 05:05:03

标签: php forms

我正在编写一个脚本,用于计算旅行中的总距离(英里)。它需要计算总距离以及任何中点之间的距离。现在它计算总距离很好。我正在使用投递箱,并允许它接受最多5个中点。现在,我可能只是想让它变得比它需要的更复杂但是...... 我希望能够运行脚本,即使其中三个中点形式为空(这只是说“选择城市”,其值为" "null)。当表单的三个字段留空时,有没有办法让脚本运行?

编辑:每个'索引'或'pont'都定义为= " ";。我正在为整个脚本使用多维数组,并且7个丢弃框以选择的“选择城市”值开头,其值为空/空值。我只想知道当两个中点值/下拉框保留初始值“选择城市”时如何运行表单/脚本。

对不起,这是我的一些代码:

<?php 
if (isset($_POST['Submit'])) {
$StartIndex = stripslashes($_POST['Start']);
$EndIndex = stripslashes($_POST['End']);
 if (isset($Distances[$StartIndex][$EndIndex]))
echo "Total trip distance from $StartIndex to $EndIndex is". $Distances[$StartIndex][$EndIndex]." miles<br/>";
 else
echo "Distance could not be calculated";
}
?>

这就是我停在......

的地方
<?php
if (isset($_POST['Submit'])) {
$Point1 = stripslashes($_POST['1']);
?>

^^其他四个中点是相同的,我没有线索如何在仅选择开始城市,结束城市和两个中点城市时仍然运行表格。我会添加整个脚本,但它与多维数组

很长

要查看我的表单是什么样的,您可以转到&gt;&gt; 131.118.95.215/users/mjswiontek0/project/city/citytocity.php

1 个答案:

答案 0 :(得分:0)

如果要将其包含在计算中,只需在每个中点评估您的测试(例如empty($_POST["1"]))即可找到。

参见注释(非常通用)示例:

if (isset($_POST['Submit'])) 
{
    // start with the start index
    $PrevIndex = stripslashes($_POST['Start']);

    $Point = 1;
    $Distance = 0;

    do
    {
        // do we have the N-th midpoint?
        $HavePoint = !empty($_POST[$Point]);
        // if not, use end point
        $NextIndex = stripslashes($_POST[$HavePoint ? $Point : 'End']);

        // add distance between the two midpoint to total
        $Distance += $Distances[$PrevIndex][$NextIndex];

        // make current point the previous point to the next iteration
        $PrevIndex = $NextIndex;

        // move to the next point for the next iteration
        $Point++;
    }
    while ($HavePoint);
}