@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
Нужно после сохранения делать редирект. Потому что при обновлении страницы браузер посылает запрос повторно.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы