Редактирую статью, при нажатии выдает статью и её текст в полях, если нажимаю "Изменить" то статья редактируется как надо, если нажимаю "Отменить редактирование", то статья и все что в ней было кроме id и даты создания исчезает, почему так? PHP: <?php require_once ("MySiteDB.php"); $note_id = $_GET['note']; $query = "SELECT * FROM notes WHERE id = $note_id"; $result = mysqli_query ($link, $query); $edit_note = mysqli_fetch_array ($result); ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <form method="post" name='editnote'> <p>Заголовок заметки: <input type="text" name="title" value = "<?php echo $edit_note['title'];?>" /></p> <p>Текст заметки:<textarea name="article"> <?php echo $edit_note['article'];?></textarea></p> <input type="hidden" name = "note" value="<?php echo $edit_note['id']?>" /> <input type="submit" name="submit" value="Изменить" /> </form> <a href = "default.php"> На главную </a> <br> <a href = 'comments.php?note=<?php echo $note_id; ?>'>Отменить редактирование</a> </body> </html> <?php $title = $_POST['title']; $article = $_POST['article']; $update_query = "UPDATE notes SET title = '$title', article = '$article' WHERE id = $note_id"; $update_result = mysqli_query ($link, $update_query); ?>
@Hoprock, в ссылку "отменить" подставляете параметр, полученный методом get, которого нет, если загрузка страницы выполнена после нажатия кнопки "изменить". Кроме того, обновление статьи в базе выполняется всегда, после выдачи браузеру данных о статье. Не считая, конечно, "мелочей", связанных с sql-инъекциями и способностью браузера обновить страницу по запросу пользователя (попробуйте, после submit'а формы). То есть, сначала надо проверить входные данные (filter_input(), или filter_input_array()), затем - либо обновить статью в базе (если была нажата кнопка "изменить", либо не обновлять, и после - получить недостающие данные из базы и показать форму. А в запросах к базе использовать, например, подготовленные выражения (prepared statements) вместо прямой подстановки переменных. --- Добавлено --- А для возврата полей формы к исходному состоянию (данным, которые они имели при загрузке страницы), существует кнопка с type='reset'