Переменная $_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>";
}
}