-2

所以我有这个代码。顶部输入确实会发送到电子邮件,但底部不会(坦克 ID)。我需要让第二部分工作。我看了一个类似的,它使用 $v['example'] 而不是 $_POST['example'] ,我不完全确定会有什么区别。

Gallons of required storage:<br />
<input name="required_storage" type="text" size="10" value="<?php if(isset($_POST['sub'],$_POST['required_storage'])){echo $_POST['required_storage'];} ?>" /><br />

Tank I.D. in feet (O.D. will be 4"-10" larger than I.D.) <br />
<select name="Tank I.D. in feet" value="<?php if(isset($_POST['sub'],$_POST['Tank I.D. in feet'])){echo $_POST['Tank I.D. in feet'];} ?>">
    <option value="26 inches">26"</option>
    <option value="30 inches">30"</option>
    <option value="3'">3'</option>
    <option value="4'">4'</option>
    <option value="5'">5'</option>
    <option value="6'">6'</option>
    <option value="7.8'">7.8'</option>
    <option value="9.2'">9.2'</option>
    <option value="11.12'">11.12'</option>
    <option value="13.12'">13.12'</option>
    </select>

另外,我没有在那里命名的项目,sub但推荐给我的代码总是包括if(isset($_POST['sub'],$_POST['option name']))任何人都可以解释我为什么需要它?

4

1 回答 1

0

让我看看能不能给你一个更好的例子。仅仅因为您是 PHP 新手,这并不会使这成为一个坏问题,您只需要处理您的逻辑和 PHP 语法。

<?php
    $options = array(
        "26 inches" => "26\"",
        "30 inches" => "30\"",
        "3 feet" => "3'",
        // put all the rest here
    );
?>

Gallons of required storage:<br />

<input name="required_storage" type="text" size="10" value="<?php echo array_key_exists('required_storage', $_POST) ? $_POST['required_storage'] : ''; ?>" /><br />

Tank I.D. in feet (O.D. will be 4"-10" larger than I.D.) <br />
<select name="tank_feet">
<?php foreach ($options as $key => $val): ?>
    <option value="<?php echo $key; ?>"<?php echo ($val == $_POST['tank_feet'] ? ' selected="selected"' : ''); ?>><?php echo $val; ?></option>
<?php endforeach; ?>
</select>
于 2013-07-17T19:33:07.253 回答