🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

763閲覧

入力フォームから入力された値をview側で表示する方法

twinparadox

総合スコア42

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2019/12/03 03:45

編集2019/12/03 05:29

ミドルウェアを使用してクライアントから送信された値をview側で表示させたいのですが
具体的な方法が思いつきません。。。
どなたかご教示頂けないでしょうか?

※追記
「ユーザー新規登録ページ」の名前フォームに入力された値を「ホームページ」で取得したいと考えました。

ミドルウェアを使用してどのようにデータを保管、取得すれば良いのかが分かりませんでした。

そもそもミドルウェアを使用するだけでは実装出来ずクッキーを使用して実装する
↑ここまできました。

クッキーを使用することが正解かどうかは分かりませんが自分で進めてみたいと思います。

web.php

Route::get('Login', 'UserController@Login')->name('Login'); Route::get('Signup', 'UserController@Signup')->name('Signup'); Route::get('Home', 'UserController@Home')->name('Home');

UserController.php

namespace App\Http\Controllers; use Illuminate\Http\Request; class UserController extends Controller { public function Login() { return view('Lessons.Login'); } public function Signup() { return view('Lessons.Signup'); } public function Home() { return view('Lessons.Home'); } }

Home.blade.php

<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>home</title> <link rel="stylesheet" type="text/css" href="login.css" media="all" /> <style> .top-username { position: absolute; right: 120px; top: 18px; color: lightcoral; text-decoration: none; } .top-logout { position: absolute; right: 30px; top: 18px; color: lightcoral; text-decoration: none; } #form { background: #053352; background-image: -webkit-linear-gradient(top, #053352, Courier New); background-image: -moz-linear-gradient(top, #053352, Courier New); background-image: -ms-linear-gradient(top, #053352, Courier New); background-image: -o-linear-gradient(top, #053352, Courier New); background-image: linear-gradient(to bottom, #053352, Courier New); -webkit-border-radius: 6; -moz-border-radius: 6; border-radius: 6px; font-family: Courier New; color: #ffffff; font-size: 30px; padding: 20px 20px 20px 20px; text-decoration: none; text-align: center; } </style> </head> <body> <p><a class="top-username" href={{ route('Home')}}>Username</a></p> <p><a class="top-logout" href={{ route('Login')}}>Logout</a></p> <br> <br> <br> <br> <br> <br> <div id="form"> <p>Welcome!Your Home!</p> <form method="POST" action="/Home"> </form> </div> </body> </html>

Signup.blade.php

@extends('layouts.Loginapp') @section('title') SignUp @endsection @section('form') <p>Name</p> <p class="name"><input type="text" name="name" maxlength="32" autocomplete="OFF" /></p> <p>Mailaddress</p> <p class="mailaddress"><input type="text" name="mailaddress" maxlength="32" autocomplete="OFF" /></p> <p>Password</p> <p class="password"><input type="password" name="password" maxlength="32" autocomplete="OFF" /></p> <p>Confirm Password</p> <p class="Confirm password"><input type="password" name="Confirm password" maxlength="32" autocomplete="OFF" /></p> <p class="submit"><input type="submit" value="登録" class="top-username" href={{ route('Home')}}></p> @endsection

Loginapp.blade.php

<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>@yield('title')</title> <link rel="stylesheet" type="text/css" href="login.css" media="all" /> <style> body, p, form, input { margin: 0 } .top-login { position: absolute; right: 120px; top: 18px; color: lightcoral; text-decoration: none; } .top-signup { position: absolute; right: 30px; top: 18px; color: lightcoral; text-decoration: none; } #form { width: 350px; margin: 30px auto; padding: 20px; border: 1px solid #555; } form p { font-size: 14px; } .form-title { font-size: 30px; text-align: center; margin-bottom: 20px; border-bottom: solid 3px #fff; " } .name { margin-bottom: 20px; } .mailaddress { margin-bottom: 20px; } .password { margin-bottom: 20px; } .confirm password { margin-bottom: 20px; } input[type="text"], input[type="password"] { width: 350px; padding: 4px; font-size: 14px; margin: 0 auto; } .submit { text-align: center; } /* skin */ #form { background: #053352; background-image: -webkit-linear-gradient(top, #053352, Courier New); background-image: -moz-linear-gradient(top, #053352, Courier New); background-image: -ms-linear-gradient(top, #053352, Courier New); background-image: -o-linear-gradient(top, #053352, Courier New); background-image: linear-gradient(to bottom, #053352, Courier New); -webkit-border-radius: 6; -moz-border-radius: 6; border-radius: 6px; font-family: Courier New; color: #ffffff; font-size: 20px; padding: 20px 20px 20px 20px; text-decoration: none; } .submit input { background: #f78181; background-image: -webkit-linear-gradient(top, #f78181, #f78181); background-image: -moz-linear-gradient(top, #f78181, #f78181); background-image: -ms-linear-gradient(top, #f78181, #f78181); background-image: -o-linear-gradient(top, #f78181, #f78181); background-image: linear-gradient(to bottom, #f78181, #f78181); -webkit-border-radius: 8; -moz-border-radius: 8; border-radius: 8px; -webkit-box-shadow: 1px 1px 3px #666666; -moz-box-shadow: 1px 1px 3px #666666; box-shadow: 1px 1px 3px #666666; font-family: Courier New; color: #ffffff; font-size: 16px; padding: 10px 20px 10px 20px; text-decoration: none; } .submit input:hover { background: #f5c7c7; background-image: -webkit-linear-gradient(top, #f5c7c7, #f5c7c7); background-image: -moz-linear-gradient(top, #f5c7c7, #f5c7c7); background-image: -ms-linear-gradient(top, #f5c7c7, #f5c7c7); background-image: -o-linear-gradient(top, #f5c7c7, #f5c7c7); background-image: linear-gradient(to bottom, #f5c7c7, #f5c7c7); text-decoration: none; } #form { background: #053352; background-image: -webkit-linear-gradient(top, #053352, Courier New); background-image: -moz-linear-gradient(top, #053352, Courier New); background-image: -ms-linear-gradient(top, #053352, Courier New); background-image: -o-linear-gradient(top, #053352, Courier New); background-image: linear-gradient(to bottom, #053352, Courier New); -webkit-border-radius: 6; -moz-border-radius: 6; border-radius: 6px; font-family: Courier New; color: #ffffff; font-size: 20px; padding: 20px 20px 20px 20px; text-decoration: none; } </style> </head> <body> <p><a class="top-login" href={{ route('Login')}}>Login</a></p> <p><a class="top-signup" href={{ route('Signup')}}>Sign up</a></p> <br> <br> <br> <br> <br> <br> <div id="form"> <p>@yield('title')</p> <form method="GET" action="/Home"> @yield('form') </form> </div> </body> </html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/12/03 04:26

Laravelドキュメントは確認されたのでしょうか。 こういうものは「自分で考える」のではなく「フレームワークの仕様に則って実装する」以外に選択肢はないと思うのですが
twinparadox

2019/12/03 04:34

読みました。上手く理解出来ませんでした。 もう少しじっくりと読んで見ます。
退会済みユーザー

退会済みユーザー

2019/12/03 04:41

何がわからなくて困っているのか読み取れないです。 何をしたいのか、何に困っているのかを説明してください。
m.ts10806

2019/12/03 04:44 編集

どこを読んでいるかにもよります。 サンプルコードもあるので動かしてみないことには理解にも繋がらないと思います。 Kosuke_Shibuyaさんの指摘もあわせて質問本文に記載してください。 「簡単そうに見えるけど質問者の理解度や実現度が不明瞭な質問」って答えにくいのです。
guest

回答1

0

ベストアンサー

「ユーザー新規登録ページ」の名前フォームに入力された値を「ホームページ」で取得したいと考えました。

これはさすがに、middleware でやることではないでしょう。
普通にcontroller で受けといれば良いだけです。


php

1namespace App\Http\Controllers; 2 3use Illuminate\Http\Request; 4 5class UserController extends Controller 6{ 7 public function Login() 8 { 9 return view('Lessons.Login'); 10 } 11 12 public function Signup() 13 { 14 return view('Lessons.Signup'); 15 } 16 17 public function Home(Request $request) 18 { 19 $name = $request->input('name'); 20 return view('Lessons.Home', compact('name')); 21 } 22}

投稿2019/12/03 04:57

編集2019/12/03 06:04
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/12/03 05:00 編集

なぜ、middlewareで処理するのが良いと考えたのでしょうか? 実はここが合点行かなかったこともあり、「何をしたいのか、何に困っているのかを説明してください。 」と依頼しました。
twinparadox

2019/12/03 05:18

middlewareの学習内容をこなした後に 要件を伝えられアウトプットしてと課題が出ましたので、middlewareを使うものだと勘違いしていました。 普通にコントローラーで受け取れば良いだけ。。。とありますが、それが具体的に思い浮かびません。。。
退会済みユーザー

退会済みユーザー

2019/12/03 05:20

あなたの理解度がわからないので、現状のコードを提示してください。
twinparadox

2019/12/03 05:30

提示しました。ご確認頂けると嬉しいです。
退会済みユーザー

退会済みユーザー

2019/12/03 05:32

どの値をどのViewで受け取りたいのですか?
twinparadox

2019/12/03 08:29 編集

signup.blade.phpのname入力フォームに入力された値をhome.blade.phpで受け取りたいです。
退会済みユーザー

退会済みユーザー

2019/12/03 08:30

回答は既に更新済みです。
twinparadox

2019/12/03 08:35

ありがとうございます! 早速帰って動かしてみたいと思います。またどうして動くのかしっかり復習も行っていきたいです。 貴重なお時間を使って頂きありがとうございます????
twinparadox

2019/12/04 02:34

動きました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問