@Pavl-85

Почему не удаляется запись из гостевой книги на странице в браузере и в базе данных?

Добрый день!
Есть такой код:
<?php
/* Основные настройки */
define('DB_HOST', 'localhost');
define('DB_LOGIN', 'root');
define('DB_PASSWORD', '');
define('DB_NAME', 'gbook');

$link = mysqli_connect(DB_HOST, DB_LOGIN, DB_PASSWORD, DB_NAME) or die('ERROR');
/* Основные настройки */

/* Сохранение записи в БД */

if($_SERVER['REQUEST_METHOD'] == 'POST'){ //проверка отправки формы
    echo 'Форма отправлена' . '<br>';

    $name = strip_tags($_POST["name"]);
    $email = strip_tags($_POST["email"]);
    $msg = strip_tags($_POST["msg"]);

    echo '<br>';

    //echo $name . ' ' . $email . ' ' . $msg;

    $res = "INSERT INTO `msgs` (name, email, msg) VALUES ('$name', '$email', '$msg')";

    mysqli_query($link, $res);
}


/* Сохранение записи в БД */

/* Удаление записи из БД */
if(isset($_GET['id']) == 'gbook' && $_GET['del'] == 'id'){
    echo 'Удаление';

    $query_del ="DELETE FROM msgs WHERE id = $id";

    mysqli_query($link, $query_del);
}

/* Удаление записи из БД */
?>
    <h3>Оставьте запись в нашей Гостевой книге</h3>

    <form method="post" action="<?= $_SERVER['REQUEST_URI']?>">
        Имя: <br /><input type="text" name="name" /><br />
        Email: <br /><input type="text" name="email" /><br />
        Сообщение: <br /><textarea name="msg"></textarea><br />

        <br />

        <input type="submit" value="Отправить!" />

    </form>
<?php
/* Вывод записей из БД */
$show = "SELECT id, name, email, msg, UNIX_TIMESTAMP(datetime) as dt FROM msgs ORDER BY id DESC";
$res_show = mysqli_query($link, $show);
//$row = mysqli_fetch_all($res_show, MYSQLI_ASSOC);

$count = 0; //всего записей

while($row = mysqli_fetch_array($res_show, MYSQLI_ASSOC)){
    $count++;
    echo 'Идентификатор: ' . $bd_id = $row['id'] . '<br>';
    echo 'Имя: ' . $bd_name = $row['name'] . '<br>';
    echo 'Email: ' . $bd_email = $row['email'] . '<br>';
    echo 'Сообщение: ' . $bd_msg = $row['msg']  .'<br>';
    echo '<a href="' . 'http://localhost/mysite.local/index.php?id=gbook&del=' .$row['id'] . '">Удалить</a>';
    echo '<br>';
    echo '<hr>';
}

echo '<p>Всего записей в гостевой книге: ' . $count . '</p>'  . '<br>';

mysqli_close($link);

?>


В этом коде не работает часть, где необходимо удалить запись из гостевой книги, чтобы её не было в базе данных и, соответственно, со страницы в браузере. То есть. с добавлением записи в базу данных и выводом на страницу в браузере проблемы нет. Не работает, именно, удаление. Когда я нажимаю "Удалить" определённую запись, то запись не удаляется, а только обновляется страница без каких-либо изменений, а в адресной строке браузера появляется, например, mysite.local/index.php?id=gbook&del=1, если выбираю запись с id = 1. Вроде, всё логично, как мне кажется, но запись не удаляется.
Если Вы видите ошибку в коде, то, подскажите пожалуйста, где она?
Спасибо!
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы