Laravel7 入力フォーム->確認ページ->完了ページの実装の仕方

入力フォームからsubmitで完了ページは値の保持が必要なく実装はとても楽である。
しかし、確認ページを挟む場合は値を保持しておく必要がある。
sessionに値を出し入れするController部分のメモ。

入力フォーム

確認ページの「戻る」ボタンのURLパラメータに”back”を付けておき判断出来るようにしておく。
“back”があれば、sessionから入力値を取り出す。

    // 入力フォーム
    public function input(Request $request)
    {
        // 確認画面から戻ってきた時は値を復元
        if($request->has('back')) return $input = $request->session()->get('input');
        else                      return $input = array();

        return view('user.entry.input',
            compact(
                'input',
            )
        );
    }

■確認ページ

    public function confirm(Request $request)
    {
        // submitされた変数を全て取り出す
        $input = $request->all();
        // 取り出した変数を"input"という名前でセッションに保存ける
        $request->session()->put("input", $input);

        return view('user.entry.confirm',
            compact(
                // viewにも渡す
                'input',
            )
        );
    }

■完了ページ

    public function complete(Request $request)
    {
        // 入力された値をセッションから取り出す
        $input = $request->session()->get("input");

        // 完了処理を行う
           ・
           ・
           ・

        return view('user.entry.complete');

    }

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です