【Laravel】画面で入力した値をRequestを使って遷移先の画面に表示する方法を解説します

こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。

この記事では、 PHPのフレームワークの1つであるLaravelで画面で入力した内容をRequestを使って遷移先の画面に表示する方法を丁寧に解説していきます。

前提条件:実行環境について

実行環境は以下の通りです。

OS Windows10
Laravelのバージョン 8.10.0

この記事では

C:\Laravel\LaravelSample

配下にLaravelのプロジェクトを作成しています。

  • テキストボックス
  • ボタン

を表示するために、Formファザードを使用しています。
インストールするやり方は、以下の記事をご参考ください。

画面で入力した内容をRequestを使って遷移先の画面に表示する方法

画面で入力した内容をRequestを使って遷移先の画面に表示する方法を解説します。

  1. 画面で入力された値を渡す方法
  2. コントローラーでRequestで渡された値を取得する方法

という順番で解説します。

画面で入力された値を渡す方法

BladeビューでFormタグを作成するには、Formファザードを使い、

  • method
  • url

を指定します。
テキストボックスはForm::openのネストの中で設定します。
以下は指定のサンプルです。

Formファザードでテキストボックスを作成する方法とコントローラーへのルーティングの設定は、以下の記事をご参考ください。

コントローラーでRequestで渡された値を取得する方法

コントローラーでRequestで渡された値を取得するには、メソッドの引数にRequestを設定し、そのRequestをinput関数を使って値を取得します。
以下は指定のサンプルです。

Requestを使うためには

をuseする必要があります。

コントローラーからBladeビューに値を渡すには

と、view関数の第一引数に遷移先のBladeビュー、第二引数に渡したい値を連想配列で設定します。

パラメータを取得する方法とコントローラーからBladeビューに値を渡す詳細な解説については、こちらの記事をご参考ください。

では、次の章で実際に使ってみます。

画面で入力した内容をRequestを使って遷移先の画面に表示するやり方を解説するプログラムの概要

画面で入力した内容をRequestを使って遷移先の画面に表示するやり方を解説するプログラムは、

  • コントローラー
  • 入力用のBladeビュー
  • 出力用のBladeビュー
  • web.php

4つを使います。

コントローラーは名前を【SampleController.php】とし、Requestから入力値を取得し、出力用のBladeビューに渡します。

Bladeビューは

  • 入力用:sample.blade.php
  • 出力用:sampletransition.blade.php

とし、どちらもviewsディレクトリ直下に格納します。

入力用の【sample.blade.php】は、ボタンを押すと【sampletransition】が走るようルートを設定します。

web.phpには、以下の内容で定義します。

アクセスするURI 呼ぶコントローラー どういう関数を呼ぶのか
http://〇〇.〇〇.〇〇:8000/sample SampleController 入力用の【sample.blade.php】を表示する
http://〇〇.〇〇.〇〇:8000/sampletransition SampleController 出力用の【sampletransition.blade.php】を表示する

ちなみにweb.phpとは、ルーティングを定義することができるファイルです。
詳しくはこちらの記事をご参考ください。

コントローラー:SampleController.phpのサンプルプログラム

入力用Bladeビュー:sample.blade.phpのサンプルプログラム

出力用Bladeビュー:sampletransition.blade.phpのサンプルプログラム

web.phpのサンプルプログラム

実行して確認

画面で入力した内容をRequestを使って遷移先の画面に表示することができるのかを実行して確認します。
Laravelでサーバーを立ち上げるコマンドは

です。
サーバーを立ち上げるコマンドの詳細な説明は、こちらの記事をご参考ください。

  • http://〇〇〇.〇〇〇.〇〇〇.〇〇〇:8000/sample
    ※コマンドプロンプトに記載されているURL
  • http://localhost:8000/sample

どちらかのURLにアクセスすれば、入力画面が表示されます。

右クリックして、【ページのソースを表示】をすると、以下のようにHTMLが展開されています。

  • ユーザー名:田中
  • 年齢:45

を入力し、ボタンを押します。

入力した値を取得して、出力用の【sampletransition.blade.php】に遷移して、表示していることが確認できました!

まとめ:画面で入力した内容をRequestを使って遷移先の画面に表示してみよう

以上がLaravelで画面で入力した内容をRequestを使って遷移先の画面に表示するやり方の解説でした!

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

コメント

タイトルとURLをコピーしました