2017-01-19 1 views
0

私はLaravel 5で、このようなURLを持っている:私はこのURLを入力するとユーザーをカスタムURL(表示)にリダイレクトする方法

domain.com/search-user/[email protected] 

、それが自動的に与えられた電子メールでデータを検索します。

他のコントローラのユーザーをこのURLにどのようにリダイレクトする必要がありますか?

私が試してみましたが、それは動作しません:

return view(‘controller.search-user')->with('email', $request->email); 

マイroutesファイル:

Route::post('/search-user', '[email protected]'); 
Route::get('/search-user/{email}', '[email protected]'); 

-------解決しよう---------私はこれがうまくいくと思います

return \Redirect::to('http://domain.com/search-user/'.$request->email); 

答えて

0

: - のみ、このコード(多分それはベストプラクティスではありませんが、他のソリューションに働いていなかった)の問題を解決しました。これは@see here%40への変更なので、あなたはこの要求を扱う場所でそれを交換する必要があること

return url('/search-user/' . urlencode($request->email)); 

注意。 「電子メール」は、適切なルートパラメータであると仮定すると

return redirect()->route('search-user', ['email' => $request->email]); 

:Loekはあなたがredirect()->route()方法

例を使用してルートの引数を設定することができます答えものに代わり

0

詳細:あなたはそれのためのルートを持っている場合はhttps://laravel.com/docs/5.3/redirects

+0

ありがとうございますが、このようなエラーが表示されます。「UrlGenerator.php行のInvalidArgumentException 314:ルート[search-user]が定義されていません」 P.S私はまた、ルートファイル情報をプライマリトピックに含めました。 –

0

は、あなたがこのような何かを行うことができ、

return \Redirect::route('search-user/[email protected]'); 
+0

ありがとうございますが、私はそのようなエラーが発生します: "UrlGenerator.php行のInvalidArgumentException 314:ルート[検索ユーザー]が定義されていません。"また、私はこれを試してみました:return \ Redirect :: route( 'tnt6week-list.search-user') - >( 'email'、$ request-> email);しかし、同じエラー。 –

+0

はい、そういうわけで私はあなたにそれのためのルートがあるかどうか尋ねましたか?それでは、どのようにその視点に行くのですか? – LearningNew

+0

あなたのルートを見ると、あなたはあなたがルート内の{email}を通過したことがわかります。リダイレクトは次のようになります。Redirect :: route('search-user/[email protected] ');または類似。私も私の答えを編集 – LearningNew

0

私はこのために$ _GETを使用することをお勧めし、その代わりとしてURLを持つのでしょうあなたはを処理しているように、

domain.com/search-user/[email protected]

をそして、あなたのコードを変更します。あなたはそれを持って、代わりにこれを行います。これは、リダイレクトの問題に役立ちます。

関連する問題