select — HTML / PHP Получение ввода в POST и чтение оператором PHP

Я прочитал множество постов и очень близок к тому, чтобы заставить это работать, но я просто не могу понять, что я делаю неправильно.

Вот сокращенная версия моего кода:

<form method="post" enctype="multipart/form-data">
<table id="box-table-a" summary="PM Summary" style='width:90%'>
<tr>
<th>Update</th>
<th style='width:20%'>PM Comments </th>
<th>PMM Recommendations</th>
</tr>

<?php
while ($row = mysqli_fetch_array($result)) {

$PMComments         = $row['PMComments'];
$PMMRecommendations = $row['PMMRecommendations'];
?>

<tr>
<td><input name="update" type="submit" id="update" value="Update"></td>
<td><?= $PMComments ?><input name="PMComments" type="text" value="<?= $PMComments ?>"></td>
<td><?= $PMMRecommendations ?><value="<?= $PMMRecommendations ?>">
<select name="PMMRecommendations">
<option value="null"></option>
<option value="No Action Taken">No Action Taken</option>
</select>
</td>
</tr>

<?php
}
?>
</table>
</form>

Затем, ниже этого, у меня есть этот раздел:

if (isset($_POST['update'])) {
$PMCommentsValue         = $_GET["PMComments"];
$PMMRecommendationsValue = $_GET["PMRecommendations"];printf("PMComments: %s ", $PMCommentsValue);
echo "<br>";
printf("PMRecommendations: %s ", $PMMRecommendationsValue);
?>

Таблица отображается правильно, но я в замешательстве, потому что то, что я думаю, что я делаю, и что происходит, и то же самое. Как только я внесу изменения в текстовое поле, созданное вводом PM Comments, и нажму на submit, я хочу, чтобы введенное мной значение было передано в переменную

Я знаю, что следующий раздел кода:

if (isset($_POST['update'])) {............

запущен, потому что как только я нажму на submit, я вижу два printf () ниже, но они пустые, что означает, что я фактически не передаю им никаких данных. Что я делаю неправильно?

-1

Решение

Ваша форма размещается:

<form method="post"

но вы пытаетесь получить доступ к данным из массива GET:

$PMCommentsValue         = $_GET["PMComments"];
$PMMRecommendationsValue = $_GET["PMRecommendations"];

замените их на оба, используя массив POST, и все будет в порядке:

$PMCommentsValue         = $_POST["PMComments"];
$PMMRecommendationsValue = $_POST["PMRecommendations"];

Обычно массив GET ссылается на URL (например, index.php? PMComments = hello «), а массив POST обычно представляет собой данные форм (хотя вы можете иметь формы GET … но эй!)

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]