这只是一个从我脑海中突然出现的问题,
PHP没有viewstate ,但如果下拉列表绑定到下面的数据源,这些人如何在country id
期间保存postback/POST
CountryId CountryName
1 USA
2 INDIA
3 ....
假设显示的文字是CountryName。
在回发期间的ASP.NET中,在数据绑定期间,当数据源保存到viewstate中时,将从viewstate加载下拉列表选定值。
PHP如何实际达到此效果
如果在post(验证等)期间发生错误,asp.net会再次从viewstate加载下拉值,那么PHP人员是否会再次请求数据库或从缓存加载。
注意:这只是一个可以给出可预测答案的简单示例,我正在寻找更广泛的思考答案,考虑dropdownlist可以容纳的其他事情。
答案 0 :(得分:1)
在PHP中,任何/所有可变表单元素的当前值将被POST回服务器,并将显示在$_POST全局中。
更新:一个例子:
<input type="text" name="my_text" value="some_value" ?>
<select name="my_select">
<option value="option1"/>Option 1</option>
<option value="option2" SELECTED/>Option 2</option>
</select>
在这种情况下,服务器将收到:
$_POST['my_text'] = 'some_value';
$_POST['my_select'] = 'option2';
根据验证:除非您使用引入验证的框架,否则PHP不知道其中的区别。如果您想确保您的选择值确实是有效值,您需要手动地对已知值列表进行双重检查。
再一次 - 有一些框架可以为其他事情的验证提供大量帮助。虽然底层概念是相同的:生成一个列表,从中创建一个选择,再次生成列表并确保POST的值确实在列表中。