多个选择字段PHP

时间:2012-10-23 07:11:27

标签: php forms session post select

我正在使用PHP编写预订脚本,我需要获取他们的值。要清楚,选择不是多值选择,您可以在一个选择中选择多个值。它只是表单中简单明了的选择字段。问题是我无法确定它们中有多少以及它们的名称是什么。有没有办法获得他们的名字和价值,而不知道当我点击提交按钮时他们有多少以及他们的名字是什么?我使用while循环来打印它们。我被建议使用会话来实现这一点,但我不确定如何实现它。

2 个答案:

答案 0 :(得分:1)

html部分转移到页面的php部分的所有数据都被发送到变量($ _GET,$ _POST)。哪一个是由您用于表单本身的方法定义的。变量本身构建为一个数组,其中fieldname作为数组元素的键和值(选择字段的选定元素的值,或输入字段的输入值,....)作为数组元素的值

如果你想解析表单字段中的所有元素,那么你可以使用foreach(如果你不想解析所有元素,它会变得有点复杂......然后我建议您确保要处理的所有字段都以其名称中的特定“标记”开头,只有它们才有。例如c_Field1,c_Field2,Field3,Field4,.... c_是tag ....然后你可以在键上使用字符串函数(等于fieldname),也可以使用arrayfunctions来获取这些字段。

作为foreach的示例,如果您想要以“c _”开头的所有字段:

foreach ($_POST as $fieldname => $value)
{
     if (str_replace('c_','',$fieldname)!=$fieldname)
     {
        //field to be processed so use $value
     }
}

答案 1 :(得分:0)

如果你提交它们,它们就在POST变量中(好吧,可能是GET,但可能不是)。那个东西是一个数组,所以你可以使用所有奇特的数组函数来找出里面的内容

例如: http://php.net/manual/en/function.array-keys.php

或者只是一个普通的foreach我猜。