Help us understand the problem. What is going on with this article?

<自分メモ>PHP 投稿画面でリロードすると再度登録されてしまう

環境
MySQL 5.7.30
PHP 7.3.21

現状
投稿画面で投稿後、リロードすると投稿した内容が再度登録されてしまう。

ヒントになった事

var_dump();を投稿画面のファイルに記入

GETが表示される

なので、POSTした時に何か対処することに。

解決

投稿画面(board.php)で読み込んでいる、PHPファイル(create.php)に、送信したとき、POSTだったら投稿画面(board.php)を読み込むとすれば完了!

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $board = [
        'nickname' => $_POST['nickname'],
        'message' => $_POST['message'],
    ];
    header('Location: board.php');
}

参考記事
【PHP】PHPでリロード対策をして二重投稿を防止しよう
https://the-zombis.sakura.ne.jp/wp/blog/2014/07/11/post-2139/

後、数えきれないぐらい関連記事を参考にしました笑
そして、他のやり方もあります!

課題は入力値が残らなくなってしまったのでどこかのタイミングで直します!

何かご指摘いただけたらありがたいです!

sakuma-s-Qiita
さくま@ 30歳エンジニア転職目指し中です!
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away