Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP表单提交以获取所有选项值?_Php_Html - Fatal编程技术网

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

PHP表单提交以获取所有选项值?,php,html,Php,Html,在这里,我只想讨论以下几点: ----------------------------------------- male C++ male,female C++,PHP,MYSQL,.Net 我的HTML源代码如下: <html> <head> <title>My Form</title> </head> <body> <form id="sample" method="post" action="saveDat

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

-----------------------------------------
male
C++
male,female
C++,PHP,MYSQL,.Net
我的HTML源代码如下:

<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>
但我得到的输出就像在选项中单击的一样:

例如:

-----------------------------------------
male
C++
male,female
C++,PHP,MYSQL,.Net
但我需要它如下所示:

-----------------------------------------
male
C++
male,female
C++,PHP,MYSQL,.Net

当您循环使用post数据时,它将成为一个数组,我相信这就是为什么只返回其中一个元素的原因

您可能想尝试以下方法:

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
}

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

<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" />
PHP
MySQL
其思想是将复选框/单选按钮的所有值的列表存储在隐藏输入中,以便在提交表单时从服务器端获取这些值的列表


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

如果你在提交之前使用javascript将所有值标记为选中,POST将发送所有值$_POST[“检查”]是一个数组。使用foreach并从该数组中获取所有值。

@billyonecan可以为此提供一些示例代码……您永远无法从该代码中获取第一个输出(
male C++
)。
中没有value属性,很抱歉我忘了在这个问题中添加@SandyLee_user53167,现在我已经添加了…不管你在做什么。你没有以最好的方式去做。如果你解释一下这个案子和你真正想做的事,我们可以帮你做得更好。好主意,但是我们如何区分用户选择的复选框和js选择的复选框?@SandyLee_user53167这就是OP想要实现的吗?我不确定,但是如果我们想要所有的值,首先需要做什么表格?@SandyLee_user53167 OP可能正在做这方面的小学作业case@SandyLee_user53167我希望他的老师给他一个更符合逻辑的案例来分析和发展。如果我有一个文本框或其他东西,这是可以的,但如果我想在收音机或复选框中实现这一点,这意味着它不会起作用。。。。。。。。。。。。。