Я прочитал множество постов и очень близок к тому, чтобы заставить это работать, но я просто не могу понять, что я делаю неправильно.
Вот сокращенная версия моего кода:
<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 () ниже, но они пустые, что означает, что я фактически не передаю им никаких данных. Что я делаю неправильно?
Ваша форма размещается:
<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 … но эй!)
Других решений пока нет …