@truexizt1
Back-end разработчик

При обновлении страницы создаётся одна и таже новость. Что делать?

При обновлении страницы создаётся одна и таже новость. Что делать?
При нажатии на кнопку создать новость, новость создаётся, но при обновлении страницы опять создаётся ещё 1 такая же новость с таким же айди.
И выводить Success должно при нажатии кнопки, а выводит сразу. Что делать?
index.php:
<?php

session_start();

include_once "set.php";

include "add_news.php";

?>
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" href="../css/styles.css">
</head>
<body>

<form name="form1" method="post" action="<? echo $PHP_SELF; ?>">
    <table>
        <tr>
            <td>Title:</td>
            <td><input name="title" type="text"></td>
        </tr>
        <tr>
            <td>Content:</td>
            <td><textarea name="content"></textarea></td>
        </tr>
        <tr>
            <td><div>
                    <input type="checkbox" name="pin">
                    <input name="add_news" type="submit" value="Submit">
                </div></td>
        </tr>
    </table>
</form>

<div class="news">
    <?php
    $query = "SELECT * FROM `news` ORDER BY pin DESC";
    $result = mysqli_query($connect, $query);

    while($row1 = mysqli_fetch_array($result)) {
        $title = $row1['title'];
        $content = $row1['content'];
        $id = $row1['id'];
        echo "<div class=\"one-of-news\">Заголовок новости: " . $title . "<br>Контент: " . $content . "<br>Номер новости: " . $id . "</div><br>";
    }
    ?>
</div>
</body>
</html>

add_news.php
<?php

$add = $_POST['add_news'];
$content = $_POST['content'];
$title = $_POST['title'];
$pin = $_POST['pin'];

if(isset($add)){
    $query = "INSERT INTO news(title, content, pin) VALUES ('$title', '$content', '0')";
    $result = mysqli_query($connect, $query);
    if(!$result){
        echo('Error adding news.');
        exit();
    }
    else {
        echo "Success";
    }
}
  • Вопрос задан
  • 295 просмотров
Пригласить эксперта
Ответы на вопрос 1
@DuD
Нужно после сохранения делать редирект. Потому что при обновлении страницы браузер посылает запрос повторно.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
17 мая 2024, в 22:37
20000 руб./за проект
17 мая 2024, в 22:33
1000 руб./за проект
17 мая 2024, в 22:30
5000 руб./за проект