首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP表单提交以获取所有选项值?

PHP表单提交以获取所有选项值?
EN

Stack Overflow用户
提问于 2013-02-04 20:00:08
回答 3查看 370关注 0票数 1

在这里,我只想讨论以下几点:

我的HTML来自下面的代码:

代码语言:javascript
复制
<html>
<head>
<title>My Form</title>
</head>
<body>
<form id="sample" method="post" action="saveData.php">
Courses:
<input type="checkbox" name="check[]" Value="C++" />C++
<input type="checkbox" name="check[]" Value="PHP"/>PHP
<input type="checkbox" name="check[]" Value="MYSQL" />MYSQL
<input type="checkbox" name="check[]" Value=".Net"/>.Net
Gender:
<input type="radio" name="gen[]" Value="male"/>male
<input type="radio" name="gen[]" Value="female"/>Female
</form>
</body>
</html>

我想要如下所示的OutPut:

代码语言:javascript
复制
  foreach ($_POST as $key => $val) {
        $actVal .= "'".strtolower($key)."|".strtolower($val)."',";
        $sqlin .= " ".strtolower($key)." VARCHAR(255) , ";
                }

但我得到了类似于在选项中单击的输出:

如下所示:

代码语言:javascript
复制
-----------------------------------------
male
C++

但我需要它如下所示:

代码语言:javascript
复制
male,female
C++,PHP,MYSQL,.Net
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-04 20:22:12

POST将发送所有值,如果您在提交前使用javascript将它们标记为选中。check“$_POST”是一个数组。使用foreach并从该数组中获取所有值。

票数 1
EN

Stack Overflow用户

发布于 2013-02-04 20:17:59

在循环post数据时,我相信这就是为什么只返回其中一个元素的原因。

您可能想要尝试这样的操作:

代码语言:javascript
复制
foreach ($_POST as $key => $val) {
    if ($key == "check" || $key == "gen") { // If this is an array post field
        foreach ($val as $val2) { // We need to loop through again since they're array post fields
            $actVal .= "'" . strtolower($val2) . "'";
        }   
    } else {
        $actVal .= "'".strtolower($key)."|".strtolower($val)."',";
    }
    //$sqlin .= " ".strtolower($key)." VARCHAR(255) , "; // Worry about this separately, should be the same process
}
票数 1
EN

Stack Overflow用户

发布于 2013-02-04 20:19:00

我想不出解决这个问题的办法。但还有另一种选择:

代码语言:javascript
复制
<input type="checkbox" name="check" value="php" />PHP
<input type="hidden" name="checklist" value="php" />

<input type="checkbox" name="check" value="MySQL" />MySQL
<input type="hidden" name="checklist" value="MySQL" />

其思想是将复选框/单选按钮的所有值的列表存储在隐藏输入中,以便在提交表单时在服务器端获得这些值的列表。

顺便说一句,你为什么需要它呢?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14686316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档