我有一个html下拉<select>
标签,我想用POST的值填充。所讨论的变量名以"P"开头,每次加1,依次为P1、P2、P3等等。
我如何用这个帖子数据填充我的下拉列表?php中每个循环都需要for或for ?
谢谢
我建议在生成变量列表的表单上将变量命名为p [0], p [1], p[2]等。如果是这样,那么在表单处理页面中可以这样做:
if(is_array($_POST['P']))
{
$arr = $_POST['P'];
foreach($arr as $key => $val)
{
$buffer += '<option value="' . $key . '">' . $val . '</option>';
}
}
$select = '<select name="somename">' . $buffer . '</select>';
如果它看起来像PHP中的数组,你会得到一个数组
Steve的答案在代码方面是正确的,但是…
请不要把$_POST/$_GET的内容直接放到你的输出中。这会给你带来一大堆安全问题。例如,有人在您的POST数据中插入了一些HTML或JavaScript。事实上,在上面的例子中,他们甚至可以注入恶意PHP。
去阅读一下如何为输出清理用户数据。该方法取决于输出目的地。清理HTML输出的一个简单方法是使用htmlspecialchars()。这个网站上也有很多很好的答案。(例如:PHP在GET中对用户's数据进行消毒)