Laravel7 フォームのリクエストデータを取得して表示する

Laravel7 フォームのリクエストデータを取得して表示する

Laravel7でフォームデータの取得して表示するサンプルコードを記述してます。デザイン部にはbootstrapを利用してます。

環境

  • OS windows10 pro 64bit
  • Composer 1.10.5
  • PHP 7.4.5
  • MariaDB 10.4.12
  • Laravel Framework 7.6.2

※windows10に Laravel のインストールはこちら
※windows10に Composer のインストールはこちら
※windows10に PHP のインストールはこちら
※windows10に MariaDB のインストールはこちら

bootstrap導入

詳しい手順はこちらに記述してますが、下記のコマンドで利用可能になります。

入力フォーム用コントローラー作成

まずは入力フォームを作成していきます。
「HumanController」という名前でコントローラーを作成します。

app/Http/Controllers/ HumanController.phpが生成されているので、
formメソッドを作成します。

ここでは、view(‘human.form’)としているのでビューは「human」フォルダ配下に「 form.blade.php 」を作成します。
区切り文字「.」でフォルダとファイル名が指定されます。

入力フォーム用ビュー作成

次にレイアウト部であるviewを作成します。

resources\views内で「human」というフォルダを作成して「form.blade.php」を下記の内容で、新たに作成します。

@csrf は Bladeテンプレート機能の1つで、CSRF対策となります。

ルーティング追加

アクセスするURLを設定するため、ルーティングを記述します。
ここでは/formに設定します。

確認

ブラウザから http://localhost:8000/form にアクセスしてみて、form画面が作成されているか確認します。

取得用コントローラー作成

form method=”POST” action=”show” で受け取り先は「/show」になっているので、app/Http/Controllers/HumanController.php にshowメソッドを追加して、リクエストデータを取得します。

取得用ビュー作成

resources\views内で「human」フォルダ配下に「show.blade.php」を下記の内容で、新たに作成します。

ルーティング追加

アクセスするURLを設定するため、 routes配下の「web.php」にルーティングを記述します。
/showに設定します。

確認

ブラウザから http://localhost:8000/form にアクセスしてみて、今度はformに必要データを入力して送信をクリックすると、リクエストデータが取得できていることが確認できます。