Есть лист задач на php, по коду вроде всё верно, не выбивает никакой ошибки, но задания не добавляются в сам лист задач и в БД, вот код, в чём проблема? PHP: <?php $errors = ""; // подключение к БД $db = mysqli_connect('localhost', 'root', 'mysql', 'todo'); if (isset($_POST['submit'])) { $task = $_POST['task']; if (empty($task)) { $errors = "Ты должен что-то записать"; } else { mysqli_query($db, "INSERT INTO tasks (task) VALUES ('$task')"); header('location: index.php'); } } // delete task if (isset($_GET['del_task'])) { $id = $_GET['del_task']; mysqli_query($db, "DELETE FROM tasks WHERE id=$id"); header('location: index.php'); } $tasks = mysqli_query($db, "SELECT * FROM tasks"); ?> <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>Лист задач с PHPMyAdmin</title> <link rel="stylesheet" href="style.css"> </head> <body> <div class="heading"> <h2>Лист задач используя MySQL</h2> </div> <form action="index.php" method="POST"> <?php if (isset($errors)) { ?> <p><?php echo $errors; ?></p> <?php } ?> <input type="text" name="tasks" class="task_input"> <button type="submit" class="add_btn" name="submit">Добавить задание</button> </form> <table> <thead> <tr> <th>N</th> <th>Task</th> <th>Action</th> </tr> </thead> <tbody> <?php $i = 1; while ($row = mysqli_fetch_array($tasks)) { ?> <tr> <td><?php echo $i; ?></td> <td class="task"><?php echo $row['task']; ?></td> <td class="delete"> <a href="index.php?del_task=<?php echo $row['id']; ?>">x</a> </td> </tr> <?php $i++; } ?> </tbody> </table> </body> </html>
Ошибки не выбивает, потому что ты делаешь редирект (после header Location крайне желательно везде повтыкать exit). Да и результат самой вставки не проверяешь. Удаление лучше тоже делать POST-запросом. Нет защиты от SQL-инъекций. Не проверяются результаты подключения к БД и выполнения запросов. Не проверяется наличие непосредственно $_POST['task'].
--- Добавлено --- https://github.com/MouseZver/My-gar...e-zapisyvajutsja-zadanija-v-list-zadach.70961 PHP: <?php error_reporting ( E_ALL ); use Aero\Supports\Lerma; require 'vendor/autoload.php'; if ( $_SERVER['REQUEST_METHOD'] === 'POST' ) { $task = filter_input ( INPUT_POST, 'task', FILTER_SANITIZE_SPECIAL_CHARS, FILTER_NULL_ON_FAILURE ) or die ( '<p>Значение пустое</p>' ); Lerma::prepare( 'INSERT INTO `tasks`( `task` ) VALUES ( ? )', [ $task ] ); } elseif ( $id = filter_input ( INPUT_GET, 'del_task', FILTER_VALIDATE_INT, FILTER_NULL_ON_FAILURE ) ) { Lerma::query( [ 'DELETE FROM `tasks` WHERE id = %d', $id ] ); } $lerma = Lerma::query( 'SELECT * FROM `tasks`' ); ?> <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>Лист задач с PHPMyAdmin</title> <link rel="stylesheet" href="/style.css"> </head> <body> <div class="heading"> <h2>Лист задач используя MySQL</h2> </div> <form action="/index.php" method="POST"> <input type="text" name="task" class="task_input"> <button type="submit" class="add_btn" name="submit">Добавить задание</button> </form> <? if ( $lerma -> rowCount() ) { ?> <table> <thead> <tr> <th>N</th> <th>Task</th> <th>Action</th> </tr> </thead> <tbody> <? $i = 1; echo implode ( PHP_EOL, $lerma -> fetchAll( Lerma::FETCH_FUNC, function ( ...$row ) use ( &$i ) { return sprintf ( '<tr><td>%d</td><td class="task">%s</td><td class="delete"><a href="/index.php?del_task=%d">x</a></td></tr>', $i++, $row[1], $row[0] ); } ) ); ?> </tbody> </table> <? } ?> </body> </html>