我遇到以下问题: 我有3个下拉列表。当我按下按钮时,我得到3 $ _POST变量。另外,我有一个函数,在wachtwoord下拉列表中需要3个变量来获得结果,比如这个函数(x,y,z),并且我将选项x,y,z保存在序列化数组中作为历史记录。
一切都很完美,但是当我加载更新页面时,我想要反序列化数组,并为每个下拉列表提取3个值,并且我想在更改内容并获取新内容之前显示预览结果。问题是,使用if语句会锁定$ _POST值,当我按下按钮时,它会保持不变,而不会先丢弃旧的。
我的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>';
我的历史数组:
$history = unserialize($results[0]->history);
$name1 = $history[name1];
$name2 = $history[name2];
$name3 = $history[name3];
正如我所说,三个列表之一的if语句:
if(isset($name1) && $name1 == 0){$_POST['name1'][0] = 0;
}else{$_POST['name1'][0] = 3;}
总结一下:[页面加载] - &gt; [下拉列表可以使用历史记录值] -X-&gt; [更改1个或多个下拉列表并按下按钮保留旧值而不是新值。]
你能帮帮我吗?提前谢谢。