在页面加载时使用变量并修改如果已更改

时间:2013-06-06 11:48:29

标签: php

我得到了这个变量:

$machine=isset($_POST['machine'])?$_POST['machine']:'';

我的选择框:

<select id="machine" name="machine">
    <option value=""></option>
    <option value="1">A</option>
    <option value="2">B</option>
    <option value="3">C</option>
    <option value="4">D</option>
</select>

现在我想做一些修改。我已保存在我的设置中 $ favmachine = 4 。 例如,我用

加载页面
if($favmachine!=0)
{
    $machine=$favmachine;
}

我的表单看起来像这样(正是我想要的):

<select id="machine" name="machine">
    <option value=""></option>
    <option value="1">A</option>
    <option value="2">B</option>
    <option value="3">C</option>
    <option value="4" selected="selected">D</option>
</select>

现在的问题是当我想要改变例如从D到A时它再次转到D ..正是我写的......但我不知道如何处理这个问题

我想在pageload上选择我的$ favmachine(正常工作)但是我希望能够将它更改为另一台机器并通过$ _POST将其设置为$ machine

希望你理解我的问题:D

1 个答案:

答案 0 :(得分:0)

如果检查POST值之前导致“无”,我认为您只想覆盖 $machine $favmachine :< / p>

$machine=isset($_POST['machine'])?$_POST['machine']:'';
if($machine==='' && $favmachine!=0)
{
    $machine=$favmachine;
}

或以较短的形式,再次使用?运算符:

$machine = isset($_POST['machine']) ? 
             $_POST['machine']
           : 
             ( $favmachine != 0 ? $favmachine : '');

(多行和缩进仅为了可读性。)