Php 按下按钮时更改$邮政[';值';]

Php 按下按钮时更改$邮政[';值';],php,post,drop-down-menu,history,options,Php,Post,Drop Down Menu,History,Options,我有以下问题: 我有3个下拉列表。当我按下按钮时,我得到3$\u POST变量。另外,我有一个包含3个变量的函数,需要获得类似wachtwoord下拉列表中的函数(x,y,z)这样的结果,我将选项x,y,z保存在序列化数组中作为历史记录 一切都很完美,但当我加载更新页面时,我想取消数组序列化,并为每个下拉列表提取3个值,我想在更改某些内容和获取新内容之前显示预览结果。问题是,如果使用if语句,它会锁定$\u POST值,当我按下按钮时,它会保持不变,而不会首先丢弃旧的值 My update.ph

我有以下问题: 我有3个下拉列表。当我按下按钮时,我得到3$\u POST变量。另外,我有一个包含3个变量的函数,需要获得类似wachtwoord下拉列表中的函数(x,y,z)这样的结果,我将选项x,y,z保存在序列化数组中作为历史记录

一切都很完美,但当我加载更新页面时,我想取消数组序列化,并为每个下拉列表提取3个值,我想在更改某些内容和获取新内容之前显示预览结果。问题是,如果使用if语句,它会锁定$\u POST值,当我按下按钮时,它会保持不变,而不会首先丢弃旧的值

My update.php页面:

echo '<div class="form-inline">
     <div class="form-group">
         <label for="name1">name1:</label>
         <select name="name1[]" style="width:auto;" class="form-control">
             <option value="0" '.((isset($_POST['name1'][0]) && $_POST['name1'][0] == 0)?'selected="selected"':'').'>option1</option>
             <option value="3" '.((isset($_POST['name1'][0]) && $_POST['name1'][0] == 3)?'selected="selected"':'').'>option2</option>
         </select>
            <label for="name2">name2:</label>
         <select name="name2[]" style="width:auto;" class="form-control">
            <option value="option1" '.((isset($_POST['name2'][0]) && $_POST['name2'][0] == "option1")?'selected="selected"':'').'>option1</option>
            <option value="option2" '.((isset($_POST['name2'][0]) && $_POST['name2'][0] == "option2")?'selected="selected"':'').'>option2</option>
         </select>
            <label for="name3">name3:</label>
         <select name="name3[]" style="width:auto;" class="form-control">
            <option value="0" '.((isset($_POST['name3'][0]) && $_POST['name3'][0] == 0)?'selected="selected"':'').'>optionA</option>
            <option value="1" '.((isset($_POST['name3'][0]) && $_POST['name3'][0] == 1)?'selected="selected"':'').'>optionB</option>
            <option value="2" '.((isset($_POST['name3'][0]) && $_POST['name3'][0] == 2)?'selected="selected"':'').'>optionC</option>
        </select>
    </div>
</div>';
正如我所说,三个列表之一的if语句:

if(isset($name1) && $name1 == 0){$_POST['name1'][0] = 0;
}else{$_POST['name1'][0] = 3;}
总结:[页面加载]->[下拉列表与历史值一致]-X->[更改一个或多个下拉列表并按下按钮保留旧值而不是新值。]


你能帮帮我吗?提前感谢。

据我记忆所及,要选择n选项,请添加仅已选择,未选择=“已选择”。它应该是这样的:1.是的,你是对的,但它以我的方式工作。问题似乎出现在if语句中,因为我发布了一个值来显示历史记录结果,但在我提交表单时,相同的值一直被发布,并且没有更改…:(
if(isset($name1) && $name1 == 0){$_POST['name1'][0] = 0;
}else{$_POST['name1'][0] = 3;}