Набросал форму редактирования записи, в целом работает, но с косяками, вот мой гвн-код:
Список записей(admin.php):
<table class="table">
<thead>
<tr>
<th scope="col">ID</th>
<th scope="col">Статья</th>
</tr>
</thead>
<tbody>
<?php foreach($posts as $post) { ?>
<tr>
<th scope="row"><?php echo $post['id']; ?></th>
<td>
<a href="../../post.php?post_id=<?=$post['id']?>" target="_blank">
<?php echo $post['title']; ?>
</a>
<a href="?delete=<?=$post['id']?>" style="float: right;margin-left: 20px;"><img src="../../images/delete.png" title="Удалить запись"></a>
<a href="edit.php?post_id=<?=$post['id']?>" style="float: right;" target="_blank"><img src="../../images/edit.png" title="Редактировать запись"></a>
</td>
</tr>
<?php } ?>
</tbody>
</table>
Переход на определённую страницу с формой для редактирования(admin.php):
<a href="edit.php?post_id=<?=$post['id']?>" style="float: right;" target="_blank"><img src="../../images/edit.png" title="Редактировать запись"></a>
Функция редактирования записи:
function edit_post($connect, $post_id){
$title = $_POST['title'];
$image = $_POST['image'];
$text = $_POST['text'];
$update = "UPDATE posts SET `title` = '$title', `image` = '$image', `text` = '$text' WHERE id = ".$post_id;
$result = mysqli_query($connect, $update);
return $result;
}
Форма редактирования записи(edit.php):
<div class="container">
<div class="row">
<div class="col-md-12 animated delay-1s fadeIn">
<div class="card my-4">
<h5 class="card-header">Редактирование записи</h5>
<div class="card-body">
<form method="post">
<div class="form-group">
<label for="formGroupExampleInput">Заголовок записи:</label>
<input type="text" class="form-control" value="<?php echo $separate_post['title']; ?>" name="title"><br>
<label for="formGroupExampleInput">Ссылка на изображение:</label>
<input type="text" class="form-control" value="<?php echo $separate_post['image']; ?>" name="image"><br>
<label for="formGroupExampleInput">Текст записи:</label>
<textarea class="form-control" rows="3" name="text" placeholder="Текст..."><?php echo $separate_post['text']; ?></textarea>
</div>
<button type="submit" class="btn btn-primary" style="float:right;">Редактировать</button>
</form>
</div>
</div>
</div>
</div>
</div>
Когда я перехожу на определенную запись по ID из admin.php, открывается edit.php с формой, где в инпутах стоят значения определённой записи (title, text, image).
При редактировании значений и после нажатия на кнопку "Редактировать", обновление в таблице происходит успешно, но инпуты становятся пустыми, после обновления страницы они заполняются обновлёнными значениями (это первый косяк).
А ещё вылазит предупреждение о повторной отправке формы что вполне типично для форм (чёт редирект не прокатил, может неправильно прописал его...), короче я пока хз как это исправить...
Далее, перейдя к определённой записи (из admin.php) на страницу редактирования (к edit.php)
данные в таблице становятся пустыми(title,text,image), то есть они стираются напрочь.
Где я накосячил?
Заранее спасибо, всех благ! :)