質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Laravel

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

Laravel 5

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

Q&A

2回答

13884閲覧

【laravel】Sorry, the page you are looking for could not be found.と出て、次のページに進めない。

退会済みユーザー

退会済みユーザー

総合スコア0

Laravel

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

Laravel 5

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

0グッド

1クリップ

投稿2017/07/17 08:52

編集2017/07/19 01:30

###前提・実現したいこと
ご覧くださりありがとうございます。

入力フォームに必要情報を入力した後に、「次へ」で次のページに進めるはずが進むことができないでいます。
その原因と解決策について見つけることができていません。
ご助力いただけますでしょうか。

###発生している問題・エラーメッセージ

Sorry, the page you are looking for could not be found. NotFoundHttpException in RouteServiceProvider.php line 53

###該当のソースコード

PHP

1上記のエラーメッセージは下記のコードを指示しています。 2public function map(Router $router) 3{ 4 if (app()->runningInConsole()) return; 5 list($file, $domain) = $this->getDomain(); 6 $file = app_path('routes/'.($file ?: 'routes').'.php'); 7 if (!file_exists($file)) app()->abort(404); 8 Route::group(['namespace'=>$this->namespace], function() use($file, $router) { 9 require_once $file; 10 }); 11 Route::get('{slug?}', function($request){ 12 throw new NotFoundHttpException(request()->fullUrl()); 13 })->where('slug', '.+'); 14} 15

URL

http://portal.localhost/register/account

routes.phpの一部になりますが、該当箇所は以下になると思います。

Route::get('register/{type?}', 'RegisterController@get'); Route::post('register', 'RegisterController@post');
<div class="m-t-15"> <a class="btn btn-grn btn-lg" href="{{$input['url'] or url('register')}}">次へ進む</a> </div>

追記

<form action="{{url('register')}}" method="POST" class="reg-form"> <input type="hidden" name="_token" value="{{csrf_token()}}"> <input type="hidden" name="type" value="{{$type}}"> <input type="hidden" name="stage" value="{{$stage}}"> <div class="reg-elements"> </div> <button type="submit" name="action" value="next" class="btn btn-lg btn-primary btn-block">次へ</button>

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

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

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

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

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

natady

2017/07/18 00:57 編集

差し支えなければブラウザなどから叩いているURLとroutes.phpを追記できますでしょうか?
退会済みユーザー

退会済みユーザー

2017/07/18 00:19

ご回答ありがとうございます。情報を追記いたしました
natady

2017/07/18 00:21

フォームのaction属性の値もよろしければ追記をお願いします。
退会済みユーザー

退会済みユーザー

2017/07/18 00:27

申し訳ございません。laravelは初心者でして、どこをみればactionの値を確認できますでしょうか
natady

2017/07/18 00:33

HTMLの `<form acrion="..." ></form>` の ... に当たる箇所になります。
退会済みユーザー

退会済みユーザー

2017/07/18 00:42

もし「次へ」のボタンのソースコードを仰っているのでしたら、urlで括られております。
natady

2017/07/18 00:56 編集

何度もすみません。(1)エラーが発生する際の href="{{$input['url'] or url('register')}} はどのような値になっていますでしょうか? (2)「入力フォームに必要情報を入力した後に、「次へ」で次のページに進める」と書かれていますが、フォームに入力された情報はどのようにサーバ側で取得されるご予定でしょうか?(「AjaxやAxiosでリクエストを送る」や「submitボタンを押下」、「jsでformをsubmitする」など)
guest

回答2

0

routes.phpのRoute::post('register', 'RegisterController@post');と記述されていますが、
RegisterController.phpにpostというメソッドは記述されているのですか?

indexだったら@postはいらないかもしれませんが。。。

投稿2017/07/21 12:18

tacozu

総合スコア31

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

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

0

Laravel5.4で、RouteServiceProvider近辺を見てみましたが、ソースコードが違っていたので、
route周りはバージョンアップで結構変化している箇所なので、Laravelのバージョンも記載したほうが良いかと思います。

エラーメッセージから、返すべきルートが見つからないというエラーなので、php artisan route:listでアプリのルート設定の現状を確認して、プログラムの遷移と照らしてデバッグすると解決するかと思います。
ルートキャッシュが問題の場合は、php artisan route:clearをするとキャッシュがクリアできます。

投稿2017/07/17 09:28

aro10

総合スコア4106

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

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

退会済みユーザー

退会済みユーザー

2017/07/17 09:58

aro10様 いつもお世話になっております。 laravelのバージョンは5.1.46になります。 キャッシュのクリアは行ったのですが、やはりえらーになってしまいます。 ルート設定の確認はlistのどこをみればよいのでしょうか?
aro10

2017/07/18 05:48

listの意図するところがroute:listコマンドであれば、route:listコマンドを叩くと、表中のMethod列にHTTPメソッドが、URI列にパスが表示されるはずです。
退会済みユーザー

退会済みユーザー

2017/07/18 06:01

cdがlaravelにて「route:list」を打っても Your application doesn't have any routes と出てくるのみなのですが、箇所が誤っているのでしょうか?
aro10

2017/07/18 07:52

関連コードのLaravel5.1のRouteListCommand.phpの$router->getRoutes()で、ルート情報が取得できない時点で、何かしらうまくアプリが構築できていない問題があるので、キャッシュクリアも別のコマンドの artisan cache:clearコマンドが、ユーザー権限によってはうまくキャッシュが消えない事があるので、 sudoをつけてphp artisan route:clearを行うと不正ファイルなどが消えて改善するかもしれません。
退会済みユーザー

退会済みユーザー

2017/07/18 13:05

composer dump-autoloadもファイルの再アップも行ったのですが、それでもみつかっておりません。 他に手段がありますでしょうか?
aro10

2017/07/18 15:39

プロジェクトのソースの状態や設定等があまり良くない状態かもしれず、どこかにデバッグ用に残ったコードが悪影響をしているなど、解決がデバックの技術やフレームワーク内部理解が無いと困難かもしれないので、最終手段として、新規のLaravel5.1プロジェクトに対して、動くことを確認しながら1つずつプログラムを移植していった方が早いかもしれません。
退会済みユーザー

退会済みユーザー

2017/07/19 00:20

aro10様 ご回答ありがとうございます。 こちらでの明確な状況把握ができました。 一つのform.blade.phpで、2つの入力フォームを用いていました。 具体的には、最初のform.bladeは正常に表示されるのですが、次のform.bladeが表示されません。 コードを追記させていただきますので、ご確認いただけないでしょうか。 よろしくお願いいたします。
aro10

2017/07/19 06:54

原理としては、"{{url('register')}}"で、http://アプリのドメイン/register ようのURLをfromのaction属性に対して生成していて、 formでは_tokenでcsrf対策用のミドルウェア用のデータも作成していて、 buttonタグをクリック時に、POSTメソッドでそのURLに送信しているという形なので、 postメソッドで/registerがルータに登録できているかを確認する形で問題解決はシンプルだと思うのですが、php artisan route:clearが動かないのは多分フレームワークの処理がコマンドに行き着くまでの どこかでエラーになっていると思うので、一回vendorフォルダを削除してもう一回composer installをしてみる事や、プロバイダ登録やカーネル登録等でエラーになっていないかなどを確認しないといけないですね
退会済みユーザー

退会済みユーザー

2017/07/19 07:41

ご回答ありがとうございます。 ddした際にエラーが49件表示されるのですが、これらを一つ一つつぶしていく方向性であっていますでしょうか?
aro10

2017/07/19 07:53

そうですね。49件のエラーの表示は多分スタックトレース表示かと思いますが、そこから目星をつけて解決するしか無いですね。 ただプロバイダ登録やカーネル登録等のエラー等はプログラマが追加したコードでの実際のエラー箇所が見つかりにくいところもあるので全く手がかりがない状態だと少し大変です。git等でソース管理をしているのであれば、動く時点のコードと照らし合せると解決が早いかもしれません。
退会済みユーザー

退会済みユーザー

2017/07/19 07:56

承知いたしました。 管理はeclipseで行っておりますので、動く時点での商号は難しく思います
aro10

2017/07/19 10:54 編集

普段はPHPStormを使っているので、ちょっとした差分確認にローカルヒストリー機能が重宝していますが、Eclipseも同様の機能があるみたいなので、Git管理などが難しい場合でも把握しておくと今後の助けになるかもしれません [Eclipseのローカルヒストリー機能でファイルを以前の状態に戻す](http://qiita.com/umeneri/items/a5c0984fc45325c37c2b)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問