获取通过 POST 发送的所有变量?
我需要插入随 post 发送的所有变量,它们是每个代表一个用户的复选框。
如果我使用GET,我得到这样的东西:
?19=on&25=on&30=on
我需要在数据库中插入变量。
如何获取通过 POST 发送的所有变量?作为一个数组或用昏迷或其他东西分隔的值?
我需要插入随 post 发送的所有变量,它们是每个代表一个用户的复选框。
如果我使用GET,我得到这样的东西:
?19=on&25=on&30=on
我需要在数据库中插入变量。
如何获取通过 POST 发送的所有变量?作为一个数组或用昏迷或其他东西分隔的值?
该变量将自动填充。$_POST
尝试查看内容。var_dump($_POST);
您可以像这样访问各个值:echo $_POST["name"];
当然,这假设您的表单正在使用典型的表单编码(即enctype=”multipart/form-data”
如果您的帖子数据采用其他格式(例如 JSON 或 XML),您可以执行如下操作:
$post = file_get_contents('php://input');
并将包含原始数据。$post
假设您使用的是标准变量,则可以测试是否选中了复选框,如下所示:$_POST
if(isset($_POST['myCheckbox']) && $_POST['myCheckbox'] == 'Yes')
{
...
}
如果您有一组复选框(例如
<form action="myscript.php" method="post">
<input type="checkbox" name="myCheckbox[]" value="A" />val1<br />
<input type="checkbox" name="myCheckbox[]" value="B" />val2<br />
<input type="checkbox" name="myCheckbox[]" value="C" />val3<br />
<input type="checkbox" name="myCheckbox[]" value="D" />val4<br />
<input type="checkbox" name="myCheckbox[]" value="E" />val5
<input type="submit" name="Submit" value="Submit" />
</form>
在复选框名称中使用表示 PHP 脚本将作为数组访问所选值。在这种情况下,不会返回单个字符串,但将返回一个由选中的复选框的所有值组成的数组。[ ]
$_POST['myCheckbox']
例如,如果我选中了所有框,将是一个由以下部分组成的数组:.下面是如何检索值数组并显示它们的示例:$_POST['myCheckbox']
{A, B, C, D, E}
$myboxes = $_POST['myCheckbox'];
if(empty($myboxes))
{
echo("You didn't select any boxes.");
}
else
{
$i = count($myboxes);
echo("You selected $i box(es): <br>");
for($j = 0; $j < $i; $j++)
{
echo $myboxes[$j] . "<br>";
}
}
您应该能够从变量访问它们:$_POST
foreach ($_POST as $param_name => $param_val) {
echo "Param: $param_name; Value: $param_val<br />\n";
}