Я работаю над обновлением в HTML-форме. Я отправляю данные из одной формы в другую через echo для обновления. Но я не могу заполнить другое, поймав данные, отправленные из 1-й формы.
Текстовое поле идентификатора поля пустое.
Вот мой код:
Отправлен ключ от 1:
<tr>
<td style='width:150px;border:1px solid grey;'><?= $row['field_id'] ?></td>
<td style='width:150px;border:1px solid grey;'><?= $row['description'] ?></td>
<td style='width:150px;border:1px solid grey;'><?= $row['corner_points'] ?></td>
<td style='width:150px;border:1px solid grey;'><?= $row['notes'] ?></td>
<td style='width:150px;border:1px solid grey;'><a target = "_blank" href = "Edit/edit-field.php?field_id=<?php echo $row['field_id'];?>">Edit</a></td>
</tr>
для получения данных edit-field.php:
<?php
if (isset($GET["field_id"]))
{
$field_id = $GET["field_id"];
}
try {
$stmt = $conn->prepare("SELECT field_id, description, corner_points, notes FROM fields where field_id = $field_id");
$stmt->execute();
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$result = $stmt->fetchAll();
}
catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
?>
<form action = "" method = "post" class = "needs-validation" novalidate enctype = "multipart/form-data">
<h6> Field </h6>
<div class = "form-row">
<div class = "col-md-4 mb-3">
<label for = "validationCustom01">Field ID</label>
<input type = "number" class = "form-control" name = "field_id" id = "field_id" value = "<?php echo $result["field_id"];?>">
</div>
</div>
<button class = "btn btn-primary btn-sm" name = "submit1" type = "submit">Update Records</button>
</form>






В файле edit-field.php переменная для параметров, передаваемых через URL-адрес, - это $ _GET, а не $ GET.
Измените начало этого файла на:
if (isset($_GET["field_id"])) {
$field_id = $_GET["field_id"];
}
разве вам не нужно было бы делать цикл для получения результатов? как в этом примере:
<?php
// $pdo est un objet PDO
try{
$stmt = $pdo->query('SELECT * FROM table');
$rows = $stmt->fetchAll();
}
catch(Exception $e)
{
exit('<b>Catched exception at line '. $e->getLine() .' (code : '. $e->getCode() .') :</b> '. $e->getMessage());
}
foreach($rows as $row) {
var_dump($row);
echo '<br />';
}