以php形式从POST数据中填充html下拉列表


Populate html drop down from POST data in php form

我有一个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数据进行消毒)

相关文章: