PHP: <? if (!isset($id)) {$result = mysqli_query($db, "SELECT id,title FROM `lesson`"); $myrow = mysqli_fetch_array($result); do {printf ("<p><a href='edit_lesson.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["title"]);} while ($myrow = mysqli_fetch_array($result));} else { $result = mysqli_query($db, "SELECT * FROM `lesson` WHERE id=$id"); $myrow = mysqli_fetch_array($result); print <<<HERE <form name="form1" method="POST" action="update_lesson.php"> <p> <label>Введите название инструкции<br> <input name="title" type="text" id="title" value="$myrow[title]"> </label> </p> <p> <label>Введите краткое описание Инструкции<br> <input type="text" name="meta_d" id="meta_d" value="$myrow[meta_d]"> </label> </p> <p> <label>Введите ключевые слова<br> <input type="text" name="meta_k" id="meta_k" value="$myrow[meta_k]"> </label> </p> <p> <label>Введите дату добавления инструкции<br> <input name="date" type="text" id="date" value="2023-08-01" value="$myrow[date]"> </label> </p> <p> <label>Ведите краткое описание инструкции с тэгами абзацев<br> <textarea name="discription" id="discription" cols="100" rows="5">$myrow[discription]</textarea> </label> </p> <p> <label>Введите полный текст инструкции с тэгами<br> <textarea name="text" id="text" cols="100" rows="20">$myrow[text]</textarea> </label> </p> <p> <label> <input type="submit" name="submit" id="submit" value="Сохранить изменения"> </label> </p> </form> HERE; } ?> сам обработчик PHP: <?php if (isset($title) && isset($meta_d) && isset($meta_k) && isset($date) && isset($discription) && isset($text)) {$result = mysqli_query ($db, "UPDATE lesson SET title='$title', meta_d='$meta_d', meta_k='$meta_k', date='$date', discription='$discription', text='$text' WHERE id=$id"); if ($result == 'true') {echo "<p>Ваша инструкция обновлена!</p>";} else {echo "<p>Ваша инструкция не обновлена!</p>";}} else {echo "<p>Вы ввели не всю информацию, поэтому инструкция в базе не может быть обновлена.</p>";} ?>
1. Просмотрите исходный код формы. Есть ли в нем необходимый параметр. И передайте форму 2. Замените ваш обработчик на простейший (print_r($_POST)) и убедитесь, что вышеупомянутые данные в выводе присутствуют.
А по какому источнику учишь пыху? Такое впечатление, что код рассчитан на register_globals on, а это лет 12 назад как устарело. Сейчас используются суперглобальные массивы $_POST, $_GET
сделал файлы добавление и удаления - все работает. А обновление при присвоении ID нет. если удаляю WHERE id=$id изменяет все данные в базе. Вывод, что id не передается в обработчик. Сижу уже два над этим найти ошибку не могу. Я понимаю что уже есть новые, но мне необходимо именно по этой обучалки. Спасибо заранее!!
В экскрементах доисторического предка слона никому копаться не интересно. Тут даже не понятно, откуда берется $id. Обычно из адреса, т.е. GET-параметра, но ХЗ как тут. Обучалка по-любому фиговая. На свалку! --- Добавлено --- А вообще сейчас id-шники прямо в путях указывают. Пример: g09.ru/page (тут id-шник символьный, т.е. слаг, но это пофиг). Редактирую эту страницу, например, по адресу g09.ru/pages/page (пример формы): PHP: <?php extra('head-section',' <style type="text/css"> input { display: block; } </style>'); ?> <h1>ID: <?= $page['id'] ?></h1> <form method="post"> <input type="text" name="name" value="<?= htmlspecialchars($page['name']) ?>"> <textarea name="content"><?= htmlspecialchars($page['content']) ?></textarea> </form> По этому же адресу можно и сохранять (POST'ом). Когда нет атрибута action или он пустой, так и происходит.
Спасибо. Я понял. Буду искать обучалки.... Впринципе я понял примерно что надо сделать. еще раз спасибо!