在页面加载时使用变量,如果有变化就进行修改


using variable on pageload and modify if changed

我得到了这个变量:

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

for my selectbox:

<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 ..跟我写的一模一样…但是我不知道如何处理这个问题

我希望我的$favmachine在pageload (works)上被选中,但希望能够将其更改为另一台机器,并通过$_POST将其设置为$machine

D

我认为你想覆盖 $machine$favmachine 只有如果检查POST值导致" nothing "之前:

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

或更短的形式,再次使用?操作符:

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

(多行缩进以方便阅读)

相关文章: